Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
eab39144
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 搜索 >>
提交
eab39144
编写于
10月 23, 2019
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
web - more env refactoring and polish
上级
c0ba9bd3
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
47 addition
and
31 deletion
+47
-31
src/vs/workbench/electron-browser/desktop.main.ts
src/vs/workbench/electron-browser/desktop.main.ts
+3
-3
src/vs/workbench/services/backup/test/electron-browser/backupFileService.test.ts
...es/backup/test/electron-browser/backupFileService.test.ts
+2
-2
src/vs/workbench/services/configuration/test/electron-browser/configurationEditingService.test.ts
...test/electron-browser/configurationEditingService.test.ts
+2
-2
src/vs/workbench/services/configuration/test/electron-browser/configurationService.test.ts
...ration/test/electron-browser/configurationService.test.ts
+2
-2
src/vs/workbench/services/configurationResolver/test/electron-browser/configurationResolverService.test.ts
...est/electron-browser/configurationResolverService.test.ts
+2
-2
src/vs/workbench/services/environment/electron-browser/environmentService.ts
...rvices/environment/electron-browser/environmentService.ts
+19
-12
src/vs/workbench/services/keybinding/test/electron-browser/keybindingEditing.test.ts
...eybinding/test/electron-browser/keybindingEditing.test.ts
+2
-2
src/vs/workbench/services/userData/test/electron-browser/fileUserDataProvider.test.ts
...erData/test/electron-browser/fileUserDataProvider.test.ts
+13
-4
src/vs/workbench/test/workbenchTestServices.ts
src/vs/workbench/test/workbenchTestServices.ts
+2
-2
未找到文件。
src/vs/workbench/electron-browser/desktop.main.ts
浏览文件 @
eab39144
...
...
@@ -15,7 +15,7 @@ import { onUnexpectedError } from 'vs/base/common/errors';
import
{
isLinux
,
isMacintosh
,
isWindows
}
from
'
vs/base/common/platform
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
WorkspaceService
}
from
'
vs/workbench/services/configuration/browser/configurationService
'
;
import
{
WorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/node
/environmentService
'
;
import
{
NativeWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/electron-browser
/environmentService
'
;
import
{
IWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/common/environmentService
'
;
import
{
ServiceCollection
}
from
'
vs/platform/instantiation/common/serviceCollection
'
;
import
{
stat
}
from
'
vs/base/node/pfs
'
;
...
...
@@ -56,12 +56,12 @@ import { ElectronEnvironmentService, IElectronEnvironmentService } from 'vs/work
class
DesktopMain
extends
Disposable
{
private
readonly
environmentService
:
WorkbenchEnvironmentService
;
private
readonly
environmentService
:
Native
WorkbenchEnvironmentService
;
constructor
(
private
configuration
:
IWindowConfiguration
)
{
super
();
this
.
environmentService
=
new
WorkbenchEnvironmentService
(
configuration
,
configuration
.
execPath
,
configuration
.
windowId
);
this
.
environmentService
=
new
Native
WorkbenchEnvironmentService
(
configuration
,
configuration
.
execPath
,
configuration
.
windowId
);
this
.
init
();
}
...
...
src/vs/workbench/services/backup/test/
node
/backupFileService.test.ts
→
src/vs/workbench/services/backup/test/
electron-browser
/backupFileService.test.ts
浏览文件 @
eab39144
...
...
@@ -20,7 +20,7 @@ import { IWindowConfiguration } from 'vs/platform/windows/common/windows';
import
{
FileService
}
from
'
vs/platform/files/common/fileService
'
;
import
{
NullLogService
}
from
'
vs/platform/log/common/log
'
;
import
{
DiskFileSystemProvider
}
from
'
vs/platform/files/node/diskFileSystemProvider
'
;
import
{
WorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/node
/environmentService
'
;
import
{
NativeWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/electron-browser
/environmentService
'
;
import
{
parseArgs
,
OPTIONS
}
from
'
vs/platform/environment/node/argv
'
;
import
{
snapshotToString
}
from
'
vs/workbench/services/textfile/common/textfiles
'
;
import
{
IFileService
}
from
'
vs/platform/files/common/files
'
;
...
...
@@ -46,7 +46,7 @@ const fooBackupPath = path.join(workspaceBackupPath, 'file', hashPath(fooFile));
const
barBackupPath
=
path
.
join
(
workspaceBackupPath
,
'
file
'
,
hashPath
(
barFile
));
const
untitledBackupPath
=
path
.
join
(
workspaceBackupPath
,
'
untitled
'
,
hashPath
(
untitledFile
));
class
TestBackupEnvironmentService
extends
WorkbenchEnvironmentService
{
class
TestBackupEnvironmentService
extends
Native
WorkbenchEnvironmentService
{
constructor
(
backupPath
:
string
)
{
super
({
...
parseArgs
(
process
.
argv
,
OPTIONS
),
...{
backupPath
,
'
user-data-dir
'
:
userdataDir
}
}
as
IWindowConfiguration
,
process
.
execPath
,
0
);
...
...
src/vs/workbench/services/configuration/test/electron-browser/configurationEditingService.test.ts
浏览文件 @
eab39144
...
...
@@ -39,11 +39,11 @@ import { DiskFileSystemProvider } from 'vs/platform/files/node/diskFileSystemPro
import
{
IFileService
}
from
'
vs/platform/files/common/files
'
;
import
{
ConfigurationCache
}
from
'
vs/workbench/services/configuration/node/configurationCache
'
;
import
{
KeybindingsEditingService
,
IKeybindingEditingService
}
from
'
vs/workbench/services/keybinding/common/keybindingEditing
'
;
import
{
WorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/node
/environmentService
'
;
import
{
NativeWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/electron-browser
/environmentService
'
;
import
{
IWindowConfiguration
}
from
'
vs/platform/windows/common/windows
'
;
import
{
FileUserDataProvider
}
from
'
vs/workbench/services/userData/common/fileUserDataProvider
'
;
class
TestEnvironmentService
extends
WorkbenchEnvironmentService
{
class
TestEnvironmentService
extends
Native
WorkbenchEnvironmentService
{
constructor
(
private
_appSettingsHome
:
URI
)
{
super
(
parseArgs
(
process
.
argv
,
OPTIONS
)
as
IWindowConfiguration
,
process
.
execPath
,
0
);
...
...
src/vs/workbench/services/configuration/test/electron-browser/configurationService.test.ts
浏览文件 @
eab39144
...
...
@@ -45,10 +45,10 @@ import { IConfigurationCache } from 'vs/workbench/services/configuration/common/
import
{
SignService
}
from
'
vs/platform/sign/browser/signService
'
;
import
{
FileUserDataProvider
}
from
'
vs/workbench/services/userData/common/fileUserDataProvider
'
;
import
{
IKeybindingEditingService
,
KeybindingsEditingService
}
from
'
vs/workbench/services/keybinding/common/keybindingEditing
'
;
import
{
WorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/node
/environmentService
'
;
import
{
NativeWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/electron-browser
/environmentService
'
;
import
{
IWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/common/environmentService
'
;
class
TestEnvironmentService
extends
WorkbenchEnvironmentService
{
class
TestEnvironmentService
extends
Native
WorkbenchEnvironmentService
{
constructor
(
private
_appSettingsHome
:
URI
)
{
super
(
parseArgs
(
process
.
argv
,
OPTIONS
)
as
IWindowConfiguration
,
process
.
execPath
,
0
);
...
...
src/vs/workbench/services/configurationResolver/test/electron-browser/configurationResolverService.test.ts
浏览文件 @
eab39144
...
...
@@ -19,7 +19,7 @@ import { CancellationToken } from 'vs/base/common/cancellation';
import
*
as
Types
from
'
vs/base/common/types
'
;
import
{
EditorType
}
from
'
vs/editor/common/editorCommon
'
;
import
{
Selection
}
from
'
vs/editor/common/core/selection
'
;
import
{
WorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/node
/environmentService
'
;
import
{
NativeWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/electron-browser
/environmentService
'
;
import
{
IWindowConfiguration
}
from
'
vs/platform/windows/common/windows
'
;
import
{
IWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/common/environmentService
'
;
...
...
@@ -642,7 +642,7 @@ class MockInputsConfigurationService extends TestConfigurationService {
}
}
class
MockWorkbenchEnvironmentService
extends
WorkbenchEnvironmentService
{
class
MockWorkbenchEnvironmentService
extends
Native
WorkbenchEnvironmentService
{
constructor
(
env
:
platform
.
IProcessEnvironment
)
{
super
({
userEnv
:
env
}
as
IWindowConfiguration
,
process
.
execPath
,
0
);
...
...
src/vs/workbench/services/environment/
node
/environmentService.ts
→
src/vs/workbench/services/environment/
electron-browser
/environmentService.ts
浏览文件 @
eab39144
...
...
@@ -14,28 +14,24 @@ import { join } from 'vs/base/common/path';
import
{
IDebugParams
}
from
'
vs/platform/environment/common/environment
'
;
import
product
from
'
vs/platform/product/common/product
'
;
export
class
WorkbenchEnvironmentService
extends
EnvironmentService
implements
IWorkbenchEnvironmentService
{
export
class
Native
WorkbenchEnvironmentService
extends
EnvironmentService
implements
IWorkbenchEnvironmentService
{
_serviceBrand
:
undefined
;
@
memoize
get
webviewExternalEndpoint
():
string
{
const
baseEndpoint
=
'
https://{{uuid}}.vscode-webview-test.com/{{commit}}
'
;
return
baseEndpoint
.
replace
(
'
{{commit}}
'
,
product
.
commit
||
'
c58aaab8a1cc22a7139b761166a0d4f37d41e998
'
);
}
readonly
webviewResourceRoot
=
'
vscode-resource://{{resource}}
'
;
readonly
webviewCspSource
=
'
vscode-resource:
'
;
constructor
(
readonly
configuration
:
IWindowConfiguration
,
execPath
:
string
,
private
readonly
windowId
:
number
)
{
super
(
configuration
,
execPath
);
@
memoize
get
webviewResourceRoot
():
string
{
return
'
vscode-resource://{{resource}}
'
;
}
this
.
configuration
.
backupWorkspaceResource
=
this
.
configuration
.
backupPath
?
toBackupWorkspaceResource
(
this
.
configuration
.
backupPath
,
this
)
:
undefined
;
}
@
memoize
get
webviewCspSource
():
string
{
return
'
vscode-resource:
'
;
}
@
memoize
get
skipReleaseNotes
():
boolean
{
return
!!
this
.
args
[
'
skip-release-notes
'
];
}
@
memoize
...
...
@@ -44,8 +40,19 @@ export class WorkbenchEnvironmentService extends EnvironmentService implements I
@
memoize
get
logFile
():
URI
{
return
URI
.
file
(
join
(
this
.
logsPath
,
`renderer
${
this
.
windowId
}
.log`
));
}
@
memoize
get
logExtensionHostCommunication
():
boolean
{
return
!!
this
.
args
.
logExtensionHostCommunication
;
}
@
memoize
get
debugSearch
():
IDebugParams
{
return
parseSearchPort
(
this
.
args
,
this
.
isBuilt
);
}
constructor
(
readonly
configuration
:
IWindowConfiguration
,
execPath
:
string
,
private
readonly
windowId
:
number
)
{
super
(
configuration
,
execPath
);
this
.
configuration
.
backupWorkspaceResource
=
this
.
configuration
.
backupPath
?
toBackupWorkspaceResource
(
this
.
configuration
.
backupPath
,
this
)
:
undefined
;
}
}
src/vs/workbench/services/keybinding/test/electron-browser/keybindingEditing.test.ts
浏览文件 @
eab39144
...
...
@@ -46,11 +46,11 @@ import { DiskFileSystemProvider } from 'vs/platform/files/node/diskFileSystemPro
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
FileUserDataProvider
}
from
'
vs/workbench/services/userData/common/fileUserDataProvider
'
;
import
{
parseArgs
,
OPTIONS
}
from
'
vs/platform/environment/node/argv
'
;
import
{
WorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/node
/environmentService
'
;
import
{
NativeWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/electron-browser
/environmentService
'
;
import
{
IWindowConfiguration
}
from
'
vs/platform/windows/common/windows
'
;
import
{
TestConfigurationService
}
from
'
vs/platform/configuration/test/common/testConfigurationService
'
;
class
TestEnvironmentService
extends
WorkbenchEnvironmentService
{
class
TestEnvironmentService
extends
Native
WorkbenchEnvironmentService
{
constructor
(
private
_appSettingsHome
:
URI
)
{
super
(
parseArgs
(
process
.
argv
,
OPTIONS
)
as
IWindowConfiguration
,
process
.
execPath
,
0
);
...
...
src/vs/workbench/services/userData/test/electron-browser/fileUserDataProvider.test.ts
浏览文件 @
eab39144
...
...
@@ -23,6 +23,15 @@ import { BrowserWorkbenchEnvironmentService } from 'vs/workbench/services/enviro
import
{
Emitter
,
Event
}
from
'
vs/base/common/event
'
;
import
{
timeout
}
from
'
vs/base/common/async
'
;
class
TestBrowserWorkbenchEnvironmentService
extends
BrowserWorkbenchEnvironmentService
{
testUserRoamingDataHome
!
:
URI
;
get
userRoamingDataHome
():
URI
{
return
this
.
testUserRoamingDataHome
;
}
}
suite
(
'
FileUserDataProvider
'
,
()
=>
{
let
testObject
:
IFileService
;
...
...
@@ -47,8 +56,8 @@ suite('FileUserDataProvider', () => {
userDataResource
=
URI
.
file
(
userDataPath
).
with
({
scheme
:
Schemas
.
userData
});
await
Promise
.
all
([
pfs
.
mkdirp
(
userDataPath
),
pfs
.
mkdirp
(
backupsPath
)]);
const
environmentService
=
new
BrowserWorkbenchEnvironmentService
({
remoteAuthority
:
'
remote
'
,
workspaceId
:
'
workspaceId
'
,
logsPath
:
URI
.
file
(
'
logFile
'
)
});
environmentService
.
u
serRoamingDataHome
=
userDataResource
;
const
environmentService
=
new
Test
BrowserWorkbenchEnvironmentService
({
remoteAuthority
:
'
remote
'
,
workspaceId
:
'
workspaceId
'
,
logsPath
:
URI
.
file
(
'
logFile
'
)
});
environmentService
.
testU
serRoamingDataHome
=
userDataResource
;
const
userDataFileSystemProvider
=
new
FileUserDataProvider
(
URI
.
file
(
userDataPath
),
URI
.
file
(
backupsPath
),
diskFileSystemProvider
,
environmentService
);
disposables
.
add
(
userDataFileSystemProvider
);
...
...
@@ -321,8 +330,8 @@ suite('FileUserDataProvider - Watching', () => {
localUserDataResource
=
URI
.
file
(
userDataPath
);
userDataResource
=
localUserDataResource
.
with
({
scheme
:
Schemas
.
userData
});
const
environmentService
=
new
BrowserWorkbenchEnvironmentService
({
remoteAuthority
:
'
remote
'
,
workspaceId
:
'
workspaceId
'
,
logsPath
:
URI
.
file
(
'
logFile
'
)
});
environmentService
.
u
serRoamingDataHome
=
userDataResource
;
const
environmentService
=
new
Test
BrowserWorkbenchEnvironmentService
({
remoteAuthority
:
'
remote
'
,
workspaceId
:
'
workspaceId
'
,
logsPath
:
URI
.
file
(
'
logFile
'
)
});
environmentService
.
testU
serRoamingDataHome
=
userDataResource
;
const
userDataFileSystemProvider
=
new
FileUserDataProvider
(
localUserDataResource
,
localBackupsResource
,
new
TestFileSystemProvider
(
fileEventEmitter
.
event
),
environmentService
);
disposables
.
add
(
userDataFileSystemProvider
);
...
...
src/vs/workbench/test/workbenchTestServices.ts
浏览文件 @
eab39144
...
...
@@ -79,7 +79,7 @@ import { IPanel } from 'vs/workbench/common/panel';
import
{
IBadge
}
from
'
vs/workbench/services/activity/common/activity
'
;
import
{
ISharedProcessService
}
from
'
vs/platform/ipc/electron-browser/sharedProcessService
'
;
import
{
IWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/common/environmentService
'
;
import
{
WorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/node
/environmentService
'
;
import
{
NativeWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/electron-browser
/environmentService
'
;
import
{
VSBuffer
,
VSBufferReadable
}
from
'
vs/base/common/buffer
'
;
import
{
NativeTextFileService
}
from
'
vs/workbench/services/textfile/electron-browser/nativeTextFileService
'
;
import
{
Schemas
}
from
'
vs/base/common/network
'
;
...
...
@@ -97,7 +97,7 @@ export function createFileInput(instantiationService: IInstantiationService, res
return
instantiationService
.
createInstance
(
FileEditorInput
,
resource
,
undefined
,
undefined
);
}
export
const
TestEnvironmentService
=
new
WorkbenchEnvironmentService
(
parseArgs
(
process
.
argv
,
OPTIONS
)
as
IWindowConfiguration
,
process
.
execPath
,
0
);
export
const
TestEnvironmentService
=
new
Native
WorkbenchEnvironmentService
(
parseArgs
(
process
.
argv
,
OPTIONS
)
as
IWindowConfiguration
,
process
.
execPath
,
0
);
export
class
TestContextService
implements
IWorkspaceContextService
{
public
_serviceBrand
:
undefined
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录