Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
ca4dd67a
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,发现更多精彩内容 >>
提交
ca4dd67a
编写于
10月 12, 2020
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
debt - introduce environment main service to have properties there exclusively
上级
47116a8a
变更
26
隐藏空白更改
内联
并排
Showing
26 changed file
with
98 addition
and
68 deletion
+98
-68
src/vs/code/electron-browser/sharedProcess/contrib/storageDataCleaner.ts
...ctron-browser/sharedProcess/contrib/storageDataCleaner.ts
+16
-10
src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts
.../code/electron-browser/sharedProcess/sharedProcessMain.ts
+2
-1
src/vs/code/electron-main/app.ts
src/vs/code/electron-main/app.ts
+2
-2
src/vs/code/electron-main/main.ts
src/vs/code/electron-main/main.ts
+9
-7
src/vs/code/electron-main/sharedProcess.ts
src/vs/code/electron-main/sharedProcess.ts
+4
-3
src/vs/code/electron-main/window.ts
src/vs/code/electron-main/window.ts
+2
-2
src/vs/platform/backup/electron-main/backupMainService.ts
src/vs/platform/backup/electron-main/backupMainService.ts
+2
-2
src/vs/platform/backup/test/electron-main/backupMainService.test.ts
...tform/backup/test/electron-main/backupMainService.test.ts
+2
-2
src/vs/platform/driver/electron-main/driver.ts
src/vs/platform/driver/electron-main/driver.ts
+2
-2
src/vs/platform/environment/common/environment.ts
src/vs/platform/environment/common/environment.ts
+0
-2
src/vs/platform/environment/electron-main/environmentMainService.ts
...tform/environment/electron-main/environmentMainService.ts
+30
-0
src/vs/platform/environment/node/environmentService.ts
src/vs/platform/environment/node/environmentService.ts
+0
-6
src/vs/platform/issue/electron-main/issueMainService.ts
src/vs/platform/issue/electron-main/issueMainService.ts
+2
-2
src/vs/platform/menubar/electron-main/menubar.ts
src/vs/platform/menubar/electron-main/menubar.ts
+2
-2
src/vs/platform/native/electron-main/nativeHostMainService.ts
...vs/platform/native/electron-main/nativeHostMainService.ts
+2
-2
src/vs/platform/update/electron-main/abstractUpdateService.ts
...vs/platform/update/electron-main/abstractUpdateService.ts
+2
-2
src/vs/platform/update/electron-main/updateService.darwin.ts
src/vs/platform/update/electron-main/updateService.darwin.ts
+2
-2
src/vs/platform/update/electron-main/updateService.linux.ts
src/vs/platform/update/electron-main/updateService.linux.ts
+2
-2
src/vs/platform/update/electron-main/updateService.snap.ts
src/vs/platform/update/electron-main/updateService.snap.ts
+3
-3
src/vs/platform/update/electron-main/updateService.win32.ts
src/vs/platform/update/electron-main/updateService.win32.ts
+2
-2
src/vs/platform/url/electron-main/electronUrlListener.ts
src/vs/platform/url/electron-main/electronUrlListener.ts
+2
-2
src/vs/platform/windows/electron-main/windowsMainService.ts
src/vs/platform/windows/electron-main/windowsMainService.ts
+2
-2
src/vs/platform/workspaces/electron-main/workspacesHistoryMainService.ts
.../workspaces/electron-main/workspacesHistoryMainService.ts
+2
-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
+2
-2
src/vs/workbench/electron-sandbox/sandbox.simpleservices.ts
src/vs/workbench/electron-sandbox/sandbox.simpleservices.ts
+0
-2
未找到文件。
src/vs/code/electron-browser/sharedProcess/contrib/storageDataCleaner.ts
浏览文件 @
ca4dd67a
...
...
@@ -16,6 +16,7 @@ export class StorageDataCleaner extends Disposable {
private
static
readonly
NON_EMPTY_WORKSPACE_ID_LENGTH
=
128
/
4
;
constructor
(
private
readonly
backupWorkspacesPath
:
string
,
@
INativeEnvironmentService
private
readonly
environmentService
:
INativeEnvironmentService
)
{
super
();
...
...
@@ -27,14 +28,17 @@ export class StorageDataCleaner extends Disposable {
let
handle
:
NodeJS
.
Timeout
|
undefined
=
setTimeout
(()
=>
{
handle
=
undefined
;
// Leverage the backup workspace file to find out which empty workspace is currently in use to
// determine which empty workspace storage can safely be deleted
readFile
(
this
.
environmentService
.
backupWorkspacesPath
,
'
utf8
'
).
then
(
contents
=>
{
const
workspaces
=
JSON
.
parse
(
contents
)
as
IBackupWorkspacesFormat
;
const
emptyWorkspaces
=
workspaces
.
emptyWorkspaceInfos
.
map
(
info
=>
info
.
backupFolder
);
(
async
()
=>
{
try
{
// Leverage the backup workspace file to find out which empty workspace is currently in use to
// determine which empty workspace storage can safely be deleted
const
contents
=
await
readFile
(
this
.
backupWorkspacesPath
,
'
utf8
'
);
// Read all workspace storage folders that exist
return
readdir
(
this
.
environmentService
.
workspaceStorageHome
.
fsPath
).
then
(
storageFolders
=>
{
const
workspaces
=
JSON
.
parse
(
contents
)
as
IBackupWorkspacesFormat
;
const
emptyWorkspaces
=
workspaces
.
emptyWorkspaceInfos
.
map
(
info
=>
info
.
backupFolder
);
// Read all workspace storage folders that exist
const
storageFolders
=
await
readdir
(
this
.
environmentService
.
workspaceStorageHome
.
fsPath
);
const
deletes
:
Promise
<
void
>
[]
=
[];
storageFolders
.
forEach
(
storageFolder
=>
{
...
...
@@ -47,9 +51,11 @@ export class StorageDataCleaner extends Disposable {
}
});
return
Promise
.
all
(
deletes
);
});
}).
then
(
null
,
onUnexpectedError
);
await
Promise
.
all
(
deletes
);
}
catch
(
error
)
{
onUnexpectedError
(
error
);
}
})();
},
30
*
1000
);
this
.
_register
(
toDisposable
(()
=>
{
...
...
src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts
浏览文件 @
ca4dd67a
...
...
@@ -84,6 +84,7 @@ interface ISharedProcessInitData {
sharedIPCHandle
:
string
;
args
:
NativeParsedArgs
;
logLevel
:
LogLevel
;
backupWorkspacesPath
:
string
;
}
const
eventPrefix
=
'
monacoworkbench
'
;
...
...
@@ -262,7 +263,7 @@ async function main(server: Server, initData: ISharedProcessInitData, configurat
disposables
.
add
(
combinedDisposable
(
instantiationService2
.
createInstance
(
NodeCachedDataCleaner
),
instantiationService2
.
createInstance
(
LanguagePackCachedDataCleaner
),
instantiationService2
.
createInstance
(
StorageDataCleaner
),
instantiationService2
.
createInstance
(
StorageDataCleaner
,
initData
.
backupWorkspacesPath
),
instantiationService2
.
createInstance
(
LogsDataCleaner
),
userDataAutoSync
));
...
...
src/vs/code/electron-main/app.ts
浏览文件 @
ca4dd67a
...
...
@@ -22,7 +22,7 @@ import { ServiceCollection } from 'vs/platform/instantiation/common/serviceColle
import
{
SyncDescriptor
}
from
'
vs/platform/instantiation/common/descriptors
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
IStateService
}
from
'
vs/platform/state/node/state
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IURLService
}
from
'
vs/platform/url/common/url
'
;
import
{
URLHandlerChannelClient
,
URLHandlerRouter
}
from
'
vs/platform/url/common/urlIpc
'
;
...
...
@@ -93,7 +93,7 @@ export class CodeApplication extends Disposable {
private
readonly
userEnv
:
IProcessEnvironment
,
@
IInstantiationService
private
readonly
instantiationService
:
IInstantiationService
,
@
ILogService
private
readonly
logService
:
ILogService
,
@
I
NativeEnvironmentService
private
readonly
environmentService
:
INativeEnvironment
Service
,
@
I
EnvironmentMainService
private
readonly
environmentService
:
IEnvironmentMain
Service
,
@
ILifecycleMainService
private
readonly
lifecycleMainService
:
ILifecycleMainService
,
@
IConfigurationService
private
readonly
configurationService
:
IConfigurationService
,
@
IStateService
private
readonly
stateService
:
IStateService
...
...
src/vs/code/electron-main/main.ts
浏览文件 @
ca4dd67a
...
...
@@ -24,7 +24,7 @@ import { StateService } from 'vs/platform/state/node/stateService';
import
{
IStateService
}
from
'
vs/platform/state/node/state
'
;
import
{
IEnvironmentService
,
INativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
NativeParsedArgs
}
from
'
vs/platform/environment/common/argv
'
;
import
{
NativeEnvironmentService
,
xdgRuntimeDir
}
from
'
vs/platform/environment/node/environmentService
'
;
import
{
xdgRuntimeDir
}
from
'
vs/platform/environment/node/environmentService
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
ConfigurationService
}
from
'
vs/platform/configuration/common/configurationService
'
;
import
{
IRequestService
}
from
'
vs/platform/request/common/request
'
;
...
...
@@ -54,6 +54,7 @@ import { isNumber } from 'vs/base/common/types';
import
{
rtrim
,
trim
}
from
'
vs/base/common/strings
'
;
import
{
basename
,
resolve
}
from
'
vs/base/common/path
'
;
import
{
coalesce
,
distinct
}
from
'
vs/base/common/arrays
'
;
import
{
EnvironmentMainService
,
IEnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
class
ExpectedError
extends
Error
{
readonly
isExpected
=
true
;
...
...
@@ -146,13 +147,14 @@ class CodeMain {
}
}
private
createServices
(
args
:
NativeParsedArgs
,
bufferLogService
:
BufferLogService
):
[
IInstantiationService
,
IProcessEnvironment
,
I
NativeEnvironment
Service
]
{
private
createServices
(
args
:
NativeParsedArgs
,
bufferLogService
:
BufferLogService
):
[
IInstantiationService
,
IProcessEnvironment
,
I
EnvironmentMain
Service
]
{
const
services
=
new
ServiceCollection
();
const
environmentService
=
new
NativeEnvironment
Service
(
args
);
const
environmentService
=
new
EnvironmentMain
Service
(
args
);
const
instanceEnvironment
=
this
.
patchEnvironment
(
environmentService
);
// Patch `process.env` with the instance's environment
services
.
set
(
IEnvironmentService
,
environmentService
);
services
.
set
(
INativeEnvironmentService
,
environmentService
);
services
.
set
(
IEnvironmentMainService
,
environmentService
);
const
logService
=
new
MultiplexLogService
([
new
ConsoleLogMainService
(
getLogLevel
(
environmentService
)),
bufferLogService
]);
process
.
once
(
'
exit
'
,
()
=>
logService
.
dispose
());
...
...
@@ -176,7 +178,7 @@ class CodeMain {
return
[
new
InstantiationService
(
services
,
true
),
instanceEnvironment
,
environmentService
];
}
private
initServices
(
environmentService
:
I
NativeEnvironment
Service
,
configurationService
:
ConfigurationService
,
stateService
:
StateService
):
Promise
<
unknown
>
{
private
initServices
(
environmentService
:
I
EnvironmentMain
Service
,
configurationService
:
ConfigurationService
,
stateService
:
StateService
):
Promise
<
unknown
>
{
// Environment service (paths)
const
environmentServiceInitialization
=
Promise
.
all
<
void
|
undefined
>
([
...
...
@@ -197,7 +199,7 @@ class CodeMain {
return
Promise
.
all
([
environmentServiceInitialization
,
configurationServiceInitialization
,
stateServiceInitialization
]);
}
private
patchEnvironment
(
environmentService
:
I
NativeEnvironment
Service
):
IProcessEnvironment
{
private
patchEnvironment
(
environmentService
:
I
EnvironmentMain
Service
):
IProcessEnvironment
{
const
instanceEnvironment
:
IProcessEnvironment
=
{
VSCODE_IPC_HOOK
:
environmentService
.
mainIPCHandle
};
...
...
@@ -214,7 +216,7 @@ class CodeMain {
return
instanceEnvironment
;
}
private
async
doStartup
(
args
:
NativeParsedArgs
,
logService
:
ILogService
,
environmentService
:
I
NativeEnvironment
Service
,
lifecycleMainService
:
ILifecycleMainService
,
instantiationService
:
IInstantiationService
,
retry
:
boolean
):
Promise
<
Server
>
{
private
async
doStartup
(
args
:
NativeParsedArgs
,
logService
:
ILogService
,
environmentService
:
I
EnvironmentMain
Service
,
lifecycleMainService
:
ILifecycleMainService
,
instantiationService
:
IInstantiationService
,
retry
:
boolean
):
Promise
<
Server
>
{
// Try to setup a server for running. If that succeeds it means
// we are the first instance to startup. Otherwise it is likely
...
...
@@ -343,7 +345,7 @@ class CodeMain {
return
server
;
}
private
handleStartupDataDirError
(
environmentService
:
I
NativeEnvironment
Service
,
error
:
NodeJS
.
ErrnoException
):
void
{
private
handleStartupDataDirError
(
environmentService
:
I
EnvironmentMain
Service
,
error
:
NodeJS
.
ErrnoException
):
void
{
if
(
error
.
code
===
'
EACCES
'
||
error
.
code
===
'
EPERM
'
)
{
const
directories
=
[
environmentService
.
userDataPath
];
...
...
src/vs/code/electron-main/sharedProcess.ts
浏览文件 @
ca4dd67a
...
...
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import
{
memoize
}
from
'
vs/base/common/decorators
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
BrowserWindow
,
ipcMain
,
WebContents
,
Event
as
ElectronEvent
}
from
'
electron
'
;
import
{
ISharedProcess
}
from
'
vs/platform/ipc/electron-main/sharedProcessMainService
'
;
import
{
Barrier
}
from
'
vs/base/common/async
'
;
...
...
@@ -26,7 +26,7 @@ export class SharedProcess implements ISharedProcess {
constructor
(
private
readonly
machineId
:
string
,
private
userEnv
:
NodeJS
.
ProcessEnv
,
@
I
NativeEnvironmentService
private
readonly
environmentService
:
INativeEnvironment
Service
,
@
I
EnvironmentMainService
private
readonly
environmentService
:
IEnvironmentMain
Service
,
@
ILifecycleMainService
private
readonly
lifecycleMainService
:
ILifecycleMainService
,
@
ILogService
private
readonly
logService
:
ILogService
,
@
IThemeMainService
private
readonly
themeMainService
:
IThemeMainService
...
...
@@ -115,7 +115,8 @@ export class SharedProcess implements ISharedProcess {
sender
.
send
(
'
vscode:electron-main->shared-process=payload
'
,
{
sharedIPCHandle
:
this
.
environmentService
.
sharedIPCHandle
,
args
:
this
.
environmentService
.
args
,
logLevel
:
this
.
logService
.
getLevel
()
logLevel
:
this
.
logService
.
getLevel
(),
backupWorkspacesPath
:
this
.
environmentService
.
backupWorkspacesPath
});
// signal exit to shared process when we get disposed
...
...
src/vs/code/electron-main/window.ts
浏览文件 @
ca4dd67a
...
...
@@ -9,7 +9,7 @@ import * as nls from 'vs/nls';
import
{
Emitter
}
from
'
vs/base/common/event
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
screen
,
BrowserWindow
,
systemPreferences
,
app
,
TouchBar
,
nativeImage
,
Rectangle
,
Display
,
TouchBarSegmentedControl
,
NativeImage
,
BrowserWindowConstructorOptions
,
SegmentedControlSegment
,
nativeTheme
,
Event
,
Details
}
from
'
electron
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
parseArgs
,
OPTIONS
}
from
'
vs/platform/environment/node/argv
'
;
...
...
@@ -122,7 +122,7 @@ export class CodeWindow extends Disposable implements ICodeWindow {
constructor
(
config
:
IWindowCreationOptions
,
@
ILogService
private
readonly
logService
:
ILogService
,
@
I
NativeEnvironmentService
private
readonly
environmentService
:
INativeEnvironment
Service
,
@
I
EnvironmentMainService
private
readonly
environmentService
:
IEnvironmentMain
Service
,
@
IFileService
private
readonly
fileService
:
IFileService
,
@
IStorageMainService
private
readonly
storageService
:
IStorageMainService
,
@
IConfigurationService
private
readonly
configurationService
:
IConfigurationService
,
...
...
src/vs/platform/backup/electron-main/backupMainService.ts
浏览文件 @
ca4dd67a
...
...
@@ -10,7 +10,7 @@ import * as platform from 'vs/base/common/platform';
import
{
writeFileSync
,
writeFile
,
readFile
,
readdir
,
exists
,
rimraf
,
rename
,
RimRafMode
}
from
'
vs/base/node/pfs
'
;
import
{
IBackupMainService
,
IWorkspaceBackupInfo
,
isWorkspaceBackupInfo
}
from
'
vs/platform/backup/electron-main/backup
'
;
import
{
IBackupWorkspacesFormat
,
IEmptyWindowBackupInfo
}
from
'
vs/platform/backup/node/backup
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IFilesConfiguration
,
HotExitConfiguration
}
from
'
vs/platform/files/common/files
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
...
...
@@ -38,7 +38,7 @@ export class BackupMainService implements IBackupMainService {
private
readonly
backupPathComparer
=
{
isEqual
:
(
pathA
:
string
,
pathB
:
string
)
=>
isEqual
(
pathA
,
pathB
,
!
platform
.
isLinux
)
};
constructor
(
@
I
NativeEnvironmentService
environmentService
:
INativeEnvironment
Service
,
@
I
EnvironmentMainService
environmentService
:
IEnvironmentMain
Service
,
@
IConfigurationService
private
readonly
configurationService
:
IConfigurationService
,
@
ILogService
private
readonly
logService
:
ILogService
)
{
...
...
src/vs/platform/backup/test/electron-main/backupMainService.test.ts
浏览文件 @
ca4dd67a
...
...
@@ -10,7 +10,7 @@ import * as os from 'os';
import
*
as
path
from
'
vs/base/common/path
'
;
import
*
as
pfs
from
'
vs/base/node/pfs
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
NativeEnvironmentService
}
from
'
vs/platform/environment/node/environment
Service
'
;
import
{
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMain
Service
'
;
import
{
parseArgs
,
OPTIONS
}
from
'
vs/platform/environment/node/argv
'
;
import
{
BackupMainService
}
from
'
vs/platform/backup/electron-main/backupMainService
'
;
import
{
IWorkspaceBackupInfo
}
from
'
vs/platform/backup/electron-main/backup
'
;
...
...
@@ -34,7 +34,7 @@ suite('BackupMainService', () => {
const
backupHome
=
path
.
join
(
parentDir
,
'
Backups
'
);
const
backupWorkspacesPath
=
path
.
join
(
backupHome
,
'
workspaces.json
'
);
const
environmentService
=
new
NativeEnvironment
Service
(
parseArgs
(
process
.
argv
,
OPTIONS
));
const
environmentService
=
new
EnvironmentMain
Service
(
parseArgs
(
process
.
argv
,
OPTIONS
));
class
TestBackupMainService
extends
BackupMainService
{
...
...
src/vs/platform/driver/electron-main/driver.ts
浏览文件 @
ca4dd67a
...
...
@@ -13,7 +13,7 @@ import { SimpleKeybinding, KeyCode } from 'vs/base/common/keyCodes';
import
{
USLayoutResolvedKeybinding
}
from
'
vs/platform/keybinding/common/usLayoutResolvedKeybinding
'
;
import
{
OS
}
from
'
vs/base/common/platform
'
;
import
{
Emitter
,
Event
}
from
'
vs/base/common/event
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
ScanCodeBinding
}
from
'
vs/base/common/scanCode
'
;
import
{
KeybindingParser
}
from
'
vs/base/common/keybindingParser
'
;
import
{
timeout
}
from
'
vs/base/common/async
'
;
...
...
@@ -207,7 +207,7 @@ export class Driver implements IDriver, IWindowDriverRegistry {
export
async
function
serve
(
windowServer
:
IPCServer
,
handle
:
string
,
environmentService
:
I
NativeEnvironment
Service
,
environmentService
:
I
EnvironmentMain
Service
,
instantiationService
:
IInstantiationService
):
Promise
<
IDisposable
>
{
const
verbose
=
environmentService
.
driverVerbose
;
...
...
src/vs/platform/environment/common/environment.ts
浏览文件 @
ca4dd67a
...
...
@@ -100,8 +100,6 @@ export interface INativeEnvironmentService extends IEnvironmentService {
tmpDir
:
URI
;
userDataPath
:
string
;
machineSettingsResource
:
URI
;
backupHome
:
string
;
backupWorkspacesPath
:
string
;
nodeCachedDataDir
?:
string
;
installSourcePath
:
string
;
...
...
src/vs/platform/environment/electron-main/environmentMainService.ts
0 → 100644
浏览文件 @
ca4dd67a
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
{
join
}
from
'
vs/base/common/path
'
;
import
{
memoize
}
from
'
vs/base/common/decorators
'
;
import
{
createDecorator
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
INativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
NativeEnvironmentService
}
from
'
vs/platform/environment/node/environmentService
'
;
export
const
IEnvironmentMainService
=
createDecorator
<
IEnvironmentMainService
>
(
'
environmentMainService
'
);
/**
* A subclass of the `INativeEnvironmentService` to be used only in electron-main
* environments.
*/
export
interface
IEnvironmentMainService
extends
INativeEnvironmentService
{
backupHome
:
string
;
backupWorkspacesPath
:
string
;
}
export
class
EnvironmentMainService
extends
NativeEnvironmentService
{
@
memoize
get
backupHome
():
string
{
return
join
(
this
.
userDataPath
,
'
Backups
'
);
}
@
memoize
get
backupWorkspacesPath
():
string
{
return
join
(
this
.
backupHome
,
'
workspaces.json
'
);
}
}
src/vs/platform/environment/node/environmentService.ts
浏览文件 @
ca4dd67a
...
...
@@ -93,12 +93,6 @@ export class NativeEnvironmentService implements INativeEnvironmentService {
@
memoize
get
isExtensionDevelopment
():
boolean
{
return
!!
this
.
_args
.
extensionDevelopmentPath
;
}
@
memoize
get
backupHome
():
string
{
return
path
.
join
(
this
.
userDataPath
,
'
Backups
'
);
}
@
memoize
get
backupWorkspacesPath
():
string
{
return
path
.
join
(
this
.
backupHome
,
'
workspaces.json
'
);
}
@
memoize
get
untitledWorkspacesHome
():
URI
{
return
URI
.
file
(
path
.
join
(
this
.
userDataPath
,
'
Workspaces
'
));
}
...
...
src/vs/platform/issue/electron-main/issueMainService.ts
浏览文件 @
ca4dd67a
...
...
@@ -12,7 +12,7 @@ import { BrowserWindow, ipcMain, screen, IpcMainEvent, Display, shell } from 'el
import
{
ILaunchMainService
}
from
'
vs/platform/launch/electron-main/launchMainService
'
;
import
{
PerformanceInfo
,
isRemoteDiagnosticError
}
from
'
vs/platform/diagnostics/common/diagnostics
'
;
import
{
IDiagnosticsService
}
from
'
vs/platform/diagnostics/node/diagnosticsService
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
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
'
;
...
...
@@ -38,7 +38,7 @@ export class IssueMainService implements ICommonIssueService {
constructor
(
private
machineId
:
string
,
private
userEnv
:
IProcessEnvironment
,
@
I
NativeEnvironmentService
private
readonly
environmentService
:
INativeEnvironment
Service
,
@
I
EnvironmentMainService
private
readonly
environmentService
:
IEnvironmentMain
Service
,
@
ILaunchMainService
private
readonly
launchMainService
:
ILaunchMainService
,
@
ILogService
private
readonly
logService
:
ILogService
,
@
IDiagnosticsService
private
readonly
diagnosticsService
:
IDiagnosticsService
,
...
...
src/vs/platform/menubar/electron-main/menubar.ts
浏览文件 @
ca4dd67a
...
...
@@ -5,7 +5,7 @@
import
*
as
nls
from
'
vs/nls
'
;
import
{
isMacintosh
,
language
}
from
'
vs/base/common/platform
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
app
,
shell
,
Menu
,
MenuItem
,
BrowserWindow
,
MenuItemConstructorOptions
,
WebContents
,
Event
,
KeyboardEvent
}
from
'
electron
'
;
import
{
getTitleBarStyle
,
INativeRunActionInWindowRequest
,
INativeRunKeybindingInWindowRequest
,
IWindowOpenable
}
from
'
vs/platform/windows/common/windows
'
;
import
{
OpenContext
}
from
'
vs/platform/windows/node/window
'
;
...
...
@@ -67,7 +67,7 @@ export class Menubar {
@
IUpdateService
private
readonly
updateService
:
IUpdateService
,
@
IConfigurationService
private
readonly
configurationService
:
IConfigurationService
,
@
IWindowsMainService
private
readonly
windowsMainService
:
IWindowsMainService
,
@
I
NativeEnvironmentService
private
readonly
environmentService
:
INativeEnvironment
Service
,
@
I
EnvironmentMainService
private
readonly
environmentService
:
IEnvironmentMain
Service
,
@
ITelemetryService
private
readonly
telemetryService
:
ITelemetryService
,
@
IWorkspacesHistoryMainService
private
readonly
workspacesHistoryMainService
:
IWorkspacesHistoryMainService
,
@
IStateService
private
readonly
stateService
:
IStateService
,
...
...
src/vs/platform/native/electron-main/nativeHostMainService.ts
浏览文件 @
ca4dd67a
...
...
@@ -13,7 +13,7 @@ import { INativeOpenDialogOptions } from 'vs/platform/dialogs/common/dialogs';
import
{
isMacintosh
,
isWindows
,
isRootUser
,
isLinux
}
from
'
vs/base/common/platform
'
;
import
{
ICommonNativeHostService
,
IOSProperties
,
IOSStatistics
}
from
'
vs/platform/native/common/native
'
;
import
{
ISerializableCommandAction
}
from
'
vs/platform/actions/common/actions
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
AddFirstParameterToFunctions
}
from
'
vs/base/common/types
'
;
import
{
IDialogMainService
}
from
'
vs/platform/dialogs/electron-main/dialogs
'
;
import
{
dirExists
}
from
'
vs/base/node/pfs
'
;
...
...
@@ -40,7 +40,7 @@ export class NativeHostMainService implements INativeHostMainService {
@
IWindowsMainService
private
readonly
windowsMainService
:
IWindowsMainService
,
@
IDialogMainService
private
readonly
dialogMainService
:
IDialogMainService
,
@
ILifecycleMainService
private
readonly
lifecycleMainService
:
ILifecycleMainService
,
@
I
NativeEnvironmentService
private
readonly
environmentService
:
INativeEnvironment
Service
,
@
I
EnvironmentMainService
private
readonly
environmentService
:
IEnvironmentMain
Service
,
@
ITelemetryService
private
readonly
telemetryService
:
ITelemetryService
,
@
ILogService
private
readonly
logService
:
ILogService
)
{
...
...
src/vs/platform/update/electron-main/abstractUpdateService.ts
浏览文件 @
ca4dd67a
...
...
@@ -9,7 +9,7 @@ import { IConfigurationService, getMigratedSettingValue } from 'vs/platform/conf
import
{
ILifecycleMainService
}
from
'
vs/platform/lifecycle/electron-main/lifecycleMainService
'
;
import
product
from
'
vs/platform/product/common/product
'
;
import
{
IUpdateService
,
State
,
StateType
,
AvailableForDownload
,
UpdateType
}
from
'
vs/platform/update/common/update
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
IRequestService
}
from
'
vs/platform/request/common/request
'
;
import
{
CancellationToken
}
from
'
vs/base/common/cancellation
'
;
...
...
@@ -46,7 +46,7 @@ export abstract class AbstractUpdateService implements IUpdateService {
constructor
(
@
ILifecycleMainService
private
readonly
lifecycleMainService
:
ILifecycleMainService
,
@
IConfigurationService
protected
configurationService
:
IConfigurationService
,
@
I
NativeEnvironmentService
private
readonly
environmentService
:
INativeEnvironment
Service
,
@
I
EnvironmentMainService
private
readonly
environmentService
:
IEnvironmentMain
Service
,
@
IRequestService
protected
requestService
:
IRequestService
,
@
ILogService
protected
logService
:
ILogService
,
)
{
}
...
...
src/vs/platform/update/electron-main/updateService.darwin.ts
浏览文件 @
ca4dd67a
...
...
@@ -11,7 +11,7 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur
import
{
ILifecycleMainService
}
from
'
vs/platform/lifecycle/electron-main/lifecycleMainService
'
;
import
{
State
,
IUpdate
,
StateType
,
UpdateType
}
from
'
vs/platform/update/common/update
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
AbstractUpdateService
,
createUpdateURL
,
UpdateNotAvailableClassification
}
from
'
vs/platform/update/electron-main/abstractUpdateService
'
;
import
{
IRequestService
}
from
'
vs/platform/request/common/request
'
;
...
...
@@ -31,7 +31,7 @@ export class DarwinUpdateService extends AbstractUpdateService {
@
ILifecycleMainService
lifecycleMainService
:
ILifecycleMainService
,
@
IConfigurationService
configurationService
:
IConfigurationService
,
@
ITelemetryService
private
readonly
telemetryService
:
ITelemetryService
,
@
I
NativeEnvironmentService
environmentService
:
INativeEnvironment
Service
,
@
I
EnvironmentMainService
environmentService
:
IEnvironmentMain
Service
,
@
IRequestService
requestService
:
IRequestService
,
@
ILogService
logService
:
ILogService
)
{
...
...
src/vs/platform/update/electron-main/updateService.linux.ts
浏览文件 @
ca4dd67a
...
...
@@ -8,7 +8,7 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur
import
{
ILifecycleMainService
}
from
'
vs/platform/lifecycle/electron-main/lifecycleMainService
'
;
import
{
State
,
IUpdate
,
AvailableForDownload
,
UpdateType
}
from
'
vs/platform/update/common/update
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
createUpdateURL
,
AbstractUpdateService
,
UpdateNotAvailableClassification
}
from
'
vs/platform/update/electron-main/abstractUpdateService
'
;
import
{
IRequestService
,
asJson
}
from
'
vs/platform/request/common/request
'
;
...
...
@@ -23,7 +23,7 @@ export class LinuxUpdateService extends AbstractUpdateService {
@
ILifecycleMainService
lifecycleMainService
:
ILifecycleMainService
,
@
IConfigurationService
configurationService
:
IConfigurationService
,
@
ITelemetryService
private
readonly
telemetryService
:
ITelemetryService
,
@
I
NativeEnvironmentService
environmentService
:
INativeEnvironment
Service
,
@
I
EnvironmentMainService
environmentService
:
IEnvironmentMain
Service
,
@
IRequestService
requestService
:
IRequestService
,
@
ILogService
logService
:
ILogService
)
{
...
...
src/vs/platform/update/electron-main/updateService.snap.ts
浏览文件 @
ca4dd67a
...
...
@@ -7,7 +7,7 @@ import { Event, Emitter } from 'vs/base/common/event';
import
{
timeout
}
from
'
vs/base/common/async
'
;
import
{
ILifecycleMainService
}
from
'
vs/platform/lifecycle/electron-main/lifecycleMainService
'
;
import
{
IUpdateService
,
State
,
StateType
,
AvailableForDownload
,
UpdateType
}
from
'
vs/platform/update/common/update
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
*
as
path
from
'
vs/base/common/path
'
;
import
{
realpath
,
watch
}
from
'
fs
'
;
...
...
@@ -36,7 +36,7 @@ abstract class AbstractUpdateService2 implements IUpdateService {
constructor
(
@
ILifecycleMainService
private
readonly
lifecycleMainService
:
ILifecycleMainService
,
@
I
NativeEnvironmentService
environmentService
:
INativeEnvironment
Service
,
@
I
EnvironmentMainService
environmentService
:
IEnvironmentMain
Service
,
@
ILogService
protected
logService
:
ILogService
,
)
{
if
(
environmentService
.
disableUpdates
)
{
...
...
@@ -140,7 +140,7 @@ export class SnapUpdateService extends AbstractUpdateService2 {
private
snap
:
string
,
private
snapRevision
:
string
,
@
ILifecycleMainService
lifecycleMainService
:
ILifecycleMainService
,
@
I
NativeEnvironmentService
environmentService
:
INativeEnvironment
Service
,
@
I
EnvironmentMainService
environmentService
:
IEnvironmentMain
Service
,
@
ILogService
logService
:
ILogService
,
@
ITelemetryService
private
readonly
telemetryService
:
ITelemetryService
)
{
...
...
src/vs/platform/update/electron-main/updateService.win32.ts
浏览文件 @
ca4dd67a
...
...
@@ -12,7 +12,7 @@ import { ILifecycleMainService } from 'vs/platform/lifecycle/electron-main/lifec
import
product
from
'
vs/platform/product/common/product
'
;
import
{
State
,
IUpdate
,
StateType
,
AvailableForDownload
,
UpdateType
}
from
'
vs/platform/update/common/update
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
createUpdateURL
,
AbstractUpdateService
,
UpdateNotAvailableClassification
}
from
'
vs/platform/update/electron-main/abstractUpdateService
'
;
import
{
IRequestService
,
asJson
}
from
'
vs/platform/request/common/request
'
;
...
...
@@ -63,7 +63,7 @@ export class Win32UpdateService extends AbstractUpdateService {
@
ILifecycleMainService
lifecycleMainService
:
ILifecycleMainService
,
@
IConfigurationService
configurationService
:
IConfigurationService
,
@
ITelemetryService
private
readonly
telemetryService
:
ITelemetryService
,
@
I
NativeEnvironmentService
environmentService
:
INativeEnvironment
Service
,
@
I
EnvironmentMainService
environmentService
:
IEnvironmentMain
Service
,
@
IRequestService
requestService
:
IRequestService
,
@
ILogService
logService
:
ILogService
,
@
IFileService
private
readonly
fileService
:
IFileService
...
...
src/vs/platform/url/electron-main/electronUrlListener.ts
浏览文件 @
ca4dd67a
...
...
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import
{
Event
}
from
'
vs/base/common/event
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
IURLService
}
from
'
vs/platform/url/common/url
'
;
import
product
from
'
vs/platform/product/common/product
'
;
import
{
app
,
Event
as
ElectronEvent
}
from
'
electron
'
;
...
...
@@ -43,7 +43,7 @@ export class ElectronURLListener {
initialUrisToHandle
:
URI
[],
private
readonly
urlService
:
IURLService
,
windowsMainService
:
IWindowsMainService
,
environmentService
:
I
NativeEnvironment
Service
environmentService
:
I
EnvironmentMain
Service
)
{
// the initial set of URIs we need to handle once the window is ready
...
...
src/vs/platform/windows/electron-main/windowsMainService.ts
浏览文件 @
ca4dd67a
...
...
@@ -10,7 +10,7 @@ import * as arrays from 'vs/base/common/arrays';
import
{
mixin
}
from
'
vs/base/common/objects
'
;
import
{
IBackupMainService
}
from
'
vs/platform/backup/electron-main/backup
'
;
import
{
IEmptyWindowBackupInfo
}
from
'
vs/platform/backup/node/backup
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
NativeParsedArgs
}
from
'
vs/platform/environment/common/argv
'
;
import
{
IStateService
}
from
'
vs/platform/state/node/state
'
;
import
{
CodeWindow
,
defaultWindowState
}
from
'
vs/code/electron-main/window
'
;
...
...
@@ -177,7 +177,7 @@ export class WindowsMainService extends Disposable implements IWindowsMainServic
private
readonly
initialUserEnv
:
IProcessEnvironment
,
@
ILogService
private
readonly
logService
:
ILogService
,
@
IStateService
private
readonly
stateService
:
IStateService
,
@
I
NativeEnvironmentService
private
readonly
environmentService
:
INativeEnvironment
Service
,
@
I
EnvironmentMainService
private
readonly
environmentService
:
IEnvironmentMain
Service
,
@
ILifecycleMainService
private
readonly
lifecycleMainService
:
ILifecycleMainService
,
@
IBackupMainService
private
readonly
backupMainService
:
IBackupMainService
,
@
IConfigurationService
private
readonly
configurationService
:
IConfigurationService
,
...
...
src/vs/platform/workspaces/electron-main/workspacesHistoryMainService.ts
浏览文件 @
ca4dd67a
...
...
@@ -17,7 +17,7 @@ import { ThrottledDelayer } from 'vs/base/common/async';
import
{
isEqual
,
dirname
,
originalFSPath
,
basename
,
extUriBiasedIgnorePathCase
}
from
'
vs/base/common/resources
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
Schemas
}
from
'
vs/base/common/network
'
;
import
{
I
NativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
I
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
exists
}
from
'
vs/base/node/pfs
'
;
import
{
ILifecycleMainService
,
LifecycleMainPhase
}
from
'
vs/platform/lifecycle/electron-main/lifecycleMainService
'
;
import
{
createDecorator
}
from
'
vs/platform/instantiation/common/instantiation
'
;
...
...
@@ -66,7 +66,7 @@ export class WorkspacesHistoryMainService extends Disposable implements IWorkspa
@
IStateService
private
readonly
stateService
:
IStateService
,
@
ILogService
private
readonly
logService
:
ILogService
,
@
IWorkspacesMainService
private
readonly
workspacesMainService
:
IWorkspacesMainService
,
@
I
NativeEnvironmentService
private
readonly
environmentService
:
INativeEnvironment
Service
,
@
I
EnvironmentMainService
private
readonly
environmentService
:
IEnvironmentMain
Service
,
@
ILifecycleMainService
private
readonly
lifecycleMainService
:
ILifecycleMainService
)
{
super
();
...
...
src/vs/platform/workspaces/electron-main/workspacesMainService.ts
浏览文件 @
ca4dd67a
...
...
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import
{
IWorkspaceIdentifier
,
hasWorkspaceFileExtension
,
UNTITLED_WORKSPACE_NAME
,
IResolvedWorkspace
,
IStoredWorkspaceFolder
,
isStoredWorkspaceFolder
,
IWorkspaceFolderCreationData
,
IUntitledWorkspaceInfo
,
getStoredWorkspaceFolder
,
IEnterWorkspaceResult
,
isUntitledWorkspace
}
from
'
vs/platform/workspaces/common/workspaces
'
;
import
{
IEnvironment
Service
}
from
'
vs/platform/environment/common/environment
'
;
import
{
IEnvironment
MainService
}
from
'
vs/platform/environment/electron-main/environmentMainService
'
;
import
{
join
,
dirname
}
from
'
vs/base/common/path
'
;
import
{
mkdirp
,
writeFile
,
rimrafSync
,
readdirSync
,
writeFileSync
}
from
'
vs/base/node/pfs
'
;
import
{
readFileSync
,
existsSync
,
mkdirSync
}
from
'
fs
'
;
...
...
@@ -75,7 +75,7 @@ export class WorkspacesMainService extends Disposable implements IWorkspacesMain
readonly
onWorkspaceEntered
:
Event
<
IWorkspaceEnteredEvent
>
=
this
.
_onWorkspaceEntered
.
event
;
constructor
(
@
IEnvironment
Service
private
readonly
environmentService
:
IEnvironment
Service
,
@
IEnvironment
MainService
private
readonly
environmentService
:
IEnvironmentMain
Service
,
@
ILogService
private
readonly
logService
:
ILogService
,
@
IBackupMainService
private
readonly
backupMainService
:
IBackupMainService
,
@
IDialogMainService
private
readonly
dialogMainService
:
IDialogMainService
...
...
src/vs/platform/workspaces/test/electron-main/workspacesMainService.test.ts
浏览文件 @
ca4dd67a
...
...
@@ -8,7 +8,7 @@ import * as fs from 'fs';
import
*
as
os
from
'
os
'
;
import
*
as
path
from
'
vs/base/common/path
'
;
import
*
as
pfs
from
'
vs/base/node/pfs
'
;
import
{
NativeEnvironmentService
}
from
'
vs/platform/environment/node/environment
Service
'
;
import
{
EnvironmentMainService
}
from
'
vs/platform/environment/electron-main/environmentMain
Service
'
;
import
{
parseArgs
,
OPTIONS
}
from
'
vs/platform/environment/node/argv
'
;
import
{
WorkspacesMainService
,
IStoredWorkspace
}
from
'
vs/platform/workspaces/electron-main/workspacesMainService
'
;
import
{
WORKSPACE_EXTENSION
,
IRawFileWorkspaceFolder
,
IWorkspaceFolderCreationData
,
IRawUriWorkspaceFolder
,
rewriteWorkspaceFileForNewLocation
,
IWorkspaceIdentifier
,
IStoredWorkspaceFolder
}
from
'
vs/platform/workspaces/common/workspaces
'
;
...
...
@@ -108,7 +108,7 @@ suite('WorkspacesMainService', () => {
const
parentDir
=
getRandomTestPath
(
os
.
tmpdir
(),
'
vsctests
'
,
'
workspacesservice
'
);
const
untitledWorkspacesHomePath
=
path
.
join
(
parentDir
,
'
Workspaces
'
);
class
TestEnvironmentService
extends
NativeEnvironment
Service
{
class
TestEnvironmentService
extends
EnvironmentMain
Service
{
get
untitledWorkspacesHome
():
URI
{
return
URI
.
file
(
untitledWorkspacesHomePath
);
}
...
...
src/vs/workbench/electron-sandbox/sandbox.simpleservices.ts
浏览文件 @
ca4dd67a
...
...
@@ -120,8 +120,6 @@ export class SimpleNativeWorkbenchEnvironmentService implements INativeWorkbench
appSettingsHome
:
URI
=
undefined
!
;
userDataPath
:
string
=
undefined
!
;
machineSettingsResource
:
URI
=
undefined
!
;
backupHome
:
string
=
undefined
!
;
backupWorkspacesPath
:
string
=
undefined
!
;
log
?:
string
|
undefined
;
extHostLogsPath
:
URI
=
undefined
!
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录