Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
7f035b4b
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,发现更多精彩内容 >>
提交
7f035b4b
编写于
9月 25, 2020
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
debt - introduce and adopt FileAccess
deprecate amd.ts and require.toUrl methods
上级
5d8c90cd
变更
39
隐藏空白更改
内联
并排
Showing
39 changed file
with
172 addition
and
110 deletion
+172
-110
src/bootstrap-amd.js
src/bootstrap-amd.js
+1
-1
src/bootstrap-window.js
src/bootstrap-window.js
+2
-2
src/bootstrap.js
src/bootstrap.js
+16
-6
src/typings/require.d.ts
src/typings/require.d.ts
+3
-0
src/vs/base/browser/dom.ts
src/vs/base/browser/dom.ts
+5
-3
src/vs/base/common/amd.ts
src/vs/base/common/amd.ts
+6
-0
src/vs/base/common/network.ts
src/vs/base/common/network.ts
+37
-0
src/vs/base/node/paths.ts
src/vs/base/node/paths.ts
+2
-2
src/vs/base/node/processes.ts
src/vs/base/node/processes.ts
+2
-2
src/vs/base/node/ps.ts
src/vs/base/node/ps.ts
+3
-3
src/vs/code/electron-main/auth.ts
src/vs/code/electron-main/auth.ts
+4
-4
src/vs/code/electron-main/sharedProcess.ts
src/vs/code/electron-main/sharedProcess.ts
+6
-4
src/vs/code/electron-main/window.ts
src/vs/code/electron-main/window.ts
+6
-4
src/vs/platform/extensionManagement/common/extensionManagement.ts
...latform/extensionManagement/common/extensionManagement.ts
+2
-1
src/vs/platform/extensionManagement/node/extensionsScanner.ts
...vs/platform/extensionManagement/node/extensionsScanner.ts
+2
-2
src/vs/platform/files/node/watcher/nsfw/watcherService.ts
src/vs/platform/files/node/watcher/nsfw/watcherService.ts
+2
-2
src/vs/platform/files/node/watcher/unix/watcherService.ts
src/vs/platform/files/node/watcher/unix/watcherService.ts
+2
-2
src/vs/platform/files/node/watcher/win32/csharpWatcherService.ts
...platform/files/node/watcher/win32/csharpWatcherService.ts
+2
-2
src/vs/platform/issue/electron-main/issueMainService.ts
src/vs/platform/issue/electron-main/issueMainService.ts
+10
-7
src/vs/platform/product/common/product.ts
src/vs/platform/product/common/product.ts
+5
-5
src/vs/workbench/browser/parts/editor/editor.contribution.ts
src/vs/workbench/browser/parts/editor/editor.contribution.ts
+3
-3
src/vs/workbench/browser/parts/editor/editorGroupView.ts
src/vs/workbench/browser/parts/editor/editorGroupView.ts
+2
-3
src/vs/workbench/contrib/cli/node/cli.contribution.ts
src/vs/workbench/contrib/cli/node/cli.contribution.ts
+2
-2
src/vs/workbench/contrib/debug/browser/debug.contribution.ts
src/vs/workbench/contrib/debug/browser/debug.contribution.ts
+10
-10
src/vs/workbench/contrib/debug/node/debugHelperService.ts
src/vs/workbench/contrib/debug/node/debugHelperService.ts
+2
-2
src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
.../contrib/extensions/browser/extensionsWorkbenchService.ts
+3
-2
src/vs/workbench/contrib/externalTerminal/node/externalTerminalService.ts
.../contrib/externalTerminal/node/externalTerminalService.ts
+2
-2
src/vs/workbench/contrib/webview/electron-browser/webviewElement.ts
...kbench/contrib/webview/electron-browser/webviewElement.ts
+5
-2
src/vs/workbench/contrib/welcome/page/browser/welcomePage.ts
src/vs/workbench/contrib/welcome/page/browser/welcomePage.ts
+2
-3
src/vs/workbench/contrib/welcome/walkThrough/browser/editor/editorWalkThrough.ts
...b/welcome/walkThrough/browser/editor/editorWalkThrough.ts
+2
-3
src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.ts
...nch/services/extensions/browser/webWorkerExtensionHost.ts
+3
-2
src/vs/workbench/services/extensions/electron-browser/cachedExtensionScanner.ts
...ces/extensions/electron-browser/cachedExtensionScanner.ts
+3
-4
src/vs/workbench/services/extensions/electron-browser/localProcessExtensionHost.ts
.../extensions/electron-browser/localProcessExtensionHost.ts
+2
-2
src/vs/workbench/services/integrity/node/integrityService.ts
src/vs/workbench/services/integrity/node/integrityService.ts
+2
-2
src/vs/workbench/services/search/electron-browser/searchService.ts
...rkbench/services/search/electron-browser/searchService.ts
+2
-5
src/vs/workbench/services/textMate/browser/textMateService.ts
...vs/workbench/services/textMate/browser/textMateService.ts
+2
-2
src/vs/workbench/services/textMate/electron-sandbox/textMateService.ts
...nch/services/textMate/electron-sandbox/textMateService.ts
+4
-6
src/vs/workbench/services/textMate/electron-sandbox/textMateWorker.ts
...ench/services/textMate/electron-sandbox/textMateWorker.ts
+2
-2
test/unit/electron/renderer.js
test/unit/electron/renderer.js
+1
-1
未找到文件。
src/bootstrap-amd.js
浏览文件 @
7f035b4b
...
...
@@ -14,7 +14,7 @@ const nlsConfig = bootstrap.setupNLS();
// Bootstrap: Loader
loader
.
config
({
baseUrl
:
bootstrap
.
fileUriFromPath
(
__dirname
,
process
.
platform
===
'
win32
'
),
baseUrl
:
bootstrap
.
fileUriFromPath
(
__dirname
,
{
isWindows
:
process
.
platform
===
'
win32
'
}
),
catchError
:
true
,
nodeRequire
:
require
,
nodeMain
:
__filename
,
...
...
src/bootstrap-window.js
浏览文件 @
7f035b4b
...
...
@@ -103,7 +103,7 @@
window
[
'
MonacoEnvironment
'
]
=
{};
const
loaderConfig
=
{
baseUrl
:
`
${
bootstrapLib
.
fileUriFromPath
(
configuration
.
appRoot
,
safeProcess
.
platform
===
'
win32
'
)}
/out`
,
baseUrl
:
`
${
bootstrapLib
.
fileUriFromPath
(
configuration
.
appRoot
,
{
isWindows
:
safeProcess
.
platform
===
'
win32
'
}
)}
/out`
,
'
vs/nls
'
:
nlsConfig
};
...
...
@@ -241,7 +241,7 @@
}
/**
* @return {{ fileUriFromPath: (path: string,
isWindows: boolean
) => string; }}
* @return {{ fileUriFromPath: (path: string,
config: { isWindows?: boolean, scheme?: string, fallbackAuthority?: string }
) => string; }}
*/
function
bootstrap
()
{
// @ts-ignore (defined in bootstrap.js)
...
...
src/bootstrap.js
浏览文件 @
7f035b4b
...
...
@@ -88,10 +88,13 @@
/**
* @param {string} path
* @param {
boolean} isWindows
* @param {
{ isWindows?: boolean, scheme?: string, fallbackAuthority?: string }} config
* @returns {string}
*/
function
fileUriFromPath
(
path
,
isWindows
)
{
function
fileUriFromPath
(
path
,
config
)
{
// Since we are building a URI, we normalize any backlsash
// to slashes and we ensure that the path begins with a '/'.
let
pathName
=
path
.
replace
(
/
\\
/g
,
'
/
'
);
if
(
pathName
.
length
>
0
&&
pathName
.
charAt
(
0
)
!==
'
/
'
)
{
pathName
=
`/
${
pathName
}
`
;
...
...
@@ -99,10 +102,17 @@
/** @type {string} */
let
uri
;
if
(
isWindows
&&
pathName
.
startsWith
(
'
//
'
))
{
// specially handle Windows UNC paths
uri
=
encodeURI
(
`file:
${
pathName
}
`
);
}
else
{
uri
=
encodeURI
(
`file://
${
pathName
}
`
);
// Windows: in order to support UNC paths (which start with '//')
// that have their own authority, we do not use the provided authority
// but rather preserve it.
if
(
config
.
isWindows
&&
pathName
.
startsWith
(
'
//
'
))
{
uri
=
encodeURI
(
`
${
config
.
scheme
||
'
file
'
}
:
${
pathName
}
`
);
}
// Otherwise we optionally add the provided authority if specified
else
{
uri
=
encodeURI
(
`
${
config
.
scheme
||
'
file
'
}
://
${
config
.
fallbackAuthority
||
''
}${
pathName
}
`
);
}
return
uri
.
replace
(
/#/g
,
'
%23
'
);
...
...
src/typings/require.d.ts
浏览文件 @
7f035b4b
...
...
@@ -41,6 +41,9 @@ declare const define: {
};
interface
NodeRequire
{
/**
* @deprecated use `FileAccess.asFileUri()` for node.js contexts or `FileAccess.asBrowserUri` for browser contexts.
*/
toUrl
(
path
:
string
):
string
;
(
dependencies
:
string
[],
callback
:
(...
args
:
any
[])
=>
any
,
errorback
?:
(
err
:
any
)
=>
void
):
any
;
config
(
data
:
any
):
any
;
...
...
src/vs/base/browser/dom.ts
浏览文件 @
7f035b4b
...
...
@@ -13,7 +13,7 @@ import { Emitter, Event } from 'vs/base/common/event';
import
{
Disposable
,
IDisposable
,
toDisposable
}
from
'
vs/base/common/lifecycle
'
;
import
*
as
platform
from
'
vs/base/common/platform
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
Schemas
,
RemoteAuthorities
}
from
'
vs/base/common/network
'
;
import
{
Schemas
,
FileAccess
,
RemoteAuthorities
}
from
'
vs/base/common/network
'
;
import
{
BrowserFeatures
}
from
'
vs/base/browser/canIUse
'
;
export
function
clearNode
(
node
:
HTMLElement
):
void
{
...
...
@@ -1223,10 +1223,12 @@ export function asDomUri(uri: URI): URI {
if
(
!
uri
)
{
return
uri
;
}
if
(
Schemas
.
vscodeRemote
===
uri
.
scheme
)
{
if
(
uri
.
scheme
===
Schemas
.
vscodeRemote
)
{
return
RemoteAuthorities
.
rewrite
(
uri
);
}
return
uri
;
return
FileAccess
.
asBrowserUri
(
uri
);
}
/**
...
...
src/vs/base/common/amd.ts
浏览文件 @
7f035b4b
...
...
@@ -5,10 +5,16 @@
import
{
URI
}
from
'
vs/base/common/uri
'
;
/**
* @deprecated use `FileAccess.asFileUri(relativePath, requireFn).fsPath`
*/
export
function
getPathFromAmdModule
(
requirefn
:
typeof
require
,
relativePath
:
string
):
string
{
return
getUriFromAmdModule
(
requirefn
,
relativePath
).
fsPath
;
}
/**
* @deprecated use `FileAccess.asFileUri()` for node.js contexts or `FileAccess.asBrowserUri` for browser contexts.
*/
export
function
getUriFromAmdModule
(
requirefn
:
typeof
require
,
relativePath
:
string
):
URI
{
return
URI
.
parse
(
requirefn
.
toUrl
(
relativePath
));
}
src/vs/base/common/network.ts
浏览文件 @
7f035b4b
...
...
@@ -129,3 +129,40 @@ class RemoteAuthoritiesImpl {
}
export
const
RemoteAuthorities
=
new
RemoteAuthoritiesImpl
();
class
FileAccessImpl
{
/**
* Returns a URI to use in contexts where the browser is responsible
* for loading (e.g. fetch()) or when used within the DOM.
*/
asBrowserUri
(
uri
:
URI
):
URI
;
asBrowserUri
(
moduleId
:
string
,
moduleIdToUrl
:
{
toUrl
(
moduleId
:
string
):
string
}):
URI
;
asBrowserUri
(
uriOrModule
:
URI
|
string
,
moduleIdToUrl
?:
{
toUrl
(
moduleId
:
string
):
string
}):
URI
{
const
uri
=
this
.
toUri
(
uriOrModule
,
moduleIdToUrl
);
return
uri
;
}
/**
* Returns the `file` URI to use in contexts where node.js
* is responsible for loading.
*/
asFileUri
(
uri
:
URI
):
URI
;
asFileUri
(
moduleId
:
string
,
moduleIdToUrl
:
{
toUrl
(
moduleId
:
string
):
string
}):
URI
;
asFileUri
(
uriOrModule
:
URI
|
string
,
moduleIdToUrl
?:
{
toUrl
(
moduleId
:
string
):
string
}):
URI
{
const
uri
=
this
.
toUri
(
uriOrModule
,
moduleIdToUrl
);
return
uri
;
}
private
toUri
(
uriOrModule
:
URI
|
string
,
moduleIdToUrl
?:
{
toUrl
(
moduleId
:
string
):
string
}):
URI
{
if
(
URI
.
isUri
(
uriOrModule
))
{
return
uriOrModule
;
}
return
URI
.
parse
(
moduleIdToUrl
!
.
toUrl
(
uriOrModule
));
}
}
export
const
FileAccess
=
new
FileAccessImpl
();
src/vs/base/node/paths.ts
浏览文件 @
7f035b4b
...
...
@@ -3,14 +3,14 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
interface
IPaths
{
getAppDataPath
(
platform
:
string
):
string
;
getDefaultUserDataPath
(
platform
:
string
):
string
;
}
const
pathsPath
=
getPathFromAmdModule
(
require
,
'
paths
'
)
;
const
pathsPath
=
FileAccess
.
asFileUri
(
'
paths
'
,
require
).
fsPath
;
const
paths
=
require
.
__$__nodeRequire
<
IPaths
>
(
pathsPath
);
export
const
getAppDataPath
=
paths
.
getAppDataPath
;
export
const
getDefaultUserDataPath
=
paths
.
getDefaultUserDataPath
;
src/vs/base/node/processes.ts
浏览文件 @
7f035b4b
...
...
@@ -15,7 +15,7 @@ import * as extpath from 'vs/base/common/extpath';
import
*
as
Platform
from
'
vs/base/common/platform
'
;
import
{
LineDecoder
}
from
'
vs/base/node/decoder
'
;
import
{
CommandOptions
,
ForkOptions
,
SuccessData
,
Source
,
TerminateResponse
,
TerminateResponseCode
,
Executable
}
from
'
vs/base/common/processes
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
export
{
CommandOptions
,
ForkOptions
,
SuccessData
,
Source
,
TerminateResponse
,
TerminateResponseCode
};
export
type
ValueCallback
<
T
>
=
(
value
:
T
|
Promise
<
T
>
)
=>
void
;
...
...
@@ -67,7 +67,7 @@ function terminateProcess(process: cp.ChildProcess, cwd?: string): Promise<Termi
}
}
else
if
(
Platform
.
isLinux
||
Platform
.
isMacintosh
)
{
try
{
const
cmd
=
getPathFromAmdModule
(
require
,
'
vs/base/node/terminateProcess.sh
'
)
;
const
cmd
=
FileAccess
.
asFileUri
(
'
vs/base/node/terminateProcess.sh
'
,
require
).
fsPath
;
return
new
Promise
((
resolve
,
reject
)
=>
{
cp
.
execFile
(
cmd
,
[
process
.
pid
.
toString
()],
{
encoding
:
'
utf8
'
,
shell
:
true
}
as
cp
.
ExecFileOptions
,
(
err
,
stdout
,
stderr
)
=>
{
if
(
err
)
{
...
...
src/vs/base/node/ps.ts
浏览文件 @
7f035b4b
...
...
@@ -5,7 +5,7 @@
import
{
exec
}
from
'
child_process
'
;
import
{
ProcessItem
}
from
'
vs/base/common/processes
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
export
function
listProcesses
(
rootPid
:
number
):
Promise
<
ProcessItem
>
{
...
...
@@ -180,7 +180,7 @@ export function listProcesses(rootPid: number): Promise<ProcessItem> {
// The cpu usage value reported on Linux is the average over the process lifetime,
// recalculate the usage over a one second interval
// JSON.stringify is needed to escape spaces, https://github.com/nodejs/node/issues/6803
let
cmd
=
JSON
.
stringify
(
getPathFromAmdModule
(
require
,
'
vs/base/node/cpuUsage.sh
'
)
);
let
cmd
=
JSON
.
stringify
(
FileAccess
.
asFileUri
(
'
vs/base/node/cpuUsage.sh
'
,
require
).
fsPath
);
cmd
+=
'
'
+
pids
.
join
(
'
'
);
exec
(
cmd
,
{},
(
err
,
stdout
,
stderr
)
=>
{
...
...
@@ -208,7 +208,7 @@ export function listProcesses(rootPid: number): Promise<ProcessItem> {
if
(
process
.
platform
!==
'
linux
'
)
{
reject
(
err
||
new
Error
(
stderr
.
toString
()));
}
else
{
const
cmd
=
JSON
.
stringify
(
getPathFromAmdModule
(
require
,
'
vs/base/node/ps.sh
'
)
);
const
cmd
=
JSON
.
stringify
(
FileAccess
.
asFileUri
(
'
vs/base/node/ps.sh
'
,
require
).
fsPath
);
exec
(
cmd
,
{},
(
err
,
stdout
,
stderr
)
=>
{
if
(
err
||
stderr
)
{
reject
(
err
||
new
Error
(
stderr
.
toString
()));
...
...
src/vs/code/electron-main/auth.ts
浏览文件 @
7f035b4b
...
...
@@ -6,8 +6,8 @@
import
{
localize
}
from
'
vs/nls
'
;
import
{
Disposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
Event
}
from
'
vs/base/common/event
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
import
{
BrowserWindow
,
BrowserWindowConstructorOptions
,
app
,
AuthInfo
,
WebContents
,
Event
as
ElectronEvent
}
from
'
electron
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
type
LoginEvent
=
{
event
:
ElectronEvent
;
...
...
@@ -59,7 +59,7 @@ export class ProxyAuthHandler extends Disposable {
show
:
true
,
title
:
'
VS Code
'
,
webPreferences
:
{
preload
:
getPathFromAmdModule
(
require
,
'
vs/base/parts/sandbox/electron-browser/preload.js
'
)
,
preload
:
FileAccess
.
asFileUri
(
'
vs/base/parts/sandbox/electron-browser/preload.js
'
,
require
).
fsPath
,
sandbox
:
true
,
contextIsolation
:
true
,
enableWebSQL
:
false
,
...
...
@@ -76,7 +76,7 @@ export class ProxyAuthHandler extends Disposable {
}
const
win
=
new
BrowserWindow
(
opts
);
const
url
=
require
.
toUrl
(
'
vs/code/electron-sandbox/proxy/auth.html
'
);
const
windowUrl
=
FileAccess
.
asBrowserUri
(
'
vs/code/electron-sandbox/proxy/auth.html
'
,
require
);
const
proxyUrl
=
`
${
authInfo
.
host
}
:
${
authInfo
.
port
}
`
;
const
title
=
localize
(
'
authRequire
'
,
"
Proxy Authentication Required
"
);
const
message
=
localize
(
'
proxyauth
'
,
"
The proxy {0} requires authentication.
"
,
proxyUrl
);
...
...
@@ -97,6 +97,6 @@ export class ProxyAuthHandler extends Disposable {
win
.
close
();
}
});
win
.
loadURL
(
url
);
win
.
loadURL
(
windowUrl
.
toString
(
true
)
);
}
}
src/vs/code/electron-main/sharedProcess.ts
浏览文件 @
7f035b4b
...
...
@@ -13,7 +13,7 @@ import { ILifecycleMainService } from 'vs/platform/lifecycle/electron-main/lifec
import
{
IThemeMainService
}
from
'
vs/platform/theme/electron-main/themeMainService
'
;
import
{
toDisposable
,
DisposableStore
}
from
'
vs/base/common/lifecycle
'
;
import
{
Event
}
from
'
vs/base/common/event
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
export
class
SharedProcess
implements
ISharedProcess
{
...
...
@@ -41,7 +41,7 @@ export class SharedProcess implements ISharedProcess {
show
:
false
,
backgroundColor
:
this
.
themeMainService
.
getBackgroundColor
(),
webPreferences
:
{
preload
:
getPathFromAmdModule
(
require
,
'
vs/base/parts/sandbox/electron-browser/preload.js
'
)
,
preload
:
FileAccess
.
asFileUri
(
'
vs/base/parts/sandbox/electron-browser/preload.js
'
,
require
).
fsPath
,
nodeIntegration
:
true
,
enableWebSQL
:
false
,
enableRemoteModule
:
false
,
...
...
@@ -60,8 +60,10 @@ export class SharedProcess implements ISharedProcess {
windowId
:
this
.
window
.
id
};
const
url
=
`
${
require
.
toUrl
(
'
vs/code/electron-browser/sharedProcess/sharedProcess.html
'
)}
?config=
${
encodeURIComponent
(
JSON
.
stringify
(
config
))}
`
;
this
.
window
.
loadURL
(
url
);
const
windowUrl
=
FileAccess
.
asBrowserUri
(
'
vs/code/electron-browser/sharedProcess/sharedProcess.html
'
,
require
)
.
with
({
query
:
`config=
${
encodeURIComponent
(
JSON
.
stringify
(
config
))}
`
});
this
.
window
.
loadURL
(
windowUrl
.
toString
(
true
));
// Prevent the window from dying
const
onClose
=
(
e
:
ElectronEvent
)
=>
{
...
...
src/vs/code/electron-main/window.ts
浏览文件 @
7f035b4b
...
...
@@ -34,9 +34,8 @@ import { ThemeIcon } from 'vs/platform/theme/common/themeService';
import
{
ILifecycleMainService
}
from
'
vs/platform/lifecycle/electron-main/lifecycleMainService
'
;
import
{
IStorageMainService
}
from
'
vs/platform/storage/node/storageMainService
'
;
import
{
IFileService
}
from
'
vs/platform/files/common/files
'
;
import
{
FileAccess
,
Schemas
}
from
'
vs/base/common/network
'
;
import
{
ColorScheme
}
from
'
vs/platform/theme/common/theme
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
Schemas
}
from
'
vs/base/common/network
'
;
export
interface
IWindowCreationOptions
{
state
:
IWindowState
;
...
...
@@ -168,7 +167,7 @@ export class CodeWindow extends Disposable implements ICodeWindow {
show
:
!
isFullscreenOrMaximized
,
title
:
product
.
nameLong
,
webPreferences
:
{
preload
:
getPathFromAmdModule
(
require
,
'
vs/base/parts/sandbox/electron-browser/preload.js
'
)
,
preload
:
FileAccess
.
asFileUri
(
'
vs/base/parts/sandbox/electron-browser/preload.js
'
,
require
).
fsPath
,
enableWebSQL
:
false
,
enableRemoteModule
:
false
,
spellcheck
:
false
,
...
...
@@ -837,7 +836,10 @@ export class CodeWindow extends Disposable implements ICodeWindow {
workbench
=
'
vs/code/electron-browser/workbench/workbench.html
'
;
}
return
`
${
require
.
toUrl
(
workbench
)}
?config=
${
encodeURIComponent
(
JSON
.
stringify
(
config
))}
`
;
return
FileAccess
.
asBrowserUri
(
workbench
,
require
)
.
with
({
query
:
`config=
${
encodeURIComponent
(
JSON
.
stringify
(
config
))}
`
})
.
toString
(
true
);
}
serializeWindowState
():
IWindowState
{
...
...
src/vs/platform/extensionManagement/common/extensionManagement.ts
浏览文件 @
7f035b4b
...
...
@@ -10,6 +10,7 @@ import { createDecorator } from 'vs/platform/instantiation/common/instantiation'
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
CancellationToken
}
from
'
vs/base/common/cancellation
'
;
import
{
IExtensionManifest
,
IExtension
,
ExtensionType
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
export
const
EXTENSION_IDENTIFIER_PATTERN
=
'
^([a-z0-9A-Z][a-z0-9-A-Z]*)
\\
.([a-z0-9A-Z][a-z0-9-A-Z]*)$
'
;
export
const
EXTENSION_IDENTIFIER_REGEX
=
new
RegExp
(
EXTENSION_IDENTIFIER_PATTERN
);
...
...
@@ -260,7 +261,7 @@ export interface IExtensionTipsService {
}
export
const
DefaultIconPath
=
require
.
toUrl
(
'
./media/defaultIcon.png
'
);
export
const
DefaultIconPath
=
FileAccess
.
asBrowserUri
(
'
./media/defaultIcon.png
'
,
require
).
toString
(
true
);
export
const
ExtensionsLabel
=
localize
(
'
extensions
'
,
"
Extensions
"
);
export
const
ExtensionsLocalizedLabel
=
{
value
:
ExtensionsLabel
,
original
:
'
Extensions
'
};
export
const
ExtensionsChannelId
=
'
extensions
'
;
...
...
src/vs/platform/extensionManagement/node/extensionsScanner.ts
浏览文件 @
7f035b4b
...
...
@@ -14,7 +14,6 @@ import { areSameExtensions, ExtensionIdentifierWithVersion, groupByExtension, ge
import
{
Limiter
,
Queue
}
from
'
vs/base/common/async
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
INativeEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
localizeManifest
}
from
'
vs/platform/extensionManagement/common/extensionNls
'
;
import
{
localize
}
from
'
vs/nls
'
;
import
{
IProductService
}
from
'
vs/platform/product/common/productService
'
;
...
...
@@ -23,6 +22,7 @@ import { extract, ExtractError } from 'vs/base/node/zip';
import
{
isWindows
}
from
'
vs/base/common/platform
'
;
import
{
flatten
}
from
'
vs/base/common/arrays
'
;
import
{
IStringDictionary
}
from
'
vs/base/common/collections
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
const
ERROR_SCANNING_SYS_EXTENSIONS
=
'
scanningSystem
'
;
const
ERROR_SCANNING_USER_EXTENSIONS
=
'
scanningUser
'
;
...
...
@@ -336,7 +336,7 @@ export class ExtensionsScanner extends Disposable {
private
_devSystemExtensionsPath
:
string
|
null
=
null
;
private
get
devSystemExtensionsPath
():
string
{
if
(
!
this
.
_devSystemExtensionsPath
)
{
this
.
_devSystemExtensionsPath
=
path
.
normalize
(
path
.
join
(
getPathFromAmdModule
(
require
,
''
)
,
'
..
'
,
'
.build
'
,
'
builtInExtensions
'
));
this
.
_devSystemExtensionsPath
=
path
.
normalize
(
path
.
join
(
FileAccess
.
asFileUri
(
''
,
require
).
fsPath
,
'
..
'
,
'
.build
'
,
'
builtInExtensions
'
));
}
return
this
.
_devSystemExtensionsPath
;
}
...
...
src/vs/platform/files/node/watcher/nsfw/watcherService.ts
浏览文件 @
7f035b4b
...
...
@@ -8,7 +8,7 @@ import { Client } from 'vs/base/parts/ipc/node/ipc.cp';
import
{
IDiskFileChange
,
ILogMessage
}
from
'
vs/platform/files/node/watcher/watcher
'
;
import
{
Disposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
IWatcherRequest
,
IWatcherService
}
from
'
vs/platform/files/node/watcher/nsfw/watcher
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
export
class
FileWatcher
extends
Disposable
{
...
...
@@ -34,7 +34,7 @@ export class FileWatcher extends Disposable {
private
startWatching
():
void
{
const
client
=
this
.
_register
(
new
Client
(
getPathFromAmdModule
(
require
,
'
bootstrap-fork
'
)
,
FileAccess
.
asFileUri
(
'
bootstrap-fork
'
,
require
).
fsPath
,
{
serverName
:
'
File Watcher (nsfw)
'
,
args
:
[
'
--type=watcherService
'
],
...
...
src/vs/platform/files/node/watcher/unix/watcherService.ts
浏览文件 @
7f035b4b
...
...
@@ -8,7 +8,7 @@ import { Client } from 'vs/base/parts/ipc/node/ipc.cp';
import
{
IDiskFileChange
,
ILogMessage
}
from
'
vs/platform/files/node/watcher/watcher
'
;
import
{
Disposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
IWatcherRequest
,
IWatcherOptions
,
IWatcherService
}
from
'
vs/platform/files/node/watcher/unix/watcher
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
export
class
FileWatcher
extends
Disposable
{
...
...
@@ -35,7 +35,7 @@ export class FileWatcher extends Disposable {
private
startWatching
():
void
{
const
client
=
this
.
_register
(
new
Client
(
getPathFromAmdModule
(
require
,
'
bootstrap-fork
'
)
,
FileAccess
.
asFileUri
(
'
bootstrap-fork
'
,
require
).
fsPath
,
{
serverName
:
'
File Watcher (chokidar)
'
,
args
:
[
'
--type=watcherService
'
],
...
...
src/vs/platform/files/node/watcher/win32/csharpWatcherService.ts
浏览文件 @
7f035b4b
...
...
@@ -8,7 +8,7 @@ import { FileChangeType } from 'vs/platform/files/common/files';
import
*
as
decoder
from
'
vs/base/node/decoder
'
;
import
*
as
glob
from
'
vs/base/common/glob
'
;
import
{
IDiskFileChange
,
ILogMessage
}
from
'
vs/platform/files/node/watcher/watcher
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
export
class
OutOfProcessWin32FolderWatcher
{
...
...
@@ -50,7 +50,7 @@ export class OutOfProcessWin32FolderWatcher {
args
.
push
(
'
-verbose
'
);
}
this
.
handle
=
cp
.
spawn
(
getPathFromAmdModule
(
require
,
'
vs/platform/files/node/watcher/win32/CodeHelper.exe
'
)
,
args
);
this
.
handle
=
cp
.
spawn
(
FileAccess
.
asFileUri
(
'
vs/platform/files/node/watcher/win32/CodeHelper.exe
'
,
require
).
fsPath
,
args
);
const
stdoutLineDecoder
=
new
decoder
.
LineDecoder
();
...
...
src/vs/platform/issue/electron-main/issueMainService.ts
浏览文件 @
7f035b4b
...
...
@@ -18,9 +18,9 @@ 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/dialogs
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
createDecorator
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
zoomLevelToZoomFactor
}
from
'
vs/platform/windows/common/windows
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
const
DEFAULT_BACKGROUND_COLOR
=
'
#1E1E1E
'
;
...
...
@@ -195,7 +195,7 @@ export class IssueMainService implements ICommonIssueService {
title
:
localize
(
'
issueReporter
'
,
"
Issue Reporter
"
),
backgroundColor
:
data
.
styles
.
backgroundColor
||
DEFAULT_BACKGROUND_COLOR
,
webPreferences
:
{
preload
:
getPathFromAmdModule
(
require
,
'
vs/base/parts/sandbox/electron-browser/preload.js
'
)
,
preload
:
FileAccess
.
asFileUri
(
'
vs/base/parts/sandbox/electron-browser/preload.js
'
,
require
).
fsPath
,
enableWebSQL
:
false
,
enableRemoteModule
:
false
,
spellcheck
:
false
,
...
...
@@ -261,7 +261,7 @@ export class IssueMainService implements ICommonIssueService {
backgroundColor
:
data
.
styles
.
backgroundColor
,
title
:
localize
(
'
processExplorer
'
,
"
Process Explorer
"
),
webPreferences
:
{
preload
:
getPathFromAmdModule
(
require
,
'
vs/base/parts/sandbox/electron-browser/preload.js
'
)
,
preload
:
FileAccess
.
asFileUri
(
'
vs/base/parts/sandbox/electron-browser/preload.js
'
,
require
).
fsPath
,
enableWebSQL
:
false
,
enableRemoteModule
:
false
,
spellcheck
:
false
,
...
...
@@ -294,7 +294,7 @@ export class IssueMainService implements ICommonIssueService {
};
this
.
_processExplorerWindow
.
loadURL
(
to
Lauch
Url
(
'
vs/code/electron-sandbox/processExplorer/processExplorer.html
'
,
windowConfiguration
));
to
Window
Url
(
'
vs/code/electron-sandbox/processExplorer/processExplorer.html
'
,
windowConfiguration
));
this
.
_processExplorerWindow
.
on
(
'
close
'
,
()
=>
this
.
_processExplorerWindow
=
null
);
...
...
@@ -435,11 +435,11 @@ export class IssueMainService implements ICommonIssueService {
}
};
return
to
Lauch
Url
(
'
vs/code/electron-sandbox/issue/issueReporter.html
'
,
windowConfiguration
);
return
to
Window
Url
(
'
vs/code/electron-sandbox/issue/issueReporter.html
'
,
windowConfiguration
);
}
}
function
to
LauchUrl
<
T
>
(
p
athToHtml
:
string
,
windowConfiguration
:
T
):
string
{
function
to
WindowUrl
<
T
>
(
moduleP
athToHtml
:
string
,
windowConfiguration
:
T
):
string
{
const
environment
=
parseArgs
(
process
.
argv
,
OPTIONS
);
const
config
=
Object
.
assign
(
environment
,
windowConfiguration
);
for
(
const
keyValue
of
Object
.
keys
(
config
))
{
...
...
@@ -449,5 +449,8 @@ function toLauchUrl<T>(pathToHtml: string, windowConfiguration: T): string {
}
}
return
`
${
require
.
toUrl
(
pathToHtml
)}
?config=
${
encodeURIComponent
(
JSON
.
stringify
(
config
))}
`
;
return
FileAccess
.
asBrowserUri
(
modulePathToHtml
,
require
)
.
with
({
query
:
`config=
${
encodeURIComponent
(
JSON
.
stringify
(
config
))}
`
})
.
toString
(
true
);
}
src/vs/platform/product/common/product.ts
浏览文件 @
7f035b4b
...
...
@@ -5,9 +5,9 @@
import
{
IProductConfiguration
}
from
'
vs/platform/product/common/productService
'
;
import
{
isWeb
}
from
'
vs/base/common/platform
'
;
import
*
as
path
from
'
vs/base/common/path
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
env
}
from
'
vs/base/common/process
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
import
{
dirname
,
joinPath
}
from
'
vs/base/common/resources
'
;
let
product
:
IProductConfiguration
;
...
...
@@ -43,10 +43,10 @@ if (isWeb || typeof require === 'undefined' || typeof require.__$__nodeRequire !
else
{
// Obtain values from product.json and package.json
const
rootPath
=
path
.
dirname
(
getPathFromAmdModule
(
require
,
''
));
const
rootPath
=
dirname
(
FileAccess
.
asFileUri
(
''
,
require
));
product
=
require
.
__$__nodeRequire
(
path
.
join
(
rootPath
,
'
product.json
'
)
);
const
pkg
=
require
.
__$__nodeRequire
(
path
.
join
(
rootPath
,
'
package.json
'
)
)
as
{
version
:
string
;
};
product
=
require
.
__$__nodeRequire
(
joinPath
(
rootPath
,
'
product.json
'
).
fsPath
);
const
pkg
=
require
.
__$__nodeRequire
(
joinPath
(
rootPath
,
'
package.json
'
).
fsPath
)
as
{
version
:
string
;
};
// Running out of sources
if
(
env
[
'
VSCODE_DEV
'
])
{
...
...
src/vs/workbench/browser/parts/editor/editor.contribution.ts
浏览文件 @
7f035b4b
...
...
@@ -54,7 +54,7 @@ import { PLAINTEXT_MODE_ID } from 'vs/editor/common/modes/modesRegistry';
import
{
IQuickAccessRegistry
,
Extensions
as
QuickAccessExtensions
}
from
'
vs/platform/quickinput/common/quickAccess
'
;
import
{
ActiveGroupEditorsByMostRecentlyUsedQuickAccess
,
AllEditorsByAppearanceQuickAccess
,
AllEditorsByMostRecentlyUsedQuickAccess
}
from
'
vs/workbench/browser/parts/editor/editorQuickAccess
'
;
import
{
IPathService
}
from
'
vs/workbench/services/path/common/pathService
'
;
import
{
getUriFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
// Register String Editor
Registry
.
as
<
IEditorRegistry
>
(
EditorExtensions
.
Editors
).
registerEditor
(
...
...
@@ -423,13 +423,13 @@ editorCommands.setup();
// Touch Bar
if
(
isMacintosh
)
{
MenuRegistry
.
appendMenuItem
(
MenuId
.
TouchBarContext
,
{
command
:
{
id
:
NavigateBackwardsAction
.
ID
,
title
:
NavigateBackwardsAction
.
LABEL
,
icon
:
{
dark
:
getUriFromAmdModule
(
require
,
'
vs/workbench/browser/parts/editor/media/back-tb.png
'
)
}
},
command
:
{
id
:
NavigateBackwardsAction
.
ID
,
title
:
NavigateBackwardsAction
.
LABEL
,
icon
:
{
dark
:
FileAccess
.
asFileUri
(
'
vs/workbench/browser/parts/editor/media/back-tb.png
'
,
require
)
}
},
group
:
'
navigation
'
,
order
:
0
});
MenuRegistry
.
appendMenuItem
(
MenuId
.
TouchBarContext
,
{
command
:
{
id
:
NavigateForwardAction
.
ID
,
title
:
NavigateForwardAction
.
LABEL
,
icon
:
{
dark
:
getUriFromAmdModule
(
require
,
'
vs/workbench/browser/parts/editor/media/forward-tb.png
'
)
}
},
command
:
{
id
:
NavigateForwardAction
.
ID
,
title
:
NavigateForwardAction
.
LABEL
,
icon
:
{
dark
:
FileAccess
.
asFileUri
(
'
vs/workbench/browser/parts/editor/media/forward-tb.png
'
,
require
)
}
},
group
:
'
navigation
'
,
order
:
1
});
...
...
src/vs/workbench/browser/parts/editor/editorGroupView.ts
浏览文件 @
7f035b4b
...
...
@@ -46,13 +46,12 @@ import { withNullAsUndefined, withUndefinedAsNull } from 'vs/base/common/types';
import
{
hash
}
from
'
vs/base/common/hash
'
;
import
{
guessMimeTypes
}
from
'
vs/base/common/mime
'
;
import
{
extname
}
from
'
vs/base/common/resources
'
;
import
{
Schemas
}
from
'
vs/base/common/network
'
;
import
{
FileAccess
,
Schemas
}
from
'
vs/base/common/network
'
;
import
{
EditorActivation
,
EditorOpenContext
}
from
'
vs/platform/editor/common/editor
'
;
import
{
IDialogService
,
IFileDialogService
,
ConfirmResult
}
from
'
vs/platform/dialogs/common/dialogs
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
Codicon
}
from
'
vs/base/common/codicons
'
;
import
{
IFilesConfigurationService
,
AutoSaveMode
}
from
'
vs/workbench/services/filesConfiguration/common/filesConfigurationService
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
export
class
EditorGroupView
extends
Themable
implements
IEditorGroupView
{
...
...
@@ -1781,7 +1780,7 @@ registerThemingParticipant((theme, collector, environment) => {
const
letterpress
=
`./media/letterpress
${
theme
.
type
===
'
dark
'
?
'
-dark
'
:
theme
.
type
===
'
hc
'
?
'
-hc
'
:
''
}
.svg`
;
collector
.
addRule
(
`
.monaco-workbench .part.editor > .content .editor-group-container.empty .editor-group-letterpress {
background-image: url('
${
getPathFromAmdModule
(
require
,
letterpress
)
}
')
background-image: url('
${
FileAccess
.
asBrowserUri
(
letterpress
,
require
).
fsPath
}
')
}
`
);
...
...
src/vs/workbench/contrib/cli/node/cli.contribution.ts
浏览文件 @
7f035b4b
...
...
@@ -19,7 +19,7 @@ import { INotificationService } from 'vs/platform/notification/common/notificati
import
{
IDialogService
}
from
'
vs/platform/dialogs/common/dialogs
'
;
import
Severity
from
'
vs/base/common/severity
'
;
import
{
ILogService
}
from
'
vs/platform/log/common/log
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
import
{
IProductService
}
from
'
vs/platform/product/common/productService
'
;
function
ignore
<
T
>
(
code
:
string
,
value
:
T
):
(
err
:
any
)
=>
Promise
<
T
>
{
...
...
@@ -29,7 +29,7 @@ function ignore<T>(code: string, value: T): (err: any) => Promise<T> {
let
_source
:
string
|
null
=
null
;
function
getSource
():
string
{
if
(
!
_source
)
{
const
root
=
getPathFromAmdModule
(
require
,
''
)
;
const
root
=
FileAccess
.
asFileUri
(
''
,
require
).
fsPath
;
_source
=
path
.
resolve
(
root
,
'
..
'
,
'
bin
'
,
'
code
'
);
}
return
_source
;
...
...
src/vs/workbench/contrib/debug/browser/debug.contribution.ts
浏览文件 @
7f035b4b
...
...
@@ -52,7 +52,7 @@ import { DebugTitleContribution } from 'vs/workbench/contrib/debug/browser/debug
import
{
Codicon
}
from
'
vs/base/common/codicons
'
;
import
{
registerColors
}
from
'
vs/workbench/contrib/debug/browser/debugColors
'
;
import
{
DebugEditorContribution
}
from
'
vs/workbench/contrib/debug/browser/debugEditorContribution
'
;
import
{
getUriFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
const
registry
=
Registry
.
as
<
IWorkbenchActionRegistry
>
(
WorkbenchActionRegistryExtensions
.
WorkbenchActions
);
const
debugCategory
=
nls
.
localize
(
'
debugCategory
'
,
"
Debug
"
);
...
...
@@ -210,15 +210,15 @@ function registerCommandsAndActions(): void {
});
};
registerTouchBarEntry
(
StartAction
.
ID
,
StartAction
.
LABEL
,
0
,
CONTEXT_IN_DEBUG_MODE
.
toNegated
(),
getUriFromAmdModule
(
require
,
'
vs/workbench/contrib/debug/browser/media/continue-tb.png
'
));
registerTouchBarEntry
(
RunAction
.
ID
,
RunAction
.
LABEL
,
1
,
CONTEXT_IN_DEBUG_MODE
.
toNegated
(),
getUriFromAmdModule
(
require
,
'
vs/workbench/contrib/debug/browser/media/continue-without-debugging-tb.png
'
));
registerTouchBarEntry
(
CONTINUE_ID
,
CONTINUE_LABEL
,
0
,
CONTEXT_DEBUG_STATE
.
isEqualTo
(
'
stopped
'
),
getUriFromAmdModule
(
require
,
'
vs/workbench/contrib/debug/browser/media/continue-tb.png
'
));
registerTouchBarEntry
(
PAUSE_ID
,
PAUSE_LABEL
,
1
,
ContextKeyExpr
.
and
(
CONTEXT_IN_DEBUG_MODE
,
ContextKeyExpr
.
notEquals
(
'
debugState
'
,
'
stopped
'
)),
getUriFromAmdModule
(
require
,
'
vs/workbench/contrib/debug/browser/media/pause-tb.png
'
));
registerTouchBarEntry
(
STEP_OVER_ID
,
STEP_OVER_LABEL
,
2
,
CONTEXT_IN_DEBUG_MODE
,
getUriFromAmdModule
(
require
,
'
vs/workbench/contrib/debug/browser/media/stepover-tb.png
'
));
registerTouchBarEntry
(
STEP_INTO_ID
,
STEP_INTO_LABEL
,
3
,
CONTEXT_IN_DEBUG_MODE
,
getUriFromAmdModule
(
require
,
'
vs/workbench/contrib/debug/browser/media/stepinto-tb.png
'
));
registerTouchBarEntry
(
STEP_OUT_ID
,
STEP_OUT_LABEL
,
4
,
CONTEXT_IN_DEBUG_MODE
,
getUriFromAmdModule
(
require
,
'
vs/workbench/contrib/debug/browser/media/stepout-tb.png
'
));
registerTouchBarEntry
(
RESTART_SESSION_ID
,
RESTART_LABEL
,
5
,
CONTEXT_IN_DEBUG_MODE
,
getUriFromAmdModule
(
require
,
'
vs/workbench/contrib/debug/browser/media/restart-tb.png
'
));
registerTouchBarEntry
(
STOP_ID
,
STOP_LABEL
,
6
,
CONTEXT_IN_DEBUG_MODE
,
getUriFromAmdModule
(
require
,
'
vs/workbench/contrib/debug/browser/media/stop-tb.png
'
));
registerTouchBarEntry
(
StartAction
.
ID
,
StartAction
.
LABEL
,
0
,
CONTEXT_IN_DEBUG_MODE
.
toNegated
(),
FileAccess
.
asFileUri
(
'
vs/workbench/contrib/debug/browser/media/continue-tb.png
'
,
require
));
registerTouchBarEntry
(
RunAction
.
ID
,
RunAction
.
LABEL
,
1
,
CONTEXT_IN_DEBUG_MODE
.
toNegated
(),
FileAccess
.
asFileUri
(
'
vs/workbench/contrib/debug/browser/media/continue-without-debugging-tb.png
'
,
require
));
registerTouchBarEntry
(
CONTINUE_ID
,
CONTINUE_LABEL
,
0
,
CONTEXT_DEBUG_STATE
.
isEqualTo
(
'
stopped
'
),
FileAccess
.
asFileUri
(
'
vs/workbench/contrib/debug/browser/media/continue-tb.png
'
,
require
));
registerTouchBarEntry
(
PAUSE_ID
,
PAUSE_LABEL
,
1
,
ContextKeyExpr
.
and
(
CONTEXT_IN_DEBUG_MODE
,
ContextKeyExpr
.
notEquals
(
'
debugState
'
,
'
stopped
'
)),
FileAccess
.
asFileUri
(
'
vs/workbench/contrib/debug/browser/media/pause-tb.png
'
,
require
));
registerTouchBarEntry
(
STEP_OVER_ID
,
STEP_OVER_LABEL
,
2
,
CONTEXT_IN_DEBUG_MODE
,
FileAccess
.
asFileUri
(
'
vs/workbench/contrib/debug/browser/media/stepover-tb.png
'
,
require
));
registerTouchBarEntry
(
STEP_INTO_ID
,
STEP_INTO_LABEL
,
3
,
CONTEXT_IN_DEBUG_MODE
,
FileAccess
.
asFileUri
(
'
vs/workbench/contrib/debug/browser/media/stepinto-tb.png
'
,
require
));
registerTouchBarEntry
(
STEP_OUT_ID
,
STEP_OUT_LABEL
,
4
,
CONTEXT_IN_DEBUG_MODE
,
FileAccess
.
asFileUri
(
'
vs/workbench/contrib/debug/browser/media/stepout-tb.png
'
,
require
));
registerTouchBarEntry
(
RESTART_SESSION_ID
,
RESTART_LABEL
,
5
,
CONTEXT_IN_DEBUG_MODE
,
FileAccess
.
asFileUri
(
'
vs/workbench/contrib/debug/browser/media/restart-tb.png
'
,
require
));
registerTouchBarEntry
(
STOP_ID
,
STOP_LABEL
,
6
,
CONTEXT_IN_DEBUG_MODE
,
FileAccess
.
asFileUri
(
'
vs/workbench/contrib/debug/browser/media/stop-tb.png
'
,
require
));
}
}
...
...
src/vs/workbench/contrib/debug/node/debugHelperService.ts
浏览文件 @
7f035b4b
...
...
@@ -6,7 +6,7 @@
import
{
IDebugHelperService
}
from
'
vs/workbench/contrib/debug/common/debug
'
;
import
{
Client
as
TelemetryClient
}
from
'
vs/base/parts/ipc/node/ipc.cp
'
;
import
{
TelemetryAppenderClient
}
from
'
vs/platform/telemetry/node/telemetryIpc
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
import
{
TelemetryService
}
from
'
vs/platform/telemetry/common/telemetryService
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
registerSingleton
}
from
'
vs/platform/instantiation/common/extensions
'
;
...
...
@@ -24,7 +24,7 @@ export class NodeDebugHelperService implements IDebugHelperService {
createTelemetryService
(
configurationService
:
IConfigurationService
,
args
:
string
[]):
TelemetryService
|
undefined
{
const
client
=
new
TelemetryClient
(
getPathFromAmdModule
(
require
,
'
bootstrap-fork
'
)
,
FileAccess
.
asFileUri
(
'
bootstrap-fork
'
,
require
).
fsPath
,
{
serverName
:
'
Debug Telemetry
'
,
timeout
:
1000
*
60
*
5
,
...
...
src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
浏览文件 @
7f035b4b
...
...
@@ -40,6 +40,7 @@ import { asDomUri } from 'vs/base/browser/dom';
import
{
getIgnoredExtensions
}
from
'
vs/platform/userDataSync/common/extensionsMerge
'
;
import
{
isWeb
}
from
'
vs/base/common/platform
'
;
import
{
getExtensionKind
}
from
'
vs/workbench/services/extensions/common/extensionsUtil
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
interface
IExtensionStateProvider
<
T
>
{
(
extension
:
Extension
):
T
;
...
...
@@ -151,10 +152,10 @@ class Extension implements IExtension {
if
(
this
.
type
===
ExtensionType
.
System
&&
this
.
local
)
{
if
(
this
.
local
.
manifest
&&
this
.
local
.
manifest
.
contributes
)
{
if
(
Array
.
isArray
(
this
.
local
.
manifest
.
contributes
.
themes
)
&&
this
.
local
.
manifest
.
contributes
.
themes
.
length
)
{
return
require
.
toUrl
(
'
./media/theme-icon.png
'
);
return
FileAccess
.
asBrowserUri
(
'
./media/theme-icon.png
'
,
require
).
toString
(
true
);
}
if
(
Array
.
isArray
(
this
.
local
.
manifest
.
contributes
.
grammars
)
&&
this
.
local
.
manifest
.
contributes
.
grammars
.
length
)
{
return
require
.
toUrl
(
'
./media/language-icon.svg
'
);
return
FileAccess
.
asBrowserUri
(
'
./media/language-icon.svg
'
,
require
).
toString
(
true
);
}
}
}
...
...
src/vs/workbench/contrib/externalTerminal/node/externalTerminalService.ts
浏览文件 @
7f035b4b
...
...
@@ -11,9 +11,9 @@ import * as pfs from 'vs/base/node/pfs';
import
*
as
env
from
'
vs/base/common/platform
'
;
import
{
IExternalTerminalService
,
IExternalTerminalConfiguration
,
IExternalTerminalSettings
}
from
'
vs/workbench/contrib/externalTerminal/common/externalTerminal
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
optional
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
DEFAULT_TERMINAL_OSX
}
from
'
vs/workbench/contrib/externalTerminal/node/externalTerminal
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
const
TERMINAL_TITLE
=
nls
.
localize
(
'
console.title
'
,
"
VS Code Console
"
);
...
...
@@ -144,7 +144,7 @@ export class MacExternalTerminalService implements IExternalTerminalService {
// and then launches the program inside that window.
const
script
=
terminalApp
===
DEFAULT_TERMINAL_OSX
?
'
TerminalHelper
'
:
'
iTermHelper
'
;
const
scriptpath
=
getPathFromAmdModule
(
require
,
`vs/workbench/contrib/externalTerminal/node/
${
script
}
.scpt`
)
;
const
scriptpath
=
FileAccess
.
asFileUri
(
`vs/workbench/contrib/externalTerminal/node/
${
script
}
.scpt`
,
require
).
fsPath
;
const
osaArgs
=
[
scriptpath
,
...
...
src/vs/workbench/contrib/webview/electron-browser/webviewElement.ts
浏览文件 @
7f035b4b
...
...
@@ -9,7 +9,7 @@ import { ThrottledDelayer } from 'vs/base/common/async';
import
{
Emitter
,
Event
}
from
'
vs/base/common/event
'
;
import
{
once
}
from
'
vs/base/common/functional
'
;
import
{
DisposableStore
,
IDisposable
,
toDisposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
Schemas
}
from
'
vs/base/common/network
'
;
import
{
FileAccess
,
Schemas
}
from
'
vs/base/common/network
'
;
import
{
isMacintosh
}
from
'
vs/base/common/platform
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
createChannelSender
}
from
'
vs/base/parts/ipc/common/ipc
'
;
...
...
@@ -206,7 +206,10 @@ export class ElectronWebviewBasedWebview extends BaseWebview<WebviewTag> impleme
this
.
styledFindWidget
();
}
this
.
element
!
.
preload
=
require
.
toUrl
(
'
./pre/electron-index.js
'
);
// We must ensure to put a `file:` URI as the preload attribute
// and not the `vscode-file` URI because preload scripts are loaded
// via node.js from the main side and only allow `file:` protocol
this
.
element
!
.
preload
=
FileAccess
.
asFileUri
(
'
./pre/electron-index.js
'
,
require
).
toString
(
true
);
this
.
element
!
.
src
=
`
${
Schemas
.
vscodeWebview
}
://
${
this
.
id
}
/electron-browser/index.html?platform=electron`
;
}
...
...
src/vs/workbench/contrib/welcome/page/browser/welcomePage.ts
浏览文件 @
7f035b4b
...
...
@@ -19,7 +19,7 @@ import { IConfigurationService, ConfigurationTarget } from 'vs/platform/configur
import
{
localize
}
from
'
vs/nls
'
;
import
{
Action
,
WorkbenchActionExecutedEvent
,
WorkbenchActionExecutedClassification
}
from
'
vs/base/common/actions
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
Schemas
}
from
'
vs/base/common/network
'
;
import
{
FileAccess
,
Schemas
}
from
'
vs/base/common/network
'
;
import
{
IBackupFileService
}
from
'
vs/workbench/services/backup/common/backup
'
;
import
{
getInstalledExtensions
,
IExtensionStatus
,
onExtensionChanged
,
isKeymapExtension
}
from
'
vs/workbench/contrib/extensions/common/extensionsUtils
'
;
import
{
IExtensionManagementService
,
IExtensionGalleryService
,
ILocalExtension
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
...
...
@@ -47,7 +47,6 @@ import { IProductService } from 'vs/platform/product/common/productService';
import
{
IEditorOptions
}
from
'
vs/platform/editor/common/editor
'
;
import
{
IWorkbenchLayoutService
}
from
'
vs/workbench/services/layout/browser/layoutService
'
;
import
{
IViewletService
}
from
'
vs/workbench/services/viewlet/browser/viewlet
'
;
import
{
getUriFromAmdModule
}
from
'
vs/base/common/amd
'
;
const
configurationKey
=
'
workbench.startupEditor
'
;
const
oldConfigurationKey
=
'
workbench.welcome.enabled
'
;
...
...
@@ -300,7 +299,7 @@ class WelcomePage extends Disposable {
const
recentlyOpened
=
this
.
workspacesService
.
getRecentlyOpened
();
const
installedExtensions
=
this
.
instantiationService
.
invokeFunction
(
getInstalledExtensions
);
const
resource
=
getUriFromAmdModule
(
require
,
'
./vs_code_welcome_page
'
)
const
resource
=
FileAccess
.
asBrowserUri
(
'
./vs_code_welcome_page
'
,
require
)
.
with
({
scheme
:
Schemas
.
walkThrough
,
query
:
JSON
.
stringify
({
moduleId
:
'
vs/workbench/contrib/welcome/page/browser/vs_code_welcome_page
'
})
...
...
src/vs/workbench/contrib/welcome/walkThrough/browser/editor/editorWalkThrough.ts
浏览文件 @
7f035b4b
...
...
@@ -8,16 +8,15 @@ import { localize } from 'vs/nls';
import
{
IEditorService
}
from
'
vs/workbench/services/editor/common/editorService
'
;
import
{
Action
}
from
'
vs/base/common/actions
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
getUriFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
WalkThroughInput
,
WalkThroughInputOptions
}
from
'
vs/workbench/contrib/welcome/walkThrough/browser/walkThroughInput
'
;
import
{
Schemas
}
from
'
vs/base/common/network
'
;
import
{
FileAccess
,
Schemas
}
from
'
vs/base/common/network
'
;
import
{
IEditorInputFactory
,
EditorInput
}
from
'
vs/workbench/common/editor
'
;
const
typeId
=
'
workbench.editors.walkThroughInput
'
;
const
inputOptions
:
WalkThroughInputOptions
=
{
typeId
,
name
:
localize
(
'
editorWalkThrough.title
'
,
"
Interactive Playground
"
),
resource
:
getUriFromAmdModule
(
require
,
'
./vs_code_editor_walkthrough.md
'
)
resource
:
FileAccess
.
asBrowserUri
(
'
./vs_code_editor_walkthrough.md
'
,
require
)
.
with
({
scheme
:
Schemas
.
walkThrough
,
query
:
JSON
.
stringify
({
moduleId
:
'
vs/workbench/contrib/welcome/walkThrough/browser/editor/vs_code_editor_walkthrough
'
})
...
...
src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.ts
浏览文件 @
7f035b4b
...
...
@@ -29,6 +29,7 @@ import { generateUuid } from 'vs/base/common/uuid';
import
{
canceled
,
onUnexpectedError
}
from
'
vs/base/common/errors
'
;
import
{
WEB_WORKER_IFRAME
}
from
'
vs/workbench/services/extensions/common/webWorkerIframe
'
;
import
{
Barrier
}
from
'
vs/base/common/async
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
export
interface
IWebWorkerExtensionHostInitData
{
readonly
autoStart
:
boolean
;
...
...
@@ -92,7 +93,7 @@ export class WebWorkerExtensionHost extends Disposable implements IExtensionHost
iframe
.
style
.
display
=
'
none
'
;
const
vscodeWebWorkerExtHostId
=
generateUuid
();
const
workerUrl
=
require
.
toUrl
(
'
../worker/extensionHostWorkerMain.js
'
);
const
workerUrl
=
FileAccess
.
asBrowserUri
(
'
../worker/extensionHostWorkerMain.js
'
,
require
).
toString
(
true
);
const
workerSrc
=
getWorkerBootstrapUrl
(
workerUrl
,
'
WorkerExtensionHost
'
,
true
);
const
escapeAttribute
=
(
value
:
string
):
string
=>
{
return
value
.
replace
(
/"/g
,
'
"
'
);
...
...
@@ -173,7 +174,7 @@ export class WebWorkerExtensionHost extends Disposable implements IExtensionHost
private
async
_startOutsideIframe
():
Promise
<
IMessagePassingProtocol
>
{
const
emitter
=
new
Emitter
<
VSBuffer
>
();
const
url
=
getWorkerBootstrapUrl
(
require
.
toUrl
(
'
../worker/extensionHostWorkerMain.js
'
),
'
WorkerExtensionHost
'
);
const
url
=
getWorkerBootstrapUrl
(
FileAccess
.
asBrowserUri
(
'
../worker/extensionHostWorkerMain.js
'
,
require
).
toString
(
true
),
'
WorkerExtensionHost
'
);
const
worker
=
new
Worker
(
url
,
{
name
:
'
WorkerExtensionHost
'
});
const
barrier
=
new
Barrier
();
...
...
src/vs/workbench/services/extensions/electron-browser/cachedExtensionScanner.ts
浏览文件 @
7f035b4b
...
...
@@ -5,9 +5,8 @@
import
*
as
nls
from
'
vs/nls
'
;
import
*
as
path
from
'
vs/base/common/path
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
*
as
errors
from
'
vs/base/common/errors
'
;
import
{
Schemas
}
from
'
vs/base/common/network
'
;
import
{
FileAccess
,
Schemas
}
from
'
vs/base/common/network
'
;
import
*
as
objects
from
'
vs/base/common/objects
'
;
import
*
as
platform
from
'
vs/base/common/platform
'
;
import
{
joinPath
,
originalFSPath
}
from
'
vs/base/common/resources
'
;
...
...
@@ -30,7 +29,7 @@ interface IExtensionCacheData {
let
_SystemExtensionsRoot
:
string
|
null
=
null
;
function
getSystemExtensionsRoot
():
string
{
if
(
!
_SystemExtensionsRoot
)
{
_SystemExtensionsRoot
=
path
.
normalize
(
path
.
join
(
getPathFromAmdModule
(
require
,
''
)
,
'
..
'
,
'
extensions
'
));
_SystemExtensionsRoot
=
path
.
normalize
(
path
.
join
(
FileAccess
.
asFileUri
(
''
,
require
).
fsPath
,
'
..
'
,
'
extensions
'
));
}
return
_SystemExtensionsRoot
;
}
...
...
@@ -38,7 +37,7 @@ function getSystemExtensionsRoot(): string {
let
_ExtraDevSystemExtensionsRoot
:
string
|
null
=
null
;
function
getExtraDevSystemExtensionsRoot
():
string
{
if
(
!
_ExtraDevSystemExtensionsRoot
)
{
_ExtraDevSystemExtensionsRoot
=
path
.
normalize
(
path
.
join
(
getPathFromAmdModule
(
require
,
''
)
,
'
..
'
,
'
.build
'
,
'
builtInExtensions
'
));
_ExtraDevSystemExtensionsRoot
=
path
.
normalize
(
path
.
join
(
FileAccess
.
asFileUri
(
''
,
require
).
fsPath
,
'
..
'
,
'
.build
'
,
'
builtInExtensions
'
));
}
return
_ExtraDevSystemExtensionsRoot
;
}
...
...
src/vs/workbench/services/extensions/electron-browser/localProcessExtensionHost.ts
浏览文件 @
7f035b4b
...
...
@@ -7,7 +7,7 @@ import * as nls from 'vs/nls';
import
{
ChildProcess
,
fork
}
from
'
child_process
'
;
import
{
Server
,
Socket
,
createServer
}
from
'
net
'
;
import
{
CrashReporterStartOptions
}
from
'
vs/base/parts/sandbox/electron-sandbox/electronTypes
'
;
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
import
{
timeout
}
from
'
vs/base/common/async
'
;
import
{
toErrorMessage
}
from
'
vs/base/common/errorMessage
'
;
import
{
Emitter
,
Event
}
from
'
vs/base/common/event
'
;
...
...
@@ -215,7 +215,7 @@ export class LocalProcessExtensionHost implements IExtensionHost {
}
// Run Extension Host as fork of current process
this
.
_extensionHostProcess
=
fork
(
getPathFromAmdModule
(
require
,
'
bootstrap-fork
'
)
,
[
'
--type=extensionHost
'
],
opts
);
this
.
_extensionHostProcess
=
fork
(
FileAccess
.
asFileUri
(
'
bootstrap-fork
'
,
require
).
fsPath
,
[
'
--type=extensionHost
'
],
opts
);
// Catch all output coming from the extension host process
type
Output
=
{
data
:
string
,
format
:
string
[]
};
...
...
src/vs/workbench/services/integrity/node/integrityService.ts
浏览文件 @
7f035b4b
...
...
@@ -15,7 +15,7 @@ import { INotificationService } from 'vs/platform/notification/common/notificati
import
{
IStorageService
,
StorageScope
}
from
'
vs/platform/storage/common/storage
'
;
import
{
registerSingleton
}
from
'
vs/platform/instantiation/common/extensions
'
;
import
{
IOpenerService
}
from
'
vs/platform/opener/common/opener
'
;
import
{
getUriFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
interface
IStorageData
{
dontShowPrompt
:
boolean
;
...
...
@@ -142,7 +142,7 @@ export class IntegrityServiceImpl implements IIntegrityService {
}
private
_resolve
(
filename
:
string
,
expected
:
string
):
Promise
<
ChecksumPair
>
{
const
fileUri
=
getUriFromAmdModule
(
require
,
filenam
e
);
const
fileUri
=
FileAccess
.
asFileUri
(
filename
,
requir
e
);
return
new
Promise
<
ChecksumPair
>
((
resolve
,
reject
)
=>
{
fs
.
readFile
(
fileUri
.
fsPath
,
(
err
,
buff
)
=>
{
if
(
err
)
{
...
...
src/vs/workbench/services/search/electron-browser/searchService.ts
浏览文件 @
7f035b4b
...
...
@@ -3,7 +3,6 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
{
getPathFromAmdModule
}
from
'
vs/base/common/amd
'
;
import
{
CancellationToken
}
from
'
vs/base/common/cancellation
'
;
import
{
canceled
}
from
'
vs/base/common/errors
'
;
import
{
Event
}
from
'
vs/base/common/event
'
;
...
...
@@ -26,6 +25,7 @@ import { IEditorService } from 'vs/workbench/services/editor/common/editorServic
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
IExtensionService
}
from
'
vs/workbench/services/extensions/common/extensions
'
;
import
{
registerSingleton
}
from
'
vs/platform/instantiation/common/extensions
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
export
class
LocalSearchService
extends
SearchService
{
constructor
(
...
...
@@ -82,10 +82,7 @@ export class DiskSearch implements ISearchResultProvider {
}
}
const
client
=
new
Client
(
getPathFromAmdModule
(
require
,
'
bootstrap-fork
'
),
opts
);
const
client
=
new
Client
(
FileAccess
.
asFileUri
(
'
bootstrap-fork
'
,
require
).
fsPath
,
opts
);
const
channel
=
getNextTickChannel
(
client
.
getChannel
(
'
search
'
));
this
.
raw
=
new
SearchChannelClient
(
channel
);
}
...
...
src/vs/workbench/services/textMate/browser/textMateService.ts
浏览文件 @
7f035b4b
...
...
@@ -14,6 +14,7 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur
import
{
IStorageService
}
from
'
vs/platform/storage/common/storage
'
;
import
{
IExtensionResourceLoaderService
}
from
'
vs/workbench/services/extensionResourceLoader/common/extensionResourceLoader
'
;
import
{
IProgressService
}
from
'
vs/platform/progress/common/progress
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
export
class
TextMateService
extends
AbstractTextMateService
{
...
...
@@ -31,8 +32,7 @@ export class TextMateService extends AbstractTextMateService {
}
protected
async
_loadVSCodeOnigurumWASM
():
Promise
<
Response
|
ArrayBuffer
>
{
const
wasmPath
=
require
.
toUrl
(
'
vscode-oniguruma/../onig.wasm
'
);
const
response
=
await
fetch
(
wasmPath
);
const
response
=
await
fetch
(
FileAccess
.
asBrowserUri
(
'
vscode-oniguruma/../onig.wasm
'
,
require
).
toString
(
true
));
// Using the response directly only works if the server sets the MIME type 'application/wasm'.
// Otherwise, a TypeError is thrown when using the streaming compiler.
// We therefore use the non-streaming compiler :(.
...
...
src/vs/workbench/services/textMate/electron-sandbox/textMateService.ts
浏览文件 @
7f035b4b
...
...
@@ -26,6 +26,7 @@ import { IStorageService } from 'vs/platform/storage/common/storage';
import
{
IExtensionResourceLoaderService
}
from
'
vs/workbench/services/extensionResourceLoader/common/extensionResourceLoader
'
;
import
{
IWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/common/environmentService
'
;
import
{
IProgressService
}
from
'
vs/platform/progress/common/progress
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
const
RUN_TEXTMATE_IN_WORKER
=
false
;
...
...
@@ -182,12 +183,9 @@ export class TextMateService extends AbstractTextMateService {
}
protected
async
_loadVSCodeOnigurumWASM
():
Promise
<
Response
|
ArrayBuffer
>
{
const
wasmPath
=
(
this
.
_environmentService
.
isBuilt
?
require
.
toUrl
(
'
../../../../../../node_modules.asar.unpacked/vscode-oniguruma/release/onig.wasm
'
)
:
require
.
toUrl
(
'
../../../../../../node_modules/vscode-oniguruma/release/onig.wasm
'
)
);
const
response
=
await
fetch
(
wasmPath
);
const
response
=
await
fetch
(
this
.
_environmentService
.
isBuilt
?
FileAccess
.
asBrowserUri
(
'
../../../../../../node_modules.asar.unpacked/vscode-oniguruma/release/onig.wasm
'
,
require
).
toString
(
true
)
:
FileAccess
.
asBrowserUri
(
'
../../../../../../node_modules/vscode-oniguruma/release/onig.wasm
'
,
require
).
toString
(
true
));
return
response
;
}
...
...
src/vs/workbench/services/textMate/electron-sandbox/textMateWorker.ts
浏览文件 @
7f035b4b
...
...
@@ -14,6 +14,7 @@ import { TokenizationStateStore } from 'vs/editor/common/model/textModelTokens';
import
type
{
IGrammar
,
StackElement
,
IRawTheme
,
IOnigLib
}
from
'
vscode-textmate
'
;
import
{
MultilineTokensBuilder
,
countEOL
}
from
'
vs/editor/common/model/tokensStore
'
;
import
{
LineTokens
}
from
'
vs/editor/common/core/lineTokens
'
;
import
{
FileAccess
}
from
'
vs/base/common/network
'
;
export
interface
IValidGrammarDefinitionDTO
{
location
:
UriComponents
;
...
...
@@ -146,8 +147,7 @@ export class TextMateWorker {
});
const
vscodeTextmate
=
await
import
(
'
vscode-textmate
'
);
const
vscodeOniguruma
=
await
import
(
'
vscode-oniguruma
'
);
const
wasmPath
=
require
.
toUrl
(
'
vscode-oniguruma/../onig.wasm
'
);
const
response
=
await
fetch
(
wasmPath
);
const
response
=
await
fetch
(
FileAccess
.
asBrowserUri
(
'
vscode-oniguruma/../onig.wasm
'
,
require
).
toString
(
true
));
// Using the response directly only works if the server sets the MIME type 'application/wasm'.
// Otherwise, a TypeError is thrown when using the streaming compiler.
// We therefore use the non-streaming compiler :(.
...
...
test/unit/electron/renderer.js
浏览文件 @
7f035b4b
...
...
@@ -32,7 +32,7 @@ function initLoader(opts) {
nodeRequire
:
require
,
nodeMain
:
__filename
,
catchError
:
true
,
baseUrl
:
bootstrap
.
fileUriFromPath
(
path
.
join
(
__dirname
,
'
../../../src
'
),
process
.
platform
===
'
win32
'
),
baseUrl
:
bootstrap
.
fileUriFromPath
(
path
.
join
(
__dirname
,
'
../../../src
'
),
{
isWindows
:
process
.
platform
===
'
win32
'
}
),
paths
:
{
'
vs
'
:
`../
${
outdir
}
/vs`
,
'
lib
'
:
`../
${
outdir
}
/lib`
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录