Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
cd22d654
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,发现更多精彩内容 >>
提交
cd22d654
编写于
5月 24, 2019
作者:
A
Alex Dima
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
First cut at an IExtensionService running in the browser
上级
df1c586e
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
138 addition
and
6 deletion
+138
-6
src/vs/platform/remote/browser/remoteAuthorityResolverService.ts
...platform/remote/browser/remoteAuthorityResolverService.ts
+0
-3
src/vs/workbench/browser/web.simpleservices.ts
src/vs/workbench/browser/web.simpleservices.ts
+31
-2
src/vs/workbench/services/extensions/browser/extensionService.ts
...workbench/services/extensions/browser/extensionService.ts
+106
-0
src/vs/workbench/workbench.web.main.ts
src/vs/workbench/workbench.web.main.ts
+1
-1
未找到文件。
src/vs/platform/remote/browser/remoteAuthorityResolverService.ts
浏览文件 @
cd22d654
...
...
@@ -21,14 +21,11 @@ export class RemoteAuthorityResolverService implements IRemoteAuthorityResolverS
}
clearResolvedAuthority
(
authority
:
string
):
void
{
throw
new
Error
(
`Not implemented`
);
}
setResolvedAuthority
(
resolvedAuthority
:
ResolvedAuthority
)
{
throw
new
Error
(
`Not implemented`
);
}
setResolvedAuthorityError
(
authority
:
string
,
err
:
any
):
void
{
throw
new
Error
(
`Not implemented`
);
}
}
src/vs/workbench/browser/web.simpleservices.ts
浏览文件 @
cd22d654
...
...
@@ -59,6 +59,8 @@ import { Color, RGBA } from 'vs/base/common/color';
import
{
ITunnelService
}
from
'
vs/platform/remote/common/tunnel
'
;
import
{
IWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/common/environmentService
'
;
import
{
IFileService
}
from
'
vs/platform/files/common/files
'
;
import
{
IReloadSessionEvent
,
IExtensionHostDebugService
,
ICloseSessionEvent
,
IAttachSessionEvent
,
ILogToSessionEvent
,
ITerminateSessionEvent
}
from
'
vs/workbench/services/extensions/common/extensionHostDebug
'
;
import
{
IRemoteConsoleLog
}
from
'
vs/base/common/console
'
;
export
const
workspaceResource
=
URI
.
file
((
<
any
>
self
).
USER_HOME_DIR
||
'
/
'
).
with
({
scheme
:
Schemas
.
vscodeRemote
,
...
...
@@ -257,7 +259,10 @@ export class SimpleWorkbenchEnvironmentService implements IWorkbenchEnvironmentS
extensionsPath
:
string
;
extensionDevelopmentLocationURI
?:
URI
[];
extensionTestsPath
?:
string
;
debugExtensionHost
:
IExtensionHostDebugParams
;
debugExtensionHost
:
IExtensionHostDebugParams
=
{
port
:
null
,
break
:
false
};
debugSearch
:
IDebugParams
;
logExtensionHostCommunication
:
boolean
;
isBuilt
:
boolean
;
...
...
@@ -926,7 +931,7 @@ export class SimpleWindowConfiguration implements IWindowConfiguration {
workspace
?:
IWorkspaceIdentifier
;
folderUri
?:
ISingleFolderWorkspaceIdentifier
;
remoteAuthority
?:
string
;
remoteAuthority
:
string
=
document
.
location
.
host
;
zoomLevel
?:
number
;
fullscreen
?:
boolean
;
...
...
@@ -1074,6 +1079,30 @@ registerSingleton(IWindowService, SimpleWindowService);
//#endregion
//#region ExtensionHostDebugService
export
class
SimpleExtensionHostDebugService
implements
IExtensionHostDebugService
{
_serviceBrand
:
any
;
reload
(
sessionId
:
string
):
void
{
}
onReload
:
Event
<
IReloadSessionEvent
>
=
Event
.
None
;
close
(
sessionId
:
string
):
void
{
}
onClose
:
Event
<
ICloseSessionEvent
>
=
Event
.
None
;
attachSession
(
sessionId
:
string
,
port
:
number
,
subId
?:
string
):
void
{
}
onAttachSession
:
Event
<
IAttachSessionEvent
>
=
Event
.
None
;
logToSession
(
sessionId
:
string
,
log
:
IRemoteConsoleLog
):
void
{
}
onLogToSession
:
Event
<
ILogToSessionEvent
>
=
Event
.
None
;
terminateSession
(
sessionId
:
string
,
subId
?:
string
):
void
{
}
onTerminateSession
:
Event
<
ITerminateSessionEvent
>
=
Event
.
None
;
}
registerSingleton
(
IExtensionHostDebugService
,
SimpleExtensionHostDebugService
);
//#endregion
//#region Window
export
class
SimpleWindowsService
implements
IWindowsService
{
...
...
src/vs/workbench/services/extensions/browser/extensionService.ts
0 → 100644
浏览文件 @
cd22d654
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
{
IWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/common/environmentService
'
;
import
{
IExtensionEnablementService
,
IExtensionManagementService
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IRemoteAgentService
}
from
'
vs/workbench/services/remote/common/remoteAgentService
'
;
import
{
IRemoteAuthorityResolverService
}
from
'
vs/platform/remote/common/remoteAuthorityResolver
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
ILifecycleService
}
from
'
vs/platform/lifecycle/common/lifecycle
'
;
import
{
INotificationService
}
from
'
vs/platform/notification/common/notification
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
IWindowService
}
from
'
vs/platform/windows/common/windows
'
;
import
{
IExtensionService
,
IExtensionHostStarter
}
from
'
vs/workbench/services/extensions/common/extensions
'
;
import
{
IExtensionDescription
}
from
'
vs/platform/extensions/common/extensions
'
;
import
{
registerSingleton
}
from
'
vs/platform/instantiation/common/extensions
'
;
import
{
IFileService
}
from
'
vs/platform/files/common/files
'
;
import
{
IProductService
}
from
'
vs/platform/product/common/product
'
;
import
{
AbstractExtensionService
,
IExtensionScanner
}
from
'
vs/workbench/services/extensions/common/abstractExtensionService
'
;
import
{
browserWebSocketFactory
}
from
'
vs/platform/remote/browser/browserWebSocketFactory
'
;
import
{
Translations
,
ILog
}
from
'
vs/workbench/services/extensions/common/extensionPoints
'
;
import
{
Event
}
from
'
vs/base/common/event
'
;
import
{
IMessagePassingProtocol
}
from
'
vs/base/parts/ipc/common/ipc
'
;
class
NullExtensionScanner
implements
IExtensionScanner
{
readonly
scannedExtensions
:
Promise
<
IExtensionDescription
[]
>
=
Promise
.
resolve
([]);
readonly
translationConfig
:
Promise
<
Translations
>
;
public
async
scanSingleExtension
(
path
:
string
,
isBuiltin
:
boolean
,
log
:
ILog
):
Promise
<
IExtensionDescription
|
null
>
{
return
null
;
}
public
async
startScanningExtensions
(
log
:
ILog
):
Promise
<
void
>
{
}
}
export
class
ExtensionService
extends
AbstractExtensionService
implements
IExtensionService
{
constructor
(
@
IInstantiationService
instantiationService
:
IInstantiationService
,
@
INotificationService
notificationService
:
INotificationService
,
@
IWorkbenchEnvironmentService
environmentService
:
IWorkbenchEnvironmentService
,
@
ITelemetryService
telemetryService
:
ITelemetryService
,
@
IExtensionEnablementService
extensionEnablementService
:
IExtensionEnablementService
,
@
IExtensionManagementService
extensionManagementService
:
IExtensionManagementService
,
@
IWindowService
windowService
:
IWindowService
,
@
IRemoteAgentService
remoteAgentService
:
IRemoteAgentService
,
@
IRemoteAuthorityResolverService
remoteAuthorityResolverService
:
IRemoteAuthorityResolverService
,
@
IConfigurationService
configurationService
:
IConfigurationService
,
@
ILifecycleService
lifecycleService
:
ILifecycleService
,
@
IFileService
fileService
:
IFileService
,
@
IProductService
productService
:
IProductService
)
{
super
(
new
NullExtensionScanner
(),
browserWebSocketFactory
,
instantiationService
,
notificationService
,
environmentService
,
telemetryService
,
extensionEnablementService
,
extensionManagementService
,
windowService
,
remoteAgentService
,
remoteAuthorityResolverService
,
configurationService
,
lifecycleService
,
fileService
,
productService
,
);
}
protected
_createLocalExtHostProcessWorker
(
autoStart
:
boolean
,
extensions
:
Promise
<
IExtensionDescription
[]
>
):
IExtensionHostStarter
{
return
new
class
implements
IExtensionHostStarter
{
onExit
=
Event
.
None
;
start
():
Promise
<
IMessagePassingProtocol
>
|
null
{
return
new
Promise
<
IMessagePassingProtocol
>
((
c
,
e
)
=>
{
});
}
getInspectPort
():
number
|
undefined
{
throw
new
Error
(
'
Method not implemented.
'
);
}
dispose
():
void
{
throw
new
Error
(
'
Method not implemented.
'
);
}
};
}
public
_onExtensionHostExit
(
code
:
number
):
void
{
// Expected development extension termination: When the extension host goes down we also shutdown the window
if
(
!
this
.
_isExtensionDevTestFromCli
)
{
this
.
_windowService
.
closeWindow
();
}
// When CLI testing make sure to exit with proper exit code
else
{
console
.
log
(
`vscode:exit`
,
code
);
// ipc.send('vscode:exit', code);
}
}
}
registerSingleton
(
IExtensionService
,
ExtensionService
);
src/vs/workbench/workbench.web.main.ts
浏览文件 @
cd22d654
...
...
@@ -128,7 +128,7 @@ import 'vs/workbench/services/mode/common/workbenchModeService';
import
'
vs/workbench/services/commands/common/commandService
'
;
import
'
vs/workbench/services/themes/browser/workbenchThemeService
'
;
// import 'vs/workbench/services/extensionManagement/node/extensionEnablementService';
// import 'vs/workbench/services/extensions/electron-
browser/extensionService';
import
'
vs/workbench/services/extensions/
browser/extensionService
'
;
// import 'vs/workbench/services/contextmenu/electron-browser/contextmenuService';
// import 'vs/workbench/services/extensionManagement/node/multiExtensionManagement';
import
'
vs/workbench/services/label/common/labelService
'
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录