Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
e1920d0d
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,体验更适合开发者的 AI 搜索 >>
提交
e1920d0d
编写于
8月 23, 2016
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
extension editor: render commands, menus
上级
4f0f853a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
52 addition
and
0 deletion
+52
-0
src/vs/workbench/parts/extensions/electron-browser/extensionEditor.ts
...ench/parts/extensions/electron-browser/extensionEditor.ts
+52
-0
未找到文件。
src/vs/workbench/parts/extensions/electron-browser/extensionEditor.ts
浏览文件 @
e1920d0d
...
...
@@ -281,6 +281,7 @@ export class ExtensionEditor extends BaseEditor {
const
content
=
append
(
this
.
content
,
$
(
'
div
'
,
{
class
:
'
subcontent
'
}));
ExtensionEditor
.
renderSettings
(
content
,
manifest
);
ExtensionEditor
.
renderCommands
(
content
,
manifest
);
ExtensionEditor
.
renderThemes
(
content
,
manifest
);
ExtensionEditor
.
renderJSONValidation
(
content
,
manifest
);
ExtensionEditor
.
renderDebuggers
(
content
,
manifest
);
...
...
@@ -351,6 +352,57 @@ export class ExtensionEditor extends BaseEditor {
));
}
private
static
renderCommands
(
container
:
HTMLElement
,
manifest
:
IExtensionManifest
):
void
{
interface
Command
{
id
:
string
;
title
:
string
;
menus
:
string
[];
}
const
commands
:
Command
[]
=
(
manifest
.
contributes
.
commands
||
[]).
map
(
c
=>
({
id
:
c
.
command
,
title
:
c
.
title
,
menus
:
[]
}));
const
allCommands
=
commands
.
reduce
<
{
[
id
:
string
]:
Command
}
>
((
r
,
c
)
=>
{
r
[
c
.
id
]
=
c
;
return
r
;
},
{});
const
menus
=
manifest
.
contributes
.
menus
||
{};
Object
.
keys
(
menus
).
forEach
(
context
=>
{
menus
[
context
].
forEach
(
menu
=>
{
let
command
=
allCommands
[
menu
.
command
];
if
(
!
command
)
{
command
=
{
id
:
menu
.
command
,
title
:
''
,
menus
:
[
context
]
};
allCommands
[
command
.
id
]
=
command
;
commands
.
push
(
command
);
}
else
{
command
.
menus
.
push
(
context
);
}
});
});
if
(
!
commands
.
length
)
{
return
;
}
append
(
container
,
$
(
'
details
'
,
{
open
:
true
},
$
(
'
summary
'
,
null
,
localize
(
'
commands
'
,
"
Commands ({0})
"
,
commands
.
length
)),
$
(
'
table
'
,
null
,
$
(
'
tr
'
,
null
,
$
(
'
th
'
,
null
,
localize
(
'
command name
'
,
"
Name
"
)),
$
(
'
th
'
,
null
,
localize
(
'
description
'
,
"
Description
"
)),
$
(
'
th
'
,
null
,
localize
(
'
menuContexts
'
,
"
Menu Contexts
"
))
),
...
commands
.
map
(
c
=>
$
(
'
tr
'
,
null
,
$
(
'
td
'
,
null
,
c
.
id
),
$
(
'
td
'
,
null
,
c
.
title
),
$
(
'
td
'
,
null
,
...
c
.
menus
.
map
(
context
=>
$
(
'
code
'
,
null
,
context
)))
))
)
));
}
private
loadContents
(
loadingTask
:
()
=>
TPromise
<
any
>
):
void
{
this
.
contentDisposables
=
dispose
(
this
.
contentDisposables
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录