Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
7b81b55c
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,发现更多精彩内容 >>
提交
7b81b55c
编写于
3月 11, 2016
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
distinguish between forceNewWindow and preferNewWindow
上级
dd7709ec
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
14 addition
and
8 deletion
+14
-8
src/vs/workbench/electron-main/main.ts
src/vs/workbench/electron-main/main.ts
+2
-2
src/vs/workbench/electron-main/windows.ts
src/vs/workbench/electron-main/windows.ts
+11
-5
src/vs/workbench/parts/snippets/electron-browser/snippets.contribution.ts
.../parts/snippets/electron-browser/snippets.contribution.ts
+1
-1
未找到文件。
src/vs/workbench/electron-main/main.ts
浏览文件 @
7b81b55c
...
...
@@ -37,7 +37,7 @@ export class LaunchService {
}
else
if
(
args
.
pathArguments
.
length
===
0
)
{
windows
.
manager
.
focusLastActive
(
args
);
}
else
{
let
usedWindows
=
windows
.
manager
.
open
({
cli
:
args
,
userEnv
:
userEnv
,
forceNewWindow
:
args
.
waitForWindowClose
||
!
args
.
openInSameWindow
});
let
usedWindows
=
windows
.
manager
.
open
({
cli
:
args
,
userEnv
:
userEnv
,
forceNewWindow
:
args
.
waitForWindowClose
,
preferNewWindow
:
!
args
.
openInSameWindow
});
// If the other instance is waiting to be killed, we hook up a window listener if one window
// is being used and kill the other instance when that window is being closed
...
...
@@ -189,7 +189,7 @@ function main(ipcServer: Server, userEnv: env.IProcessEnvironment): void {
}
else
if
(
global
.
macOpenFiles
&&
global
.
macOpenFiles
.
length
&&
(
!
env
.
cliArgs
.
pathArguments
||
!
env
.
cliArgs
.
pathArguments
.
length
))
{
windows
.
manager
.
open
({
cli
:
env
.
cliArgs
,
pathsToOpen
:
global
.
macOpenFiles
});
// mac: open-file event received on startup
}
else
{
windows
.
manager
.
open
({
cli
:
env
.
cliArgs
,
force
NewWindow
:
env
.
cliArgs
.
openNewWindow
});
// default: read paths from cli
windows
.
manager
.
open
({
cli
:
env
.
cliArgs
,
prefer
NewWindow
:
env
.
cliArgs
.
openNewWindow
});
// default: read paths from cli
}
}
...
...
src/vs/workbench/electron-main/windows.ts
浏览文件 @
7b81b55c
...
...
@@ -59,6 +59,7 @@ export interface IOpenConfiguration {
cli
:
env
.
ICommandLineArguments
;
userEnv
?:
env
.
IProcessEnvironment
;
pathsToOpen
?:
string
[];
preferNewWindow
?:
boolean
;
forceNewWindow
?:
boolean
;
forceEmpty
?:
boolean
;
windowToUse
?:
window
.
VSCodeWindow
;
...
...
@@ -137,7 +138,7 @@ export class WindowsManager {
// Handle paths delayed in case more are coming!
runningTimeout
=
setTimeout
(()
=>
{
this
.
open
({
cli
:
env
.
cliArgs
,
pathsToOpen
:
macOpenFiles
,
forceNewWindow
:
true
/* dropping on the dock should force
open in a new window */
});
this
.
open
({
cli
:
env
.
cliArgs
,
pathsToOpen
:
macOpenFiles
,
preferNewWindow
:
true
/* dropping on the dock prefers to
open in a new window */
});
macOpenFiles
=
[];
runningTimeout
=
null
;
},
100
);
...
...
@@ -498,11 +499,16 @@ export class WindowsManager {
// Handle files to open/diff or to create when we dont open a folder
if
(
!
foldersToOpen
.
length
&&
(
filesToOpen
.
length
>
0
||
filesToCreate
.
length
>
0
||
filesToDiff
.
length
>
0
||
extensionsToInstall
.
length
>
0
))
{
// Let the user settings override how files are open in a new window or same window
let
openFilesInNewWindow
=
openConfig
.
forceNewWindow
;
// Let the user settings override how files are open in a new window or same window unless we are forced
let
openFilesInNewWindow
:
boolean
;
if
(
openConfig
.
forceNewWindow
)
{
openFilesInNewWindow
=
true
;
}
else
{
openFilesInNewWindow
=
openConfig
.
preferNewWindow
;
if
(
openFilesInNewWindow
&&
!
openConfig
.
cli
.
extensionDevelopmentPath
)
{
// can be overriden via settings (not for PDE though!)
openFilesInNewWindow
=
settings
.
manager
.
getValue
(
'
window.openFilesInNewWindow
'
,
openFilesInNewWindow
);
}
}
// Open Files in last instance if any and flag tells us so
let
lastActiveWindow
=
this
.
getLastActiveWindow
();
...
...
src/vs/workbench/parts/snippets/electron-browser/snippets.contribution.ts
浏览文件 @
7b81b55c
...
...
@@ -39,7 +39,7 @@ class OpenSnippetsAction extends actions.Action {
}
private
openFile
(
filePath
:
string
):
void
{
ipc
.
send
(
'
vscode:windowOpen
'
,
[
filePath
]
,
false
/* force new window */
);
// handled from browser process
ipc
.
send
(
'
vscode:windowOpen
'
,
[
filePath
]);
// handled from browser process
}
public
run
():
winjs
.
Promise
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录