Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
878bf135
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 搜索 >>
提交
878bf135
编写于
12月 07, 2020
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
debt - shuffle some electron-main code to better layers
上级
25cbe382
变更
17
隐藏空白更改
内联
并排
Showing
17 changed file
with
44 addition
and
48 deletion
+44
-48
src/vs/code/electron-main/app.ts
src/vs/code/electron-main/app.ts
+9
-12
src/vs/code/electron-main/main.ts
src/vs/code/electron-main/main.ts
+3
-3
src/vs/code/electron-main/sharedProcess.ts
src/vs/code/electron-main/sharedProcess.ts
+6
-5
src/vs/code/electron-main/window.ts
src/vs/code/electron-main/window.ts
+2
-1
src/vs/platform/debug/electron-main/extensionHostDebugIpc.ts
src/vs/platform/debug/electron-main/extensionHostDebugIpc.ts
+1
-1
src/vs/platform/dialogs/electron-main/dialogMainService.ts
src/vs/platform/dialogs/electron-main/dialogMainService.ts
+0
-0
src/vs/platform/issue/electron-main/issueMainService.ts
src/vs/platform/issue/electron-main/issueMainService.ts
+1
-1
src/vs/platform/launch/electron-main/launchMainService.ts
src/vs/platform/launch/electron-main/launchMainService.ts
+12
-13
src/vs/platform/menubar/electron-main/menubar.ts
src/vs/platform/menubar/electron-main/menubar.ts
+1
-1
src/vs/platform/native/electron-main/nativeHostMainService.ts
...vs/platform/native/electron-main/nativeHostMainService.ts
+2
-2
src/vs/platform/windows/electron-main/window.ts
src/vs/platform/windows/electron-main/window.ts
+0
-0
src/vs/platform/windows/electron-main/windows.ts
src/vs/platform/windows/electron-main/windows.ts
+1
-1
src/vs/platform/windows/electron-main/windowsMainService.ts
src/vs/platform/windows/electron-main/windowsMainService.ts
+2
-2
src/vs/platform/windows/test/electron-main/window.test.ts
src/vs/platform/windows/test/electron-main/window.test.ts
+1
-1
src/vs/platform/windows/test/electron-main/windowsStateStorage.test.ts
...rm/windows/test/electron-main/windowsStateStorage.test.ts
+0
-2
src/vs/platform/workspaces/electron-main/workspacesMainService.ts
...latform/workspaces/electron-main/workspacesMainService.ts
+2
-2
src/vs/platform/workspaces/test/electron-main/workspacesMainService.test.ts
...rkspaces/test/electron-main/workspacesMainService.test.ts
+1
-1
未找到文件。
src/vs/code/electron-main/app.ts
浏览文件 @
878bf135
...
...
@@ -7,7 +7,7 @@ import { app, ipcMain, systemPreferences, contentTracing, protocol, BrowserWindo
import
{
IProcessEnvironment
,
isWindows
,
isMacintosh
,
isLinux
}
from
'
vs/base/common/platform
'
;
import
{
WindowsMainService
}
from
'
vs/platform/windows/electron-main/windowsMainService
'
;
import
{
IWindowOpenable
}
from
'
vs/platform/windows/common/windows
'
;
import
{
OpenContext
}
from
'
vs/platform/windows/
node
/window
'
;
import
{
OpenContext
}
from
'
vs/platform/windows/
electron-main
/window
'
;
import
{
ILifecycleMainService
,
LifecycleMainPhase
}
from
'
vs/platform/lifecycle/electron-main/lifecycleMainService
'
;
import
{
resolveShellEnv
}
from
'
vs/code/node/shellEnv
'
;
import
{
IUpdateService
}
from
'
vs/platform/update/common/update
'
;
...
...
@@ -70,7 +70,7 @@ import { ExtensionHostDebugBroadcastChannel } from 'vs/platform/debug/common/ext
import
{
ElectronExtensionHostDebugBroadcastChannel
}
from
'
vs/platform/debug/electron-main/extensionHostDebugIpc
'
;
import
{
INativeHostMainService
,
NativeHostMainService
}
from
'
vs/platform/native/electron-main/nativeHostMainService
'
;
import
{
ISharedProcessMainService
,
SharedProcessMainService
}
from
'
vs/platform/ipc/electron-main/sharedProcessMainService
'
;
import
{
IDialogMainService
,
DialogMainService
}
from
'
vs/platform/dialogs/electron-main/dialog
s
'
;
import
{
IDialogMainService
,
DialogMainService
}
from
'
vs/platform/dialogs/electron-main/dialog
MainService
'
;
import
{
withNullAsUndefined
}
from
'
vs/base/common/types
'
;
import
{
mnemonicButtonLabel
,
getPathLabel
}
from
'
vs/base/common/labels
'
;
import
{
WebviewMainService
}
from
'
vs/platform/webview/electron-main/webviewMainService
'
;
...
...
@@ -897,7 +897,12 @@ export class CodeApplication extends Disposable {
this
.
lifecycleMainService
.
phase
=
LifecycleMainPhase
.
AfterWindowOpen
;
// Remote Authorities
this
.
handleRemoteAuthorities
();
protocol
.
registerHttpProtocol
(
Schemas
.
vscodeRemoteResource
,
(
request
,
callback
)
=>
{
callback
({
url
:
request
.
url
.
replace
(
/^vscode-remote-resource:/
,
'
http:
'
),
method
:
request
.
method
});
});
// Initialize update service
const
updateService
=
accessor
.
get
(
IUpdateService
);
...
...
@@ -929,19 +934,11 @@ export class CodeApplication extends Disposable {
'
}
'
];
const
newArgvString
=
argvString
.
substring
(
0
,
argvString
.
length
-
2
).
concat
(
'
,
\n
'
,
additionalArgvContent
.
join
(
'
\n
'
));
await
this
.
fileService
.
writeFile
(
this
.
environmentService
.
argvResource
,
VSBuffer
.
fromString
(
newArgvString
));
}
}
catch
(
error
)
{
this
.
logService
.
error
(
error
);
}
}
private
handleRemoteAuthorities
():
void
{
protocol
.
registerHttpProtocol
(
Schemas
.
vscodeRemoteResource
,
(
request
,
callback
)
=>
{
callback
({
url
:
request
.
url
.
replace
(
/^vscode-remote-resource:/
,
'
http:
'
),
method
:
request
.
method
});
});
}
}
src/vs/code/electron-main/main.ts
浏览文件 @
878bf135
...
...
@@ -5,7 +5,8 @@
import
'
vs/platform/update/common/update.config.contribution
'
;
import
{
app
,
dialog
}
from
'
electron
'
;
import
*
as
fs
from
'
fs
'
;
import
{
unlinkSync
}
from
'
fs
'
;
import
{
localize
}
from
'
vs/nls
'
;
import
{
isWindows
,
IProcessEnvironment
,
isMacintosh
}
from
'
vs/base/common/platform
'
;
import
product
from
'
vs/platform/product/common/product
'
;
import
{
parseMainProcessArgv
,
addArg
}
from
'
vs/platform/environment/node/argvHelper
'
;
...
...
@@ -29,7 +30,6 @@ import { ConfigurationService } from 'vs/platform/configuration/common/configura
import
{
IRequestService
}
from
'
vs/platform/request/common/request
'
;
import
{
RequestMainService
}
from
'
vs/platform/request/electron-main/requestMainService
'
;
import
{
CodeApplication
}
from
'
vs/code/electron-main/app
'
;
import
{
localize
}
from
'
vs/nls
'
;
import
{
mnemonicButtonLabel
}
from
'
vs/base/common/labels
'
;
import
{
SpdLogService
}
from
'
vs/platform/log/node/spdlogService
'
;
import
{
BufferLogService
}
from
'
vs/platform/log/common/bufferLog
'
;
...
...
@@ -256,7 +256,7 @@ class CodeMain {
// let's delete it, since we can't connect to it and then
// retry the whole thing
try
{
fs
.
unlinkSync
(
environmentService
.
mainIPCHandle
);
unlinkSync
(
environmentService
.
mainIPCHandle
);
}
catch
(
error
)
{
logService
.
warn
(
'
Could not delete obsolete instance handle
'
,
error
);
...
...
src/vs/code/electron-main/sharedProcess.ts
浏览文件 @
878bf135
...
...
@@ -17,12 +17,11 @@ import { FileAccess } from 'vs/base/common/network';
export
class
SharedProcess
implements
ISharedProcess
{
private
barrier
=
new
Barrier
();
private
readonly
barrier
=
new
Barrier
();
private
readonly
_whenReady
:
Promise
<
void
>
;
private
window
:
BrowserWindow
|
null
=
null
;
private
readonly
_whenReady
:
Promise
<
void
>
;
constructor
(
private
readonly
machineId
:
string
,
private
userEnv
:
NodeJS
.
ProcessEnv
,
...
...
@@ -52,6 +51,7 @@ export class SharedProcess implements ISharedProcess {
disableBlinkFeatures
:
'
Auxclick
'
// do NOT change, allows us to identify this window as shared-process in the process explorer
}
});
const
config
=
{
appRoot
:
this
.
environmentService
.
appRoot
,
machineId
:
this
.
machineId
,
...
...
@@ -110,7 +110,8 @@ export class SharedProcess implements ISharedProcess {
},
0
);
});
return
new
Promise
<
void
>
(
c
=>
{
return
new
Promise
<
void
>
(
resolve
=>
{
// send payload once shared process is ready to receive it
disposables
.
add
(
Event
.
once
(
Event
.
fromNodeEventEmitter
(
ipcMain
,
'
vscode:shared-process->electron-main=ready-for-payload
'
,
({
sender
}:
{
sender
:
WebContents
})
=>
sender
))(
sender
=>
{
sender
.
send
(
'
vscode:electron-main->shared-process=payload
'
,
{
...
...
@@ -125,7 +126,7 @@ export class SharedProcess implements ISharedProcess {
disposables
.
add
(
toDisposable
(()
=>
sender
.
send
(
'
vscode:electron-main->shared-process=exit
'
)));
// complete IPC-ready promise when shared process signals this to us
ipcMain
.
once
(
'
vscode:shared-process->electron-main=ipc-ready
'
,
()
=>
c
(
undefined
));
ipcMain
.
once
(
'
vscode:shared-process->electron-main=ipc-ready
'
,
()
=>
resolve
(
undefined
));
}));
});
}
...
...
src/vs/code/electron-main/window.ts
浏览文件 @
878bf135
...
...
@@ -28,7 +28,7 @@ import { resolveMarketplaceHeaders } from 'vs/platform/extensionManagement/commo
import
{
IThemeMainService
}
from
'
vs/platform/theme/electron-main/themeMainService
'
;
import
{
RunOnceScheduler
}
from
'
vs/base/common/async
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
IDialogMainService
}
from
'
vs/platform/dialogs/electron-main/dialog
s
'
;
import
{
IDialogMainService
}
from
'
vs/platform/dialogs/electron-main/dialog
MainService
'
;
import
{
mnemonicButtonLabel
}
from
'
vs/base/common/labels
'
;
import
{
ThemeIcon
}
from
'
vs/platform/theme/common/themeService
'
;
import
{
ILifecycleMainService
}
from
'
vs/platform/lifecycle/electron-main/lifecycleMainService
'
;
...
...
@@ -648,6 +648,7 @@ export class CodeWindow extends Disposable implements ICodeWindow {
this
.
currentMenuBarVisibility
=
newMenuBarVisibility
;
this
.
setMenuBarVisibility
(
newMenuBarVisibility
);
}
// Do not set to empty configuration at startup if setting is empty to not override configuration through CLI options:
const
env
=
process
.
env
;
let
newHttpProxy
=
(
this
.
configurationService
.
getValue
<
string
>
(
'
http.proxy
'
)
||
''
).
trim
()
...
...
src/vs/platform/debug/electron-main/extensionHostDebugIpc.ts
浏览文件 @
878bf135
...
...
@@ -9,7 +9,7 @@ import { parseArgs, OPTIONS } from 'vs/platform/environment/node/argv';
import
{
createServer
,
AddressInfo
}
from
'
net
'
;
import
{
ExtensionHostDebugBroadcastChannel
}
from
'
vs/platform/debug/common/extensionHostDebugIpc
'
;
import
{
IWindowsMainService
}
from
'
vs/platform/windows/electron-main/windows
'
;
import
{
OpenContext
}
from
'
vs/platform/windows/
node
/window
'
;
import
{
OpenContext
}
from
'
vs/platform/windows/
electron-main
/window
'
;
export
class
ElectronExtensionHostDebugBroadcastChannel
<
TContext
>
extends
ExtensionHostDebugBroadcastChannel
<
TContext
>
{
...
...
src/vs/platform/dialogs/electron-main/dialog
s
.ts
→
src/vs/platform/dialogs/electron-main/dialog
MainService
.ts
浏览文件 @
878bf135
文件已移动
src/vs/platform/issue/electron-main/issueMainService.ts
浏览文件 @
878bf135
...
...
@@ -17,7 +17,7 @@ import { isMacintosh, IProcessEnvironment } from 'vs/base/common/platform';
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
IWindowState
}
from
'
vs/platform/windows/electron-main/windows
'
;
import
{
listProcesses
}
from
'
vs/base/node/ps
'
;
import
{
IDialogMainService
}
from
'
vs/platform/dialogs/electron-main/dialog
s
'
;
import
{
IDialogMainService
}
from
'
vs/platform/dialogs/electron-main/dialog
MainService
'
;
import
{
createDecorator
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
zoomLevelToZoomFactor
}
from
'
vs/platform/windows/common/windows
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
...
...
src/vs/platform/launch/electron-main/launchMainService.ts
浏览文件 @
878bf135
...
...
@@ -9,7 +9,7 @@ import { IProcessEnvironment, isMacintosh } from 'vs/base/common/platform';
import
{
NativeParsedArgs
}
from
'
vs/platform/environment/common/argv
'
;
import
{
createDecorator
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IWindowSettings
}
from
'
vs/platform/windows/common/windows
'
;
import
{
OpenContext
}
from
'
vs/platform/windows/
node
/window
'
;
import
{
OpenContext
}
from
'
vs/platform/windows/
electron-main
/window
'
;
import
{
IWindowsMainService
,
ICodeWindow
}
from
'
vs/platform/windows/electron-main/windows
'
;
import
{
whenDeleted
}
from
'
vs/base/node/pfs
'
;
import
{
IWorkspacesMainService
}
from
'
vs/platform/workspaces/electron-main/workspacesMainService
'
;
...
...
@@ -113,7 +113,7 @@ export class LaunchMainService implements ILaunchMainService {
}
}
private
startOpenWindow
(
args
:
NativeParsedArgs
,
userEnv
:
IProcessEnvironment
):
Promise
<
void
>
{
private
async
startOpenWindow
(
args
:
NativeParsedArgs
,
userEnv
:
IProcessEnvironment
):
Promise
<
void
>
{
const
context
=
isLaunchedFromCli
(
userEnv
)
?
OpenContext
.
CLI
:
OpenContext
.
DESKTOP
;
let
usedWindows
:
ICodeWindow
[]
=
[];
...
...
@@ -205,17 +205,15 @@ export class LaunchMainService implements ILaunchMainService {
whenDeleted
(
waitMarkerFileURI
.
fsPath
)
]).
then
(()
=>
undefined
,
()
=>
undefined
);
}
return
Promise
.
resolve
(
undefined
);
}
getMainProcessId
():
Promise
<
number
>
{
async
getMainProcessId
():
Promise
<
number
>
{
this
.
logService
.
trace
(
'
Received request for process ID from other instance.
'
);
return
Promise
.
resolve
(
process
.
pid
)
;
return
process
.
pid
;
}
getMainProcessInfo
():
Promise
<
IMainProcessInfo
>
{
async
getMainProcessInfo
():
Promise
<
IMainProcessInfo
>
{
this
.
logService
.
trace
(
'
Received request for main process info from other instance.
'
);
const
windows
:
IWindowInfo
[]
=
[];
...
...
@@ -228,18 +226,18 @@ export class LaunchMainService implements ILaunchMainService {
}
});
return
Promise
.
resolve
(
{
return
{
mainPID
:
process
.
pid
,
mainArguments
:
process
.
argv
.
slice
(
1
),
windows
,
screenReader
:
!!
app
.
accessibilitySupportEnabled
,
gpuFeatureStatus
:
app
.
getGPUFeatureStatus
()
}
)
;
};
}
getRemoteDiagnostics
(
options
:
IRemoteDiagnosticOptions
):
Promise
<
(
IRemoteDiagnosticInfo
|
IRemoteDiagnosticError
)[]
>
{
async
getRemoteDiagnostics
(
options
:
IRemoteDiagnosticOptions
):
Promise
<
(
IRemoteDiagnosticInfo
|
IRemoteDiagnosticError
)[]
>
{
const
windows
=
this
.
windowsMainService
.
getWindows
();
const
promises
:
Promise
<
IDiagnosticInfo
|
IRemoteDiagnosticError
|
undefined
>
[]
=
windows
.
map
(
window
=>
{
const
diagnostics
:
Array
<
IDiagnosticInfo
|
IRemoteDiagnosticError
|
undefined
>
=
await
Promise
.
all
(
windows
.
map
(
window
=>
{
return
new
Promise
<
IDiagnosticInfo
|
IRemoteDiagnosticError
|
undefined
>
((
resolve
)
=>
{
const
remoteAuthority
=
window
.
remoteAuthority
;
if
(
remoteAuthority
)
{
...
...
@@ -267,9 +265,9 @@ export class LaunchMainService implements ILaunchMainService {
resolve
(
undefined
);
}
});
});
})
)
;
return
Promise
.
all
(
promises
).
then
(
diagnostics
=>
diagnostics
.
filter
((
x
):
x
is
IRemoteDiagnosticInfo
|
IRemoteDiagnosticError
=>
!!
x
)
);
return
diagnostics
.
filter
((
x
):
x
is
IRemoteDiagnosticInfo
|
IRemoteDiagnosticError
=>
!!
x
);
}
private
getFolderURIs
(
window
:
ICodeWindow
):
URI
[]
{
...
...
@@ -296,6 +294,7 @@ export class LaunchMainService implements ILaunchMainService {
private
codeWindowToInfo
(
window
:
ICodeWindow
):
IWindowInfo
{
const
folderURIs
=
this
.
getFolderURIs
(
window
);
return
this
.
browserWindowToInfo
(
window
.
win
,
folderURIs
,
window
.
remoteAuthority
);
}
...
...
src/vs/platform/menubar/electron-main/menubar.ts
浏览文件 @
878bf135
...
...
@@ -8,7 +8,7 @@ import { isMacintosh, language } from 'vs/base/common/platform';
import
{
IEnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
app
,
Menu
,
MenuItem
,
BrowserWindow
,
MenuItemConstructorOptions
,
WebContents
,
KeyboardEvent
}
from
'
electron
'
;
import
{
getTitleBarStyle
,
INativeRunActionInWindowRequest
,
INativeRunKeybindingInWindowRequest
,
IWindowOpenable
}
from
'
vs/platform/windows/common/windows
'
;
import
{
OpenContext
}
from
'
vs/platform/windows/
node
/window
'
;
import
{
OpenContext
}
from
'
vs/platform/windows/
electron-main
/window
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
IUpdateService
,
StateType
}
from
'
vs/platform/update/common/update
'
;
...
...
src/vs/platform/native/electron-main/nativeHostMainService.ts
浏览文件 @
878bf135
...
...
@@ -6,7 +6,7 @@
import
{
Emitter
,
Event
}
from
'
vs/base/common/event
'
;
import
{
IWindowsMainService
,
ICodeWindow
}
from
'
vs/platform/windows/electron-main/windows
'
;
import
{
MessageBoxOptions
,
MessageBoxReturnValue
,
shell
,
OpenDevToolsOptions
,
SaveDialogOptions
,
SaveDialogReturnValue
,
OpenDialogOptions
,
OpenDialogReturnValue
,
Menu
,
BrowserWindow
,
app
,
clipboard
,
powerMonitor
,
nativeTheme
}
from
'
electron
'
;
import
{
OpenContext
}
from
'
vs/platform/windows/
node
/window
'
;
import
{
OpenContext
}
from
'
vs/platform/windows/
electron-main
/window
'
;
import
{
ILifecycleMainService
}
from
'
vs/platform/lifecycle/electron-main/lifecycleMainService
'
;
import
{
IOpenedWindow
,
IOpenWindowOptions
,
IWindowOpenable
,
IOpenEmptyWindowOptions
,
IColorScheme
}
from
'
vs/platform/windows/common/windows
'
;
import
{
INativeOpenDialogOptions
}
from
'
vs/platform/dialogs/common/dialogs
'
;
...
...
@@ -15,7 +15,7 @@ import { ICommonNativeHostService, IOSProperties, IOSStatistics } from 'vs/platf
import
{
ISerializableCommandAction
}
from
'
vs/platform/actions/common/actions
'
;
import
{
IEnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
AddFirstParameterToFunctions
}
from
'
vs/base/common/types
'
;
import
{
IDialogMainService
}
from
'
vs/platform/dialogs/electron-main/dialog
s
'
;
import
{
IDialogMainService
}
from
'
vs/platform/dialogs/electron-main/dialog
MainService
'
;
import
{
dirExists
}
from
'
vs/base/node/pfs
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
ITelemetryData
,
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
...
...
src/vs/platform/windows/
node
/window.ts
→
src/vs/platform/windows/
electron-main
/window.ts
浏览文件 @
878bf135
文件已移动
src/vs/platform/windows/electron-main/windows.ts
浏览文件 @
878bf135
...
...
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import
{
IWindowOpenable
,
IOpenEmptyWindowOptions
,
INativeWindowConfiguration
}
from
'
vs/platform/windows/common/windows
'
;
import
{
OpenContext
}
from
'
vs/platform/windows/
node
/window
'
;
import
{
OpenContext
}
from
'
vs/platform/windows/
electron-main
/window
'
;
import
{
NativeParsedArgs
}
from
'
vs/platform/environment/common/argv
'
;
import
{
Event
}
from
'
vs/base/common/event
'
;
import
{
createDecorator
}
from
'
vs/platform/instantiation/common/instantiation
'
;
...
...
src/vs/platform/windows/electron-main/windowsMainService.ts
浏览文件 @
878bf135
...
...
@@ -18,7 +18,7 @@ import { ILifecycleMainService, UnloadReason, LifecycleMainService, LifecycleMai
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
IWindowSettings
,
IPath
,
isFileToOpen
,
isWorkspaceToOpen
,
isFolderToOpen
,
IWindowOpenable
,
IOpenEmptyWindowOptions
,
IAddFoldersRequest
,
IPathsToWaitFor
,
INativeWindowConfiguration
}
from
'
vs/platform/windows/common/windows
'
;
import
{
getLastActiveWindow
,
findBestWindowOrFolderForFile
,
findWindowOnWorkspace
,
findWindowOnExtensionDevelopmentPath
,
findWindowOnWorkspaceOrFolderUri
,
OpenContext
}
from
'
vs/platform/windows/
node
/window
'
;
import
{
getLastActiveWindow
,
findBestWindowOrFolderForFile
,
findWindowOnWorkspace
,
findWindowOnExtensionDevelopmentPath
,
findWindowOnWorkspaceOrFolderUri
,
OpenContext
}
from
'
vs/platform/windows/
electron-main
/window
'
;
import
{
Emitter
}
from
'
vs/base/common/event
'
;
import
product
from
'
vs/platform/product/common/product
'
;
import
{
IWindowsMainService
,
IOpenConfiguration
,
IWindowsCountChangedEvent
,
ICodeWindow
,
IWindowState
as
ISingleWindowState
,
WindowMode
,
IOpenEmptyConfiguration
}
from
'
vs/platform/windows/electron-main/windows
'
;
...
...
@@ -34,7 +34,7 @@ import { restoreWindowsState, WindowsStateStorageData, getWindowsStateStoreData
import
{
getWorkspaceIdentifier
,
IWorkspacesMainService
}
from
'
vs/platform/workspaces/electron-main/workspacesMainService
'
;
import
{
once
}
from
'
vs/base/common/functional
'
;
import
{
Disposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
IDialogMainService
}
from
'
vs/platform/dialogs/electron-main/dialog
s
'
;
import
{
IDialogMainService
}
from
'
vs/platform/dialogs/electron-main/dialog
MainService
'
;
import
{
withNullAsUndefined
}
from
'
vs/base/common/types
'
;
import
{
isWindowsDriveLetter
,
toSlashes
,
parseLineAndColumnAware
}
from
'
vs/base/common/extpath
'
;
import
{
CharCode
}
from
'
vs/base/common/charCode
'
;
...
...
src/vs/platform/windows/test/
node
/window.test.ts
→
src/vs/platform/windows/test/
electron-main
/window.test.ts
浏览文件 @
878bf135
...
...
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import
*
as
assert
from
'
assert
'
;
import
*
as
path
from
'
vs/base/common/path
'
;
import
{
IBestWindowOrFolderOptions
,
IWindowContext
,
findBestWindowOrFolderForFile
,
OpenContext
}
from
'
vs/platform/windows/
node
/window
'
;
import
{
IBestWindowOrFolderOptions
,
IWindowContext
,
findBestWindowOrFolderForFile
,
OpenContext
}
from
'
vs/platform/windows/
electron-main
/window
'
;
import
{
IWorkspaceIdentifier
}
from
'
vs/platform/workspaces/common/workspaces
'
;
import
{
toWorkspaceFolders
}
from
'
vs/platform/workspace/common/workspace
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
...
...
src/vs/platform/windows/test/electron-main/windowsStateStorage.test.ts
浏览文件 @
878bf135
...
...
@@ -286,7 +286,5 @@ suite('Windows State Storing', () => {
}
};
assertEqualWindowsState
(
expected
,
windowsState
,
'
v1_32_empty_window
'
);
});
});
src/vs/platform/workspaces/electron-main/workspacesMainService.ts
浏览文件 @
878bf135
...
...
@@ -25,8 +25,8 @@ import product from 'vs/platform/product/common/product';
import
{
MessageBoxOptions
,
BrowserWindow
}
from
'
electron
'
;
import
{
withNullAsUndefined
}
from
'
vs/base/common/types
'
;
import
{
IBackupMainService
}
from
'
vs/platform/backup/electron-main/backup
'
;
import
{
IDialogMainService
}
from
'
vs/platform/dialogs/electron-main/dialog
s
'
;
import
{
findWindowOnWorkspace
}
from
'
vs/platform/windows/
node
/window
'
;
import
{
IDialogMainService
}
from
'
vs/platform/dialogs/electron-main/dialog
MainService
'
;
import
{
findWindowOnWorkspace
}
from
'
vs/platform/windows/
electron-main
/window
'
;
export
const
IWorkspacesMainService
=
createDecorator
<
IWorkspacesMainService
>
(
'
workspacesMainService
'
);
...
...
src/vs/platform/workspaces/test/electron-main/workspacesMainService.test.ts
浏览文件 @
878bf135
...
...
@@ -18,7 +18,7 @@ import { getRandomTestPath } from 'vs/base/test/node/testUtils';
import
{
isWindows
}
from
'
vs/base/common/platform
'
;
import
{
normalizeDriveLetter
}
from
'
vs/base/common/labels
'
;
import
{
dirname
,
joinPath
}
from
'
vs/base/common/resources
'
;
import
{
IDialogMainService
}
from
'
vs/platform/dialogs/electron-main/dialog
s
'
;
import
{
IDialogMainService
}
from
'
vs/platform/dialogs/electron-main/dialog
MainService
'
;
import
{
INativeOpenDialogOptions
}
from
'
vs/platform/dialogs/common/dialogs
'
;
import
{
IBackupMainService
,
IWorkspaceBackupInfo
}
from
'
vs/platform/backup/electron-main/backup
'
;
import
{
IEmptyWindowBackupInfo
}
from
'
vs/platform/backup/node/backup
'
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录