Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
f5004b78
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,发现更多精彩内容 >>
提交
f5004b78
编写于
2月 12, 2018
作者:
I
isidor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
explorer: new file and folder command in command palette
fixes #43363
上级
5d663e0e
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
32 addition
and
18 deletion
+32
-18
src/vs/workbench/parts/files/electron-browser/fileActions.contribution.ts
.../parts/files/electron-browser/fileActions.contribution.ts
+5
-6
src/vs/workbench/parts/files/electron-browser/fileActions.ts
src/vs/workbench/parts/files/electron-browser/fileActions.ts
+27
-12
未找到文件。
src/vs/workbench/parts/files/electron-browser/fileActions.contribution.ts
浏览文件 @
f5004b78
...
...
@@ -16,7 +16,7 @@ import { CommandsRegistry, ICommandHandler } from 'vs/platform/commands/common/c
import
{
ContextKeyExpr
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
KeybindingsRegistry
}
from
'
vs/platform/keybinding/common/keybindingsRegistry
'
;
import
{
isWindows
,
isMacintosh
}
from
'
vs/base/common/platform
'
;
import
{
FilesExplorerFocusCondition
,
ExplorerRootContext
,
ExplorerFolderContext
,
ExplorerFocusedContext
}
from
'
vs/workbench/parts/files/common/files
'
;
import
{
FilesExplorerFocusCondition
,
ExplorerRootContext
,
ExplorerFolderContext
}
from
'
vs/workbench/parts/files/common/files
'
;
import
{
ADD_ROOT_FOLDER_COMMAND_ID
,
ADD_ROOT_FOLDER_LABEL
}
from
'
vs/workbench/browser/actions/workspaceCommands
'
;
import
{
CLOSE_UNMODIFIED_EDITORS_COMMAND_ID
,
CLOSE_EDITORS_IN_GROUP_COMMAND_ID
,
CLOSE_EDITOR_COMMAND_ID
,
CLOSE_OTHER_EDITORS_IN_GROUP_COMMAND_ID
}
from
'
vs/workbench/browser/parts/editor/editorCommands
'
;
import
{
OPEN_FOLDER_SETTINGS_COMMAND
,
OPEN_FOLDER_SETTINGS_LABEL
}
from
'
vs/workbench/parts/preferences/browser/preferencesActions
'
;
...
...
@@ -142,14 +142,13 @@ function appendSaveConflictEditorTitleAction(id: string, title: string, iconPath
// Menu registration - command palette
function
appendToCommandPalette
(
id
:
string
,
title
:
string
,
category
:
string
,
when
?:
ContextKeyExpr
):
void
{
function
appendToCommandPalette
(
id
:
string
,
title
:
string
,
category
:
string
):
void
{
MenuRegistry
.
appendMenuItem
(
MenuId
.
CommandPalette
,
{
command
:
{
id
,
title
,
category
},
when
}
});
}
appendToCommandPalette
(
COPY_PATH_COMMAND_ID
,
nls
.
localize
(
'
copyPathOfActive
'
,
"
Copy Path of Active File
"
),
category
);
...
...
@@ -161,8 +160,8 @@ appendToCommandPalette(COMPARE_WITH_SAVED_COMMAND_ID, nls.localize('compareActiv
appendToCommandPalette
(
REVEAL_IN_OS_COMMAND_ID
,
REVEAL_IN_OS_LABEL
,
category
);
appendToCommandPalette
(
SAVE_FILE_AS_COMMAND_ID
,
SAVE_FILE_AS_LABEL
,
category
);
appendToCommandPalette
(
CLOSE_EDITOR_COMMAND_ID
,
nls
.
localize
(
'
closeEditor
'
,
"
Close Editor
"
),
nls
.
localize
(
'
view
'
,
"
View
"
));
appendToCommandPalette
(
NEW_FILE_COMMAND_ID
,
NEW_FILE_LABEL
,
category
,
ExplorerFocusedContext
);
appendToCommandPalette
(
NEW_FOLDER_COMMAND_ID
,
NEW_FOLDER_LABEL
,
category
,
ExplorerFocusedContext
);
appendToCommandPalette
(
NEW_FILE_COMMAND_ID
,
NEW_FILE_LABEL
,
category
);
appendToCommandPalette
(
NEW_FOLDER_COMMAND_ID
,
NEW_FOLDER_LABEL
,
category
);
...
...
src/vs/workbench/parts/files/electron-browser/fileActions.ts
浏览文件 @
f5004b78
...
...
@@ -1525,27 +1525,42 @@ function getContext(listWidget: ListWidget, viewletService: IViewletService): IE
// TODO@isidor these commands are calling into actions due to the complex inheritance action structure.
// It should be the other way around, that actions call into commands.
function
openExplorerAndRunAction
(
accessor
:
ServicesAccessor
,
isFolderAction
:
boolean
):
TPromise
<
any
>
{
const
instantationService
=
accessor
.
get
(
IInstantiationService
);
const
listService
=
accessor
.
get
(
IListService
);
const
viewletService
=
accessor
.
get
(
IViewletService
);
const
activeViewlet
=
viewletService
.
getActiveViewlet
();
let
explorerPromise
=
TPromise
.
as
(
activeViewlet
);
if
(
!
activeViewlet
||
activeViewlet
.
getId
()
!==
VIEWLET_ID
)
{
explorerPromise
=
viewletService
.
openViewlet
(
VIEWLET_ID
,
true
);
}
return
explorerPromise
.
then
((
explorer
:
ExplorerViewlet
)
=>
{
const
explorerView
=
explorer
.
getExplorerView
();
if
(
explorerView
&&
explorerView
.
isVisible
()
&&
explorerView
.
isExpanded
())
{
explorerView
.
focus
();
const
explorerContext
=
getContext
(
listService
.
lastFocusedList
,
viewletService
);
const
constructor
=
isFolderAction
?
NewFolderAction
:
NewFileAction
;
const
action
=
instantationService
.
createInstance
(
constructor
,
listService
.
lastFocusedList
,
explorerContext
.
stat
);
return
action
.
run
(
explorerContext
);
}
return
undefined
;
});
}
CommandsRegistry
.
registerCommand
({
id
:
NEW_FILE_COMMAND_ID
,
handler
:
(
accessor
)
=>
{
const
instantationService
=
accessor
.
get
(
IInstantiationService
);
const
listService
=
accessor
.
get
(
IListService
);
const
explorerContext
=
getContext
(
listService
.
lastFocusedList
,
accessor
.
get
(
IViewletService
));
const
newFileAction
=
instantationService
.
createInstance
(
NewFileAction
,
listService
.
lastFocusedList
,
explorerContext
.
stat
);
return
newFileAction
.
run
(
explorerContext
);
return
openExplorerAndRunAction
(
accessor
,
false
);
}
});
CommandsRegistry
.
registerCommand
({
id
:
NEW_FOLDER_COMMAND_ID
,
handler
:
(
accessor
)
=>
{
const
instantationService
=
accessor
.
get
(
IInstantiationService
);
const
listService
=
accessor
.
get
(
IListService
);
const
explorerContext
=
getContext
(
listService
.
lastFocusedList
,
accessor
.
get
(
IViewletService
));
const
newFolderAction
=
instantationService
.
createInstance
(
NewFolderAction
,
listService
.
lastFocusedList
,
explorerContext
.
stat
);
return
newFolderAction
.
run
(
explorerContext
);
return
openExplorerAndRunAction
(
accessor
,
true
);
}
});
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录