Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
f4208eff
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f4208eff
编写于
7月 21, 2017
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
special hover message for command links in the editor, #17545
上级
8977e39e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
46 addition
and
14 deletion
+46
-14
src/vs/editor/contrib/links/browser/links.ts
src/vs/editor/contrib/links/browser/links.ts
+46
-14
未找到文件。
src/vs/editor/contrib/links/browser/links.ts
浏览文件 @
f4208eff
...
...
@@ -33,7 +33,14 @@ const HOVER_MESSAGE_GENERAL_META = (
:
nls
.
localize
(
'
links.navigate
'
,
"
Ctrl + click to follow link
"
)
);
const
HOVER_MESSAGE_COMMAND_META
=
(
platform
.
isMacintosh
?
nls
.
localize
(
'
links.command.mac
'
,
"
Cmd + click to execute command
"
)
:
nls
.
localize
(
'
links.command
'
,
"
Ctrl + click to execute command
"
)
);
const
HOVER_MESSAGE_GENERAL_ALT
=
nls
.
localize
(
'
links.navigate.al
'
,
"
Alt + click to follow link
"
);
const
HOVER_MESSAGE_COMMAND_ALT
=
nls
.
localize
(
'
links.command.al
'
,
"
Alt + click to execute command
"
);
const
decoration
=
{
meta
:
ModelDecorationOptions
.
register
({
...
...
@@ -56,27 +63,52 @@ const decoration = {
inlineClassName
:
'
detected-link-active
'
,
hoverMessage
:
HOVER_MESSAGE_GENERAL_ALT
}),
altCommand
:
ModelDecorationOptions
.
register
({
stickiness
:
editorCommon
.
TrackedRangeStickiness
.
NeverGrowsWhenTypingAtEdges
,
inlineClassName
:
'
detected-link
'
,
hoverMessage
:
HOVER_MESSAGE_COMMAND_ALT
}),
altCommandActive
:
ModelDecorationOptions
.
register
({
stickiness
:
editorCommon
.
TrackedRangeStickiness
.
NeverGrowsWhenTypingAtEdges
,
inlineClassName
:
'
detected-link-active
'
,
hoverMessage
:
HOVER_MESSAGE_COMMAND_ALT
}),
metaCommand
:
ModelDecorationOptions
.
register
({
stickiness
:
editorCommon
.
TrackedRangeStickiness
.
NeverGrowsWhenTypingAtEdges
,
inlineClassName
:
'
detected-link
'
,
hoverMessage
:
HOVER_MESSAGE_COMMAND_META
}),
metaCommandActive
:
ModelDecorationOptions
.
register
({
stickiness
:
editorCommon
.
TrackedRangeStickiness
.
NeverGrowsWhenTypingAtEdges
,
inlineClassName
:
'
detected-link-active
'
,
hoverMessage
:
HOVER_MESSAGE_COMMAND_META
}),
};
class
LinkOccurrence
{
public
static
decoration
(
link
:
Link
,
useMetaKey
:
boolean
):
editorCommon
.
IModelDeltaDecoration
{
return
{
range
:
{
startLineNumber
:
link
.
range
.
startLineNumber
,
startColumn
:
link
.
range
.
startColumn
,
endLineNumber
:
link
.
range
.
endLineNumber
,
endColumn
:
link
.
range
.
endColumn
},
options
:
LinkOccurrence
.
_getOptions
(
useMetaKey
,
false
)
range
:
link
.
range
,
options
:
LinkOccurrence
.
_getOptions
(
link
,
useMetaKey
,
false
)
};
}
private
static
_getOptions
(
useMetaKey
:
boolean
,
isActive
:
boolean
):
ModelDecorationOptions
{
if
(
useMetaKey
)
{
return
(
isActive
?
decoration
.
metaActive
:
decoration
.
meta
);
private
static
_getOptions
(
link
:
Link
,
useMetaKey
:
boolean
,
isActive
:
boolean
):
ModelDecorationOptions
{
if
(
/^command:/i
.
test
(
link
.
url
))
{
if
(
useMetaKey
)
{
return
(
isActive
?
decoration
.
metaCommandActive
:
decoration
.
metaCommand
);
}
else
{
return
(
isActive
?
decoration
.
altCommandActive
:
decoration
.
altCommand
);
}
}
else
{
if
(
useMetaKey
)
{
return
(
isActive
?
decoration
.
metaActive
:
decoration
.
meta
);
}
else
{
return
(
isActive
?
decoration
.
altActive
:
decoration
.
alt
);
}
}
return
(
isActive
?
decoration
.
altActive
:
decoration
.
alt
);
}
public
decorationId
:
string
;
...
...
@@ -88,11 +120,11 @@ class LinkOccurrence {
}
public
activate
(
changeAccessor
:
editorCommon
.
IModelDecorationsChangeAccessor
,
useMetaKey
:
boolean
):
void
{
changeAccessor
.
changeDecorationOptions
(
this
.
decorationId
,
LinkOccurrence
.
_getOptions
(
useMetaKey
,
true
));
changeAccessor
.
changeDecorationOptions
(
this
.
decorationId
,
LinkOccurrence
.
_getOptions
(
this
.
link
,
useMetaKey
,
true
));
}
public
deactivate
(
changeAccessor
:
editorCommon
.
IModelDecorationsChangeAccessor
,
useMetaKey
:
boolean
):
void
{
changeAccessor
.
changeDecorationOptions
(
this
.
decorationId
,
LinkOccurrence
.
_getOptions
(
useMetaKey
,
false
));
changeAccessor
.
changeDecorationOptions
(
this
.
decorationId
,
LinkOccurrence
.
_getOptions
(
this
.
link
,
useMetaKey
,
false
));
}
}
...
...
@@ -385,4 +417,4 @@ registerThemingParticipant((theme, collector) => {
if
(
activeLinkForeground
)
{
collector
.
addRule
(
`.monaco-editor .detected-link-active { color:
${
activeLinkForeground
}
!important; }`
);
}
});
\ No newline at end of file
});
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录