Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
1d942166
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,发现更多精彩内容 >>
提交
1d942166
编写于
8月 23, 2016
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
extension editor: keybindings
上级
e1920d0d
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
25 addition
and
4 deletion
+25
-4
src/vs/workbench/parts/extensions/electron-browser/extensionEditor.ts
...ench/parts/extensions/electron-browser/extensionEditor.ts
+25
-4
未找到文件。
src/vs/workbench/parts/extensions/electron-browser/extensionEditor.ts
浏览文件 @
1d942166
...
@@ -37,6 +37,8 @@ import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar';
...
@@ -37,6 +37,8 @@ import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar';
import
{
CombinedInstallAction
,
UpdateAction
,
EnableAction
}
from
'
./extensionsActions
'
;
import
{
CombinedInstallAction
,
UpdateAction
,
EnableAction
}
from
'
./extensionsActions
'
;
import
WebView
from
'
vs/workbench/parts/html/browser/webview
'
;
import
WebView
from
'
vs/workbench/parts/html/browser/webview
'
;
import
{
IWorkbenchEditorService
}
from
'
vs/workbench/services/editor/common/editorService
'
;
import
{
IWorkbenchEditorService
}
from
'
vs/workbench/services/editor/common/editorService
'
;
import
{
Keybinding
}
from
'
vs/base/common/keyCodes
'
;
import
{
IKeybindingService
}
from
'
vs/platform/keybinding/common/keybinding
'
;
function
renderBody
(
body
:
string
):
string
{
function
renderBody
(
body
:
string
):
string
{
return
`<!DOCTYPE html>
return
`<!DOCTYPE html>
...
@@ -128,7 +130,8 @@ export class ExtensionEditor extends BaseEditor {
...
@@ -128,7 +130,8 @@ export class ExtensionEditor extends BaseEditor {
@
IViewletService
private
viewletService
:
IViewletService
,
@
IViewletService
private
viewletService
:
IViewletService
,
@
IExtensionsWorkbenchService
private
extensionsWorkbenchService
:
IExtensionsWorkbenchService
,
@
IExtensionsWorkbenchService
private
extensionsWorkbenchService
:
IExtensionsWorkbenchService
,
@
IThemeService
private
themeService
:
IThemeService
,
@
IThemeService
private
themeService
:
IThemeService
,
@
IWorkbenchEditorService
private
editorService
:
IWorkbenchEditorService
@
IWorkbenchEditorService
private
editorService
:
IWorkbenchEditorService
,
@
IKeybindingService
private
keybindingService
:
IKeybindingService
)
{
)
{
super
(
ExtensionEditor
.
ID
,
telemetryService
);
super
(
ExtensionEditor
.
ID
,
telemetryService
);
this
.
_highlight
=
null
;
this
.
_highlight
=
null
;
...
@@ -281,7 +284,7 @@ export class ExtensionEditor extends BaseEditor {
...
@@ -281,7 +284,7 @@ export class ExtensionEditor extends BaseEditor {
const
content
=
append
(
this
.
content
,
$
(
'
div
'
,
{
class
:
'
subcontent
'
}));
const
content
=
append
(
this
.
content
,
$
(
'
div
'
,
{
class
:
'
subcontent
'
}));
ExtensionEditor
.
renderSettings
(
content
,
manifest
);
ExtensionEditor
.
renderSettings
(
content
,
manifest
);
ExtensionEditor
.
renderCommands
(
content
,
manifest
);
this
.
renderCommands
(
content
,
manifest
);
ExtensionEditor
.
renderThemes
(
content
,
manifest
);
ExtensionEditor
.
renderThemes
(
content
,
manifest
);
ExtensionEditor
.
renderJSONValidation
(
content
,
manifest
);
ExtensionEditor
.
renderJSONValidation
(
content
,
manifest
);
ExtensionEditor
.
renderDebuggers
(
content
,
manifest
);
ExtensionEditor
.
renderDebuggers
(
content
,
manifest
);
...
@@ -352,16 +355,18 @@ export class ExtensionEditor extends BaseEditor {
...
@@ -352,16 +355,18 @@ export class ExtensionEditor extends BaseEditor {
));
));
}
}
private
static
renderCommands
(
container
:
HTMLElement
,
manifest
:
IExtensionManifest
):
void
{
private
renderCommands
(
container
:
HTMLElement
,
manifest
:
IExtensionManifest
):
void
{
interface
Command
{
interface
Command
{
id
:
string
;
id
:
string
;
title
:
string
;
title
:
string
;
keybindings
:
string
[];
menus
:
string
[];
menus
:
string
[];
}
}
const
commands
:
Command
[]
=
(
manifest
.
contributes
.
commands
||
[]).
map
(
c
=>
({
const
commands
:
Command
[]
=
(
manifest
.
contributes
.
commands
||
[]).
map
(
c
=>
({
id
:
c
.
command
,
id
:
c
.
command
,
title
:
c
.
title
,
title
:
c
.
title
,
keybindings
:
[],
menus
:
[]
menus
:
[]
}));
}));
...
@@ -373,7 +378,7 @@ export class ExtensionEditor extends BaseEditor {
...
@@ -373,7 +378,7 @@ export class ExtensionEditor extends BaseEditor {
let
command
=
allCommands
[
menu
.
command
];
let
command
=
allCommands
[
menu
.
command
];
if
(
!
command
)
{
if
(
!
command
)
{
command
=
{
id
:
menu
.
command
,
title
:
''
,
menus
:
[
context
]
};
command
=
{
id
:
menu
.
command
,
title
:
''
,
keybindings
:
[],
menus
:
[
context
]
};
allCommands
[
command
.
id
]
=
command
;
allCommands
[
command
.
id
]
=
command
;
commands
.
push
(
command
);
commands
.
push
(
command
);
}
else
{
}
else
{
...
@@ -382,6 +387,20 @@ export class ExtensionEditor extends BaseEditor {
...
@@ -382,6 +387,20 @@ export class ExtensionEditor extends BaseEditor {
});
});
});
});
(
manifest
.
contributes
.
keybindings
||
[]).
forEach
(
userString
=>
{
let
command
=
allCommands
[
userString
.
command
];
const
keybinding
=
new
Keybinding
(
Keybinding
.
fromUserSettingsLabel
(
userString
.
key
));
const
key
=
this
.
keybindingService
.
getLabelFor
(
keybinding
);
if
(
!
command
)
{
command
=
{
id
:
userString
.
command
,
title
:
''
,
keybindings
:
[
key
],
menus
:
[]
};
allCommands
[
command
.
id
]
=
command
;
commands
.
push
(
command
);
}
else
{
command
.
keybindings
.
push
(
key
);
}
});
if
(
!
commands
.
length
)
{
if
(
!
commands
.
length
)
{
return
;
return
;
}
}
...
@@ -392,11 +411,13 @@ export class ExtensionEditor extends BaseEditor {
...
@@ -392,11 +411,13 @@ export class ExtensionEditor extends BaseEditor {
$
(
'
tr
'
,
null
,
$
(
'
tr
'
,
null
,
$
(
'
th
'
,
null
,
localize
(
'
command name
'
,
"
Name
"
)),
$
(
'
th
'
,
null
,
localize
(
'
command name
'
,
"
Name
"
)),
$
(
'
th
'
,
null
,
localize
(
'
description
'
,
"
Description
"
)),
$
(
'
th
'
,
null
,
localize
(
'
description
'
,
"
Description
"
)),
$
(
'
th
'
,
null
,
localize
(
'
keyboard shortcuts
'
,
"
Keyboard Shortcuts
"
)),
$
(
'
th
'
,
null
,
localize
(
'
menuContexts
'
,
"
Menu Contexts
"
))
$
(
'
th
'
,
null
,
localize
(
'
menuContexts
'
,
"
Menu Contexts
"
))
),
),
...
commands
.
map
(
c
=>
$
(
'
tr
'
,
null
,
...
commands
.
map
(
c
=>
$
(
'
tr
'
,
null
,
$
(
'
td
'
,
null
,
c
.
id
),
$
(
'
td
'
,
null
,
c
.
id
),
$
(
'
td
'
,
null
,
c
.
title
),
$
(
'
td
'
,
null
,
c
.
title
),
$
(
'
td
'
,
null
,
...
c
.
keybindings
.
map
(
keybinding
=>
$
(
'
code
'
,
null
,
keybinding
))),
$
(
'
td
'
,
null
,
...
c
.
menus
.
map
(
context
=>
$
(
'
code
'
,
null
,
context
)))
$
(
'
td
'
,
null
,
...
c
.
menus
.
map
(
context
=>
$
(
'
code
'
,
null
,
context
)))
))
))
)
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录