Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
d6f1ca77
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,发现更多精彩内容 >>
提交
d6f1ca77
编写于
2月 20, 2017
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
avoid extra commands for opening in explorer (for #4557)
上级
64801727
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
27 addition
and
36 deletion
+27
-36
src/vs/workbench/parts/files/browser/fileActions.contribution.ts
...workbench/parts/files/browser/fileActions.contribution.ts
+2
-21
src/vs/workbench/parts/files/browser/fileCommands.ts
src/vs/workbench/parts/files/browser/fileCommands.ts
+0
-3
src/vs/workbench/parts/files/browser/views/explorerView.ts
src/vs/workbench/parts/files/browser/views/explorerView.ts
+7
-0
src/vs/workbench/parts/files/browser/views/explorerViewer.ts
src/vs/workbench/parts/files/browser/views/explorerViewer.ts
+3
-3
src/vs/workbench/parts/files/browser/views/openEditorsView.ts
...vs/workbench/parts/files/browser/views/openEditorsView.ts
+7
-0
src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts
.../workbench/parts/files/browser/views/openEditorsViewer.ts
+8
-8
src/vs/workbench/parts/files/common/files.ts
src/vs/workbench/parts/files/common/files.ts
+0
-1
未找到文件。
src/vs/workbench/parts/files/browser/fileActions.contribution.ts
浏览文件 @
d6f1ca77
...
...
@@ -23,11 +23,11 @@ import { KeyMod, KeyChord, KeyCode } from 'vs/base/common/keyCodes';
import
{
DiffEditorInput
}
from
'
vs/workbench/common/editor/diffEditorInput
'
;
import
{
ResourceEditorInput
}
from
'
vs/workbench/common/editor/resourceEditorInput
'
;
import
{
OpenFolderAction
,
OpenFileFolderAction
}
from
'
vs/workbench/browser/actions/fileActions
'
;
import
{
copyFocusedFilesExplorerViewItem
,
revealInOSFocusedFilesExplorerItem
,
openFocused
OpenedEditorsViewItemCommand
,
openFocusedExplorerItemSideBySideCommand
,
copyPathOfFocusedExplorerItem
,
copyPathCommand
,
revealInExplorerCommand
,
revealInOSCommand
,
openFolderPickerCommand
,
openWindowCommand
,
openFileInNewWindowCommand
,
openFocussedFilesExplorerViewItem
Command
,
deleteFocusedFilesExplorerViewItemCommand
,
moveFocusedFilesExplorerViewItemToTrashCommand
,
renameFocusedFilesExplorerViewItemCommand
}
from
'
vs/workbench/parts/files/browser/fileCommands
'
;
import
{
copyFocusedFilesExplorerViewItem
,
revealInOSFocusedFilesExplorerItem
,
openFocused
ExplorerItemSideBySideCommand
,
copyPathOfFocusedExplorerItem
,
copyPathCommand
,
revealInExplorerCommand
,
revealInOSCommand
,
openFolderPickerCommand
,
openWindowCommand
,
openFileInNewWindow
Command
,
deleteFocusedFilesExplorerViewItemCommand
,
moveFocusedFilesExplorerViewItemToTrashCommand
,
renameFocusedFilesExplorerViewItemCommand
}
from
'
vs/workbench/parts/files/browser/fileCommands
'
;
import
{
CommandsRegistry
,
ICommandHandler
}
from
'
vs/platform/commands/common/commands
'
;
import
{
ContextKeyExpr
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
KeybindingsRegistry
}
from
'
vs/platform/keybinding/common/keybindingsRegistry
'
;
import
{
explorerItemToFileResource
,
ExplorerFocusCondition
,
OpenedEditorsFocusCondition
,
FilesExplorerFocusCondition
}
from
'
vs/workbench/parts/files/common/files
'
;
import
{
explorerItemToFileResource
,
ExplorerFocusCondition
,
FilesExplorerFocusCondition
}
from
'
vs/workbench/parts/files/common/files
'
;
class
FilesViewerActionContributor
extends
ActionBarContributor
{
...
...
@@ -241,25 +241,6 @@ CommandsRegistry.registerCommand('workbench.action.files.openFileInNewWindow', o
const
explorerCommandsWeightBonus
=
10
;
// give our commands a little bit more weight over other default list/tree commands
KeybindingsRegistry
.
registerCommandAndKeybindingRule
({
id
:
'
openEditors.open
'
,
weight
:
KeybindingsRegistry
.
WEIGHT
.
workbenchContrib
(
explorerCommandsWeightBonus
),
when
:
OpenedEditorsFocusCondition
,
primary
:
KeyCode
.
Enter
,
handler
:
openFocusedOpenedEditorsViewItemCommand
});
KeybindingsRegistry
.
registerCommandAndKeybindingRule
({
id
:
'
filesExplorer.open
'
,
weight
:
KeybindingsRegistry
.
WEIGHT
.
workbenchContrib
(
explorerCommandsWeightBonus
),
when
:
FilesExplorerFocusCondition
,
primary
:
KeyCode
.
Enter
,
mac
:
{
primary
:
KeyMod
.
CtrlCmd
|
KeyCode
.
DownArrow
},
handler
:
openFocussedFilesExplorerViewItemCommand
});
KeybindingsRegistry
.
registerCommandAndKeybindingRule
({
id
:
'
explorer.openToSide
'
,
weight
:
KeybindingsRegistry
.
WEIGHT
.
workbenchContrib
(
explorerCommandsWeightBonus
),
...
...
src/vs/workbench/parts/files/browser/fileCommands.ts
浏览文件 @
d6f1ca77
...
...
@@ -175,9 +175,6 @@ function withFocusedExplorerItem(accessor: ServicesAccessor): TPromise<FileStat
})
as
TPromise
<
FileStat
|
OpenEditor
>
;
// TypeScript fail
};
export
const
openFocussedFilesExplorerViewItemCommand
=
(
accessor
:
ServicesAccessor
)
=>
openFocusedFilesExplorerViewItem
(
accessor
,
false
);
export
const
openFocusedOpenedEditorsViewItemCommand
=
(
accessor
:
ServicesAccessor
)
=>
openFocussedOpenedEditorsViewItem
(
accessor
,
false
);
export
const
renameFocusedFilesExplorerViewItemCommand
=
(
accessor
:
ServicesAccessor
)
=>
{
runActionOnFocusedFilesExplorerViewItem
(
accessor
,
'
filesExplorer.rename
'
);
};
...
...
src/vs/workbench/parts/files/browser/views/explorerView.ts
浏览文件 @
d6f1ca77
...
...
@@ -368,6 +368,13 @@ export class ExplorerView extends CollapsibleViewletView {
this
.
folderContext
.
set
(
e
.
focus
&&
e
.
focus
.
isDirectory
);
}));
// Open when selecting via keyboard
this
.
toDispose
.
push
(
this
.
explorerViewer
.
addListener2
(
'
selection
'
,
event
=>
{
if
(
event
&&
event
.
payload
&&
event
.
payload
.
origin
===
'
keyboard
'
)
{
controller
.
openEditor
(
this
.
tree
.
getFocus
(),
{
pinned
:
false
,
sideBySide
:
false
,
preserveFocus
:
false
});
}
}));
return
this
.
explorerViewer
;
}
...
...
src/vs/workbench/parts/files/browser/views/explorerViewer.ts
浏览文件 @
d6f1ca77
...
...
@@ -450,7 +450,7 @@ export class FileController extends DefaultController {
tree
.
setSelection
([
stat
],
payload
);
if
(
!
stat
.
isDirectory
)
{
this
.
openEditor
(
stat
,
preserveFocus
,
event
&&
(
event
.
ctrlKey
||
event
.
metaKey
),
isDoubleClick
);
this
.
openEditor
(
stat
,
{
preserveFocus
,
sideBySide
:
event
&&
(
event
.
ctrlKey
||
event
.
metaKey
),
pinned
:
isDoubleClick
}
);
}
}
...
...
@@ -499,11 +499,11 @@ export class FileController extends DefaultController {
return
true
;
}
p
rivate
openEditor
(
stat
:
FileStat
,
preserveFocus
:
boolean
,
sideBySide
:
boolean
,
pinned
=
false
):
void
{
p
ublic
openEditor
(
stat
:
FileStat
,
options
:
{
preserveFocus
:
boolean
;
sideBySide
:
boolean
;
pinned
:
boolean
;
}
):
void
{
if
(
stat
&&
!
stat
.
isDirectory
)
{
this
.
telemetryService
.
publicLog
(
'
workbenchActionExecuted
'
,
{
id
:
'
workbench.files.openFile
'
,
from
:
'
explorer
'
});
this
.
editorService
.
openEditor
({
resource
:
stat
.
resource
,
options
:
{
preserveFocus
,
pinned
}
},
sideBySide
).
done
(
null
,
errors
.
onUnexpectedError
);
this
.
editorService
.
openEditor
({
resource
:
stat
.
resource
,
options
},
options
.
sideBySide
).
done
(
null
,
errors
.
onUnexpectedError
);
}
}
}
...
...
src/vs/workbench/parts/files/browser/views/openEditorsView.ts
浏览文件 @
d6f1ca77
...
...
@@ -124,6 +124,13 @@ export class OpenEditorsView extends AdaptiveCollapsibleViewletView {
// Register to list service
this
.
toDispose
.
push
(
this
.
listService
.
register
(
this
.
tree
,
[
this
.
explorerFocussedContext
,
this
.
openEditorsFocussedContext
]));
// Open when selecting via keyboard
this
.
toDispose
.
push
(
this
.
tree
.
addListener2
(
'
selection
'
,
event
=>
{
if
(
event
&&
event
.
payload
&&
event
.
payload
.
origin
===
'
keyboard
'
)
{
controller
.
openEditor
(
this
.
tree
.
getFocus
(),
{
pinned
:
false
,
sideBySide
:
false
,
preserveFocus
:
false
});
}
}));
this
.
fullRefreshNeeded
=
true
;
this
.
structuralTreeUpdate
();
}
...
...
src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts
浏览文件 @
d6f1ca77
...
...
@@ -8,7 +8,7 @@ import errors = require('vs/base/common/errors');
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
IAction
}
from
'
vs/base/common/actions
'
;
import
{
EditorLabel
}
from
'
vs/workbench/browser/labels
'
;
import
treedefaults
=
require
(
'
vs/base/parts/tree/browser/treeDefaults
'
)
;
import
{
DefaultController
,
ClickBehavior
,
DefaultDragAndDrop
}
from
'
vs/base/parts/tree/browser/treeDefaults
'
;
import
{
IDataSource
,
ITree
,
IAccessibilityProvider
,
IDragAndDropData
,
IDragOverReaction
,
DRAG_OVER_ACCEPT
,
DRAG_OVER_REJECT
,
ContextMenuEvent
,
IRenderer
}
from
'
vs/base/parts/tree/browser/tree
'
;
import
{
ExternalElementsDragAndDropData
,
ElementsDragAndDropData
,
DesktopDragAndDropData
}
from
'
vs/base/parts/tree/browser/treeDnd
'
;
import
{
ActionBar
,
Separator
}
from
'
vs/base/browser/ui/actionbar/actionbar
'
;
...
...
@@ -164,7 +164,7 @@ export class Renderer implements IRenderer {
}
}
export
class
Controller
extends
treedefaults
.
DefaultController
{
export
class
Controller
extends
DefaultController
{
constructor
(
private
actionProvider
:
ActionProvider
,
private
model
:
IEditorStacksModel
,
@
IWorkbenchEditorService
private
editorService
:
IWorkbenchEditorService
,
...
...
@@ -173,7 +173,7 @@ export class Controller extends treedefaults.DefaultController {
@
ITelemetryService
private
telemetryService
:
ITelemetryService
,
@
IKeybindingService
private
keybindingService
:
IKeybindingService
)
{
super
({
clickBehavior
:
treedefaults
.
ClickBehavior
.
ON_MOUSE_DOWN
,
keyboardSupport
:
false
});
super
({
clickBehavior
:
ClickBehavior
.
ON_MOUSE_DOWN
,
keyboardSupport
:
false
});
}
public
onClick
(
tree
:
ITree
,
element
:
any
,
event
:
IMouseEvent
):
boolean
{
...
...
@@ -226,7 +226,7 @@ export class Controller extends treedefaults.DefaultController {
}
tree
.
setSelection
([
element
],
payload
);
this
.
openEditor
(
element
,
isDoubleClick
,
event
.
ctrlKey
||
event
.
metaKey
);
this
.
openEditor
(
element
,
{
preserveFocus
:
!
isDoubleClick
,
pinned
:
isDoubleClick
,
sideBySide
:
event
.
ctrlKey
||
event
.
metaKey
}
);
}
return
true
;
...
...
@@ -273,15 +273,15 @@ export class Controller extends treedefaults.DefaultController {
return
true
;
}
p
rivate
openEditor
(
element
:
OpenEditor
,
pinEditor
:
boolean
,
openToSide
:
boolean
):
void
{
p
ublic
openEditor
(
element
:
OpenEditor
,
options
:
{
preserveFocus
:
boolean
;
pinned
:
boolean
;
sideBySide
:
boolean
;
}
):
void
{
if
(
element
)
{
this
.
telemetryService
.
publicLog
(
'
workbenchActionExecuted
'
,
{
id
:
'
workbench.files.openFile
'
,
from
:
'
openEditors
'
});
let
position
=
this
.
model
.
positionOfGroup
(
element
.
editorGroup
);
if
(
op
enTo
Side
&&
position
!==
Position
.
THREE
)
{
if
(
op
tions
.
sideBy
Side
&&
position
!==
Position
.
THREE
)
{
position
++
;
}
this
.
editorGroupService
.
activateGroup
(
this
.
model
.
groupAt
(
position
));
this
.
editorService
.
openEditor
(
element
.
editorInput
,
{
preserveFocus
:
!
pinEditor
,
pinned
:
pinEditor
}
,
position
)
this
.
editorService
.
openEditor
(
element
.
editorInput
,
options
,
position
)
.
done
(()
=>
this
.
editorGroupService
.
activateGroup
(
this
.
model
.
groupAt
(
position
)),
errors
.
onUnexpectedError
);
}
}
...
...
@@ -416,7 +416,7 @@ export class ActionProvider extends ContributableActionProvider {
}
}
export
class
DragAndDrop
extends
treedefaults
.
DefaultDragAndDrop
{
export
class
DragAndDrop
extends
DefaultDragAndDrop
{
constructor
(
@
IWorkbenchEditorService
private
editorService
:
IWorkbenchEditorService
,
...
...
src/vs/workbench/parts/files/common/files.ts
浏览文件 @
d6f1ca77
...
...
@@ -32,7 +32,6 @@ export const OpenEditorsFocussedContext = new RawContextKey<boolean>(openEditors
export
const
ExplorerFocussedContext
=
new
RawContextKey
<
boolean
>
(
explorerViewletFocusId
,
false
);
export
const
FilesExplorerFocusCondition
=
ContextKeyExpr
.
and
(
ContextKeyExpr
.
has
(
explorerViewletVisibleId
),
ContextKeyExpr
.
has
(
filesExplorerFocusId
));
export
const
OpenedEditorsFocusCondition
=
ContextKeyExpr
.
and
(
ContextKeyExpr
.
has
(
explorerViewletVisibleId
),
ContextKeyExpr
.
has
(
openEditorsFocusId
));
export
const
ExplorerFocusCondition
=
ContextKeyExpr
.
and
(
ContextKeyExpr
.
has
(
explorerViewletVisibleId
),
ContextKeyExpr
.
has
(
explorerViewletFocusId
));
/**
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录