Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
175dc85a
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 搜索 >>
提交
175dc85a
编写于
7月 18, 2017
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
debt - convert workbench action to comand
上级
636ff980
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
28 addition
and
32 deletion
+28
-32
src/vs/workbench/parts/snippets/electron-browser/snippets.contribution.ts
.../parts/snippets/electron-browser/snippets.contribution.ts
+28
-32
未找到文件。
src/vs/workbench/parts/snippets/electron-browser/snippets.contribution.ts
浏览文件 @
175dc85a
...
...
@@ -15,8 +15,8 @@ import { IModeService } from 'vs/editor/common/services/modeService';
import
{
IQuickOpenService
,
IPickOpenEntry
}
from
'
vs/platform/quickOpen/common/quickOpen
'
;
import
{
IWindowsService
}
from
'
vs/platform/windows/common/windows
'
;
import
{
join
}
from
'
path
'
;
import
{
SyncActionDescriptor
}
from
'
vs/platform/actions/common/actions
'
;
import
*
as
actions
from
'
vs/base/common/action
s
'
;
import
{
MenuRegistry
,
MenuId
}
from
'
vs/platform/actions/common/actions
'
;
import
{
CommandsRegistry
}
from
'
vs/platform/commands/common/command
s
'
;
import
*
as
errors
from
'
vs/base/common/errors
'
;
import
*
as
JSONContributionRegistry
from
'
vs/platform/jsonschemas/common/jsonContributionRegistry
'
;
import
*
as
nls
from
'
vs/nls
'
;
...
...
@@ -24,34 +24,27 @@ import * as platform from 'vs/platform/registry/common/platform';
import
*
as
snippetsTracker
from
'
./snippetsTracker
'
;
import
*
as
tmSnippets
from
'
./TMSnippets
'
;
import
*
as
winjs
from
'
vs/base/common/winjs.base
'
;
import
*
as
workbenchActionRegistry
from
'
vs/workbench/common/actionRegistry
'
;
import
*
as
workbenchContributions
from
'
vs/workbench/common/contributions
'
;
class
OpenSnippetsAction
extends
actions
.
Action
{
namespace
OpenSnippets
Action
{
public
static
ID
=
'
workbench.action.openSnippets
'
;
public
static
LABEL
=
nls
.
localize
(
'
openSnippet.label
'
,
"
Open User Snippets
"
);
const
id
=
'
workbench.action.openSnippets
'
;
constructor
(
id
:
string
,
label
:
string
,
@
IEnvironmentService
private
environmentService
:
IEnvironmentService
,
@
IQuickOpenService
private
quickOpenService
:
IQuickOpenService
,
@
IModeService
private
modeService
:
IModeService
,
@
IWindowsService
private
windowsService
:
IWindowsService
)
{
super
(
id
,
label
);
}
CommandsRegistry
.
registerCommand
(
id
,
accessor
=>
{
private
openFile
(
filePath
:
string
):
winjs
.
TPromise
<
void
>
{
return
this
.
windowsService
.
openWindow
([
filePath
],
{
forceReuseWindow
:
true
});
}
const
modeService
=
accessor
.
get
(
IModeService
);
const
quickOpenService
=
accessor
.
get
(
IQuickOpenService
);
const
environmentService
=
accessor
.
get
(
IEnvironmentService
);
const
windowsService
=
accessor
.
get
(
IWindowsService
);
public
run
():
winjs
.
Promise
{
var
modeIds
=
this
.
modeService
.
getRegisteredModes
();
function
openFile
(
filePath
:
string
):
winjs
.
TPromise
<
void
>
{
return
windowsService
.
openWindow
([
filePath
],
{
forceReuseWindow
:
true
});
}
var
modeIds
=
modeService
.
getRegisteredModes
();
var
picks
:
IPickOpenEntry
[]
=
[];
modeIds
.
forEach
((
modeId
)
=>
{
var
name
=
this
.
modeService
.
getLanguageName
(
modeId
);
var
name
=
modeService
.
getLanguageName
(
modeId
);
if
(
name
)
{
picks
.
push
({
label
:
name
,
id
:
modeId
});
}
...
...
@@ -60,12 +53,12 @@ class OpenSnippetsAction extends actions.Action {
e1
.
label
.
localeCompare
(
e2
.
label
)
);
return
this
.
quickOpenService
.
pick
(
picks
,
{
placeHolder
:
nls
.
localize
(
'
openSnippet.pickLanguage
'
,
"
Select Language for Snippet
"
)
}).
then
((
language
)
=>
{
return
quickOpenService
.
pick
(
picks
,
{
placeHolder
:
nls
.
localize
(
'
openSnippet.pickLanguage
'
,
"
Select Language for Snippet
"
)
}).
then
((
language
)
=>
{
if
(
language
)
{
var
snippetPath
=
join
(
this
.
environmentService
.
appSettingsHome
,
'
snippets
'
,
language
.
id
+
'
.json
'
);
var
snippetPath
=
join
(
environmentService
.
appSettingsHome
,
'
snippets
'
,
language
.
id
+
'
.json
'
);
return
fileExists
(
snippetPath
).
then
((
success
)
=>
{
if
(
success
)
{
return
this
.
openFile
(
snippetPath
);
return
openFile
(
snippetPath
);
}
var
defaultContent
=
[
'
{
'
,
...
...
@@ -87,7 +80,7 @@ class OpenSnippetsAction extends actions.Action {
'
}
'
].
join
(
'
\n
'
);
return
writeFile
(
snippetPath
,
defaultContent
).
then
(()
=>
{
return
this
.
openFile
(
snippetPath
);
return
openFile
(
snippetPath
);
},
(
err
)
=>
{
errors
.
onUnexpectedError
(
nls
.
localize
(
'
openSnippet.errorOnCreate
'
,
'
Unable to create {0}
'
,
snippetPath
));
});
...
...
@@ -95,13 +88,16 @@ class OpenSnippetsAction extends actions.Action {
}
return
winjs
.
TPromise
.
as
(
null
);
});
}
}
var
preferencesCategory
=
nls
.
localize
(
'
preferences
'
,
"
Preferences
"
);
var
workbenchActionsRegistry
=
<
workbenchActionRegistry
.
IWorkbenchActionRegistry
>
platform
.
Registry
.
as
(
workbenchActionRegistry
.
Extensions
.
WorkbenchActions
);
});
workbenchActionsRegistry
.
registerWorkbenchAction
(
new
SyncActionDescriptor
(
OpenSnippetsAction
,
OpenSnippetsAction
.
ID
,
OpenSnippetsAction
.
LABEL
),
'
Preferences: Open User Snippets
'
,
preferencesCategory
);
MenuRegistry
.
appendMenuItem
(
MenuId
.
CommandPalette
,
{
command
:
{
id
,
title
:
{
value
:
nls
.
localize
(
'
openSnippet.label
'
,
"
Open User Snippets
"
),
original
:
'
Preferences: Open User Snippets
'
},
category
:
nls
.
localize
(
'
preferences
'
,
"
Preferences
"
)
}
});
}
(
<
workbenchContributions
.
IWorkbenchContributionsRegistry
>
platform
.
Registry
.
as
(
workbenchContributions
.
Extensions
.
Workbench
)).
registerWorkbenchContribution
(
snippetsTracker
.
SnippetsTracker
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录