Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
24bac055
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
24bac055
编写于
4月 02, 2019
作者:
M
Martin Aeschlimann
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
polish
上级
842bc2c6
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
17 addition
and
19 deletion
+17
-19
src/vs/workbench/browser/parts/titlebar/menubarControl.ts
src/vs/workbench/browser/parts/titlebar/menubarControl.ts
+6
-4
src/vs/workbench/electron-browser/actions/windowActions.ts
src/vs/workbench/electron-browser/actions/windowActions.ts
+11
-15
未找到文件。
src/vs/workbench/browser/parts/titlebar/menubarControl.ts
浏览文件 @
24bac055
...
...
@@ -350,12 +350,13 @@ export class MenubarControl extends Disposable {
return
label
;
}
private
createOpenRecentMenuAction
(
recent
:
IRecent
,
isFile
:
boolean
):
IAction
&
{
uri
:
URI
}
{
private
createOpenRecentMenuAction
(
recent
:
IRecent
):
IAction
&
{
uri
:
URI
}
{
let
label
:
string
;
let
uri
:
URI
;
let
commandId
:
string
;
let
typeHint
:
URIType
|
undefined
;
let
forceOpenWorkspaceAsFile
=
false
;
if
(
isRecentFolder
(
recent
))
{
uri
=
recent
.
folderUri
;
...
...
@@ -372,6 +373,7 @@ export class MenubarControl extends Disposable {
label
=
recent
.
label
||
this
.
labelService
.
getUriLabel
(
uri
);
commandId
=
'
openRecentFile
'
;
typeHint
=
'
file
'
;
forceOpenWorkspaceAsFile
=
true
;
}
const
ret
:
IAction
=
new
Action
(
commandId
,
unmnemonicLabel
(
label
),
undefined
,
undefined
,
(
event
)
=>
{
...
...
@@ -379,7 +381,7 @@ export class MenubarControl extends Disposable {
return
this
.
windowService
.
openWindow
([{
uri
,
typeHint
}],
{
forceNewWindow
:
openInNewWindow
,
forceOpenWorkspaceAsFile
:
isFile
forceOpenWorkspaceAsFile
});
});
...
...
@@ -398,7 +400,7 @@ export class MenubarControl extends Disposable {
if
(
workspaces
.
length
>
0
)
{
for
(
let
i
=
0
;
i
<
MenubarControl
.
MAX_MENU_RECENT_ENTRIES
&&
i
<
workspaces
.
length
;
i
++
)
{
result
.
push
(
this
.
createOpenRecentMenuAction
(
workspaces
[
i
]
,
false
));
result
.
push
(
this
.
createOpenRecentMenuAction
(
workspaces
[
i
]));
}
result
.
push
(
new
Separator
());
...
...
@@ -406,7 +408,7 @@ export class MenubarControl extends Disposable {
if
(
files
.
length
>
0
)
{
for
(
let
i
=
0
;
i
<
MenubarControl
.
MAX_MENU_RECENT_ENTRIES
&&
i
<
files
.
length
;
i
++
)
{
result
.
push
(
this
.
createOpenRecentMenuAction
(
files
[
i
]
,
true
));
result
.
push
(
this
.
createOpenRecentMenuAction
(
files
[
i
]));
}
result
.
push
(
new
Separator
());
...
...
src/vs/workbench/electron-browser/actions/windowActions.ts
浏览文件 @
24bac055
...
...
@@ -7,7 +7,7 @@ import 'vs/css!./media/actions';
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
Action
}
from
'
vs/base/common/actions
'
;
import
{
IWindowService
,
IWindowsService
}
from
'
vs/platform/windows/common/windows
'
;
import
{
IWindowService
,
IWindowsService
,
IURIToOpen
}
from
'
vs/platform/windows/common/windows
'
;
import
*
as
nls
from
'
vs/nls
'
;
import
{
IWorkspaceContextService
}
from
'
vs/platform/workspace/common/workspace
'
;
import
{
isMacintosh
}
from
'
vs/base/common/platform
'
;
...
...
@@ -339,38 +339,32 @@ export abstract class BaseOpenRecentAction extends Action {
private
openRecent
(
recentWorkspaces
:
Array
<
IRecentWorkspace
|
IRecentFolder
>
,
recentFiles
:
IRecentFile
[]):
void
{
const
toPick
=
(
recent
:
IRecent
,
labelService
:
ILabelService
,
buttons
:
IQuickInputButton
[]
|
undefined
)
=>
{
let
resource
:
URI
|
undefined
;
let
uriToOpen
:
IURIToOpen
|
undefined
;
let
fullLabel
:
string
|
undefined
;
let
fileKind
:
FileKind
|
undefined
;
if
(
isRecentFolder
(
recent
))
{
resource
=
recent
.
folderUri
;
uriToOpen
=
{
uri
:
recent
.
folderUri
,
typeHint
:
'
folder
'
}
;
fullLabel
=
recent
.
label
||
labelService
.
getWorkspaceLabel
(
recent
.
folderUri
,
{
verbose
:
true
});
fileKind
=
FileKind
.
FOLDER
;
}
else
if
(
isRecentWorkspace
(
recent
))
{
resource
=
recent
.
workspace
.
configPath
;
uriToOpen
=
{
uri
:
recent
.
workspace
.
configPath
,
typeHint
:
'
file
'
}
;
fullLabel
=
recent
.
label
||
labelService
.
getWorkspaceLabel
(
recent
.
workspace
,
{
verbose
:
true
});
fileKind
=
FileKind
.
ROOT_FOLDER
;
}
else
{
resource
=
recent
.
fileUri
;
uriToOpen
=
{
uri
:
recent
.
fileUri
,
typeHint
:
'
file
'
}
;
fullLabel
=
recent
.
label
||
labelService
.
getUriLabel
(
recent
.
fileUri
);
fileKind
=
FileKind
.
FILE
;
}
const
{
name
,
parentPath
}
=
splitName
(
fullLabel
);
return
{
iconClasses
:
getIconClasses
(
this
.
modelService
,
this
.
modeService
,
resource
,
fileKind
),
iconClasses
:
getIconClasses
(
this
.
modelService
,
this
.
modeService
,
uriToOpen
.
uri
,
fileKind
),
label
:
name
,
description
:
parentPath
,
buttons
,
resource
,
uriToOpen
,
fileKind
,
};
};
const
runPick
=
(
uri
:
URI
,
isFile
:
boolean
,
keyMods
:
IKeyMods
)
=>
{
const
forceNewWindow
=
keyMods
.
ctrlCmd
;
return
this
.
windowService
.
openWindow
([{
uri
,
typeHint
:
isFile
?
'
file
'
:
'
folder
'
}],
{
forceNewWindow
,
forceOpenWorkspaceAsFile
:
isFile
});
};
const
workspacePicks
=
recentWorkspaces
.
map
(
workspace
=>
toPick
(
workspace
,
this
.
labelService
,
!
this
.
isQuickNavigate
()
?
[
this
.
removeFromRecentlyOpened
]
:
undefined
));
const
filePicks
=
recentFiles
.
map
(
p
=>
toPick
(
p
,
this
.
labelService
,
!
this
.
isQuickNavigate
()
?
[
this
.
removeFromRecentlyOpened
]
:
undefined
));
...
...
@@ -390,11 +384,13 @@ export abstract class BaseOpenRecentAction extends Action {
onKeyMods
:
mods
=>
keyMods
=
mods
,
quickNavigate
:
this
.
isQuickNavigate
()
?
{
keybindings
:
this
.
keybindingService
.
lookupKeybindings
(
this
.
id
)
}
:
undefined
,
onDidTriggerItemButton
:
context
=>
{
this
.
windowsService
.
removeFromRecentlyOpened
([
context
.
item
.
resource
]).
then
(()
=>
context
.
removeItem
());
this
.
windowsService
.
removeFromRecentlyOpened
([
context
.
item
.
uriToOpen
.
uri
]).
then
(()
=>
context
.
removeItem
());
}
}).
then
((
pick
):
Promise
<
void
>
|
void
=>
{
if
(
pick
)
{
return
runPick
(
pick
.
resource
,
pick
.
fileKind
===
FileKind
.
FILE
,
keyMods
);
const
forceNewWindow
=
keyMods
.
ctrlCmd
;
const
forceOpenWorkspaceAsFile
=
pick
.
fileKind
===
FileKind
.
FILE
;
return
this
.
windowService
.
openWindow
([
pick
.
uriToOpen
],
{
forceNewWindow
,
forceOpenWorkspaceAsFile
});
}
});
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录