Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
afa288e7
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
afa288e7
编写于
8月 06, 2020
作者:
A
Alex Dima
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add `IWorkbenchConstructionOptions._enableBuiltinExtensions`
上级
f2f4a9d3
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
50 addition
and
27 deletion
+50
-27
resources/serverless/code-web.js
resources/serverless/code-web.js
+1
-2
src/vs/workbench/services/extensionManagement/browser/builtinExtensionsScannerService.ts
...sionManagement/browser/builtinExtensionsScannerService.ts
+41
-25
src/vs/workbench/workbench.web.api.ts
src/vs/workbench/workbench.web.api.ts
+8
-0
未找到文件。
resources/serverless/code-web.js
浏览文件 @
afa288e7
...
...
@@ -295,8 +295,7 @@ async function handleRoot(req, res) {
const
webConfigJSON
=
escapeAttribute
(
JSON
.
stringify
({
folderUri
:
folderUri
,
staticExtensions
,
builtinExtensionsServiceUrl
:
`
${
SCHEME
}
://
${
AUTHORITY
}
/static/extensions`
staticExtensions
}));
const
data
=
(
await
readFile
(
WEB_MAIN
)).
toString
()
...
...
src/vs/workbench/services/extensionManagement/browser/builtinExtensionsScannerService.ts
浏览文件 @
afa288e7
...
...
@@ -29,36 +29,52 @@ export class BuiltinExtensionsScannerService implements IBuiltinExtensionsScanne
@
IWorkbenchEnvironmentService
environmentService
:
IWorkbenchEnvironmentService
,
@
IUriIdentityService
uriIdentityService
:
IUriIdentityService
,
)
{
if
(
isWeb
)
{
const
builtinExtensionsServiceUrl
=
this
.
_getBuiltinExtensionsUrl
(
environmentService
);
if
(
builtinExtensionsServiceUrl
)
{
let
scannedBuiltinExtensions
:
IScannedBuiltinExtension
[]
=
[];
const
builtinExtensionsServiceUrl
=
environmentService
.
options
?.
builtinExtensionsServiceUrl
?
URI
.
parse
(
environmentService
.
options
?.
builtinExtensionsServiceUrl
)
:
undefined
;
if
(
isWeb
&&
builtinExtensionsServiceUrl
)
{
let
scannedBuiltinExtensions
:
IScannedBuiltinExtension
[]
=
[];
if
(
environmentService
.
isBuilt
)
{
// Built time configuration (do NOT modify)
scannedBuiltinExtensions
=
[
/*BUILD->INSERT_BUILTIN_EXTENSIONS*/
];
}
else
{
// Find builtin extensions by checking for DOM
const
builtinExtensionsElement
=
document
.
getElementById
(
'
vscode-workbench-builtin-extensions
'
);
const
builtinExtensionsElementAttribute
=
builtinExtensionsElement
?
builtinExtensionsElement
.
getAttribute
(
'
data-settings
'
)
:
undefined
;
if
(
builtinExtensionsElementAttribute
)
{
try
{
scannedBuiltinExtensions
=
JSON
.
parse
(
builtinExtensionsElementAttribute
);
}
catch
(
error
)
{
/* ignore error*/
}
if
(
environmentService
.
isBuilt
)
{
// Built time configuration (do NOT modify)
scannedBuiltinExtensions
=
[
/*BUILD->INSERT_BUILTIN_EXTENSIONS*/
];
}
else
{
// Find builtin extensions by checking for DOM
const
builtinExtensionsElement
=
document
.
getElementById
(
'
vscode-workbench-builtin-extensions
'
);
const
builtinExtensionsElementAttribute
=
builtinExtensionsElement
?
builtinExtensionsElement
.
getAttribute
(
'
data-settings
'
)
:
undefined
;
if
(
builtinExtensionsElementAttribute
)
{
try
{
scannedBuiltinExtensions
=
JSON
.
parse
(
builtinExtensionsElementAttribute
);
}
catch
(
error
)
{
/* ignore error*/
}
}
}
this
.
builtinExtensions
=
scannedBuiltinExtensions
.
map
(
e
=>
({
identifier
:
{
id
:
getGalleryExtensionId
(
e
.
packageJSON
.
publisher
,
e
.
packageJSON
.
name
)
},
location
:
uriIdentityService
.
extUri
.
joinPath
(
builtinExtensionsServiceUrl
!
,
e
.
extensionPath
),
type
:
ExtensionType
.
System
,
packageJSON
:
e
.
packageJSON
,
packageNLS
:
e
.
packageNLS
,
readmeUrl
:
e
.
readmePath
?
uriIdentityService
.
extUri
.
joinPath
(
builtinExtensionsServiceUrl
!
,
e
.
readmePath
)
:
undefined
,
changelogUrl
:
e
.
changelogPath
?
uriIdentityService
.
extUri
.
joinPath
(
builtinExtensionsServiceUrl
!
,
e
.
changelogPath
)
:
undefined
,
}));
}
}
}
this
.
builtinExtensions
=
scannedBuiltinExtensions
.
map
(
e
=>
({
identifier
:
{
id
:
getGalleryExtensionId
(
e
.
packageJSON
.
publisher
,
e
.
packageJSON
.
name
)
},
location
:
uriIdentityService
.
extUri
.
joinPath
(
builtinExtensionsServiceUrl
!
,
e
.
extensionPath
),
type
:
ExtensionType
.
System
,
packageJSON
:
e
.
packageJSON
,
packageNLS
:
e
.
packageNLS
,
readmeUrl
:
e
.
readmePath
?
uriIdentityService
.
extUri
.
joinPath
(
builtinExtensionsServiceUrl
!
,
e
.
readmePath
)
:
undefined
,
changelogUrl
:
e
.
changelogPath
?
uriIdentityService
.
extUri
.
joinPath
(
builtinExtensionsServiceUrl
!
,
e
.
changelogPath
)
:
undefined
,
}));
private
_getBuiltinExtensionsUrl
(
environmentService
:
IWorkbenchEnvironmentService
):
URI
|
undefined
{
if
(
environmentService
.
options
?.
builtinExtensionsServiceUrl
)
{
return
URI
.
parse
(
environmentService
.
options
?.
builtinExtensionsServiceUrl
);
}
let
enableBuiltinExtensions
:
boolean
;
if
(
environmentService
.
options
&&
typeof
environmentService
.
options
.
_enableBuiltinExtensions
!==
'
undefined
'
)
{
enableBuiltinExtensions
=
environmentService
.
options
.
_enableBuiltinExtensions
;
}
else
{
enableBuiltinExtensions
=
environmentService
.
configuration
.
remoteAuthority
?
false
:
true
;
}
if
(
enableBuiltinExtensions
)
{
return
URI
.
parse
(
require
.
toUrl
(
'
../../../../../../extensions
'
));
}
return
undefined
;
}
async
scanBuiltinExtensions
():
Promise
<
IScannedExtension
[]
>
{
...
...
src/vs/workbench/workbench.web.api.ts
浏览文件 @
afa288e7
...
...
@@ -268,10 +268,18 @@ interface IWorkbenchConstructionOptions {
readonly
staticExtensions
?:
ReadonlyArray
<
IStaticExtension
>
;
/**
* [TEMPORARY]: This will be removed soon.
* Service end-point hosting builtin extensions
*/
readonly
builtinExtensionsServiceUrl
?:
string
;
/**
* [TEMPORARY]: This will be removed soon.
* Disable the inlined extensions.
* Defaults to false on serverful and true on serverless.
*/
readonly
_enableBuiltinExtensions
?:
boolean
;
/**
* Support for URL callbacks.
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录