Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
彭彦祖
code-server
提交
6737384d
C
code-server
项目概览
彭彦祖
/
code-server
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
code-server
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
6737384d
编写于
8月 15, 2019
作者:
A
Asher
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Handle existing query when opening folder
上级
f61a0ae7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
43 addition
and
9 deletion
+43
-9
scripts/vscode.patch
scripts/vscode.patch
+17
-9
src/client.ts
src/client.ts
+26
-0
未找到文件。
scripts/vscode.patch
浏览文件 @
6737384d
...
@@ -583,20 +583,21 @@ index ede771a03e..bb40fcdd6b 100644
...
@@ -583,20 +583,21 @@ index ede771a03e..bb40fcdd6b 100644
if (!userDataProvider) {
if (!userDataProvider) {
const remoteUserDataUri = this.getRemoteUserDataUri();
const remoteUserDataUri = this.getRemoteUserDataUri();
diff --git a/src/vs/workbench/browser/web.simpleservices.ts b/src/vs/workbench/browser/web.simpleservices.ts
diff --git a/src/vs/workbench/browser/web.simpleservices.ts b/src/vs/workbench/browser/web.simpleservices.ts
index 25414d8733..
a0de828393
100644
index 25414d8733..
20b0ad4a49
100644
--- a/src/vs/workbench/browser/web.simpleservices.ts
--- a/src/vs/workbench/browser/web.simpleservices.ts
+++ b/src/vs/workbench/browser/web.simpleservices.ts
+++ b/src/vs/workbench/browser/web.simpleservices.ts
@@ -38,6 +38,
9
@@
import { IRemoteAgentService } from 'vs/workbench/services/remote/common/remoteA
@@ -38,6 +38,
10
@@
import { IRemoteAgentService } from 'vs/workbench/services/remote/common/remoteA
import { IExperimentService, IExperiment, ExperimentActionType, ExperimentState } from 'vs/workbench/contrib/experiments/common/experimentService';
import { IExperimentService, IExperiment, ExperimentActionType, ExperimentState } from 'vs/workbench/contrib/experiments/common/experimentService';
import { ExtensionHostDebugChannelClient, ExtensionHostDebugBroadcastChannel } from 'vs/platform/debug/common/extensionHostDebugIpc';
import { ExtensionHostDebugChannelClient, ExtensionHostDebugBroadcastChannel } from 'vs/platform/debug/common/extensionHostDebugIpc';
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
+import { ExtensionManagementChannelClient } from 'vs/platform/extensionManagement/common/extensionManagementIpc';
+import { ExtensionManagementChannelClient } from 'vs/platform/extensionManagement/common/extensionManagementIpc';
+import { withQuery } from 'vs/server/src/client';
+import { IUploadService, UploadService } from 'vs/server/src/upload';
+import { IUploadService, UploadService } from 'vs/server/src/upload';
+registerSingleton(IUploadService, UploadService, true);
+registerSingleton(IUploadService, UploadService, true);
//#region Extension Tips
//#region Extension Tips
@@ -131,7 +13
4
,15 @@
export class SimpleExtensionManagementService implements IExtensionManagementSer
@@ -131,7 +13
5
,15 @@
export class SimpleExtensionManagementService implements IExtensionManagementSer
}
}
}
}
...
@@ -613,7 +614,7 @@ index 25414d8733..a0de828393 100644
...
@@ -613,7 +614,7 @@ index 25414d8733..a0de828393 100644
//#endregion
//#endregion
@@ -251,7 +26
2
,7 @@
export class SimpleUpdateService implements IUpdateService {
@@ -251,7 +26
3
,7 @@
export class SimpleUpdateService implements IUpdateService {
}
}
}
}
...
@@ -622,25 +623,32 @@ index 25414d8733..a0de828393 100644
...
@@ -622,25 +623,32 @@ index 25414d8733..a0de828393 100644
//#endregion
//#endregion
@@ -491,7 +50
2,7
@@
export class SimpleWindowService extends Disposable implements IWindowService {
@@ -491,7 +50
3,11
@@
export class SimpleWindowService extends Disposable implements IWindowService {
for (let i = 0; i < _uris.length; i++) {
for (let i = 0; i < _uris.length; i++) {
const uri = _uris[i];
const uri = _uris[i];
if ('folderUri' in uri) {
if ('folderUri' in uri) {
- const newAddress = `${document.location.origin}/?folder=${uri.folderUri.path}${this.workbenchEnvironmentService.configuration.connectionToken ? `&tkn=${this.workbenchEnvironmentService.configuration.connectionToken}` : ''}`;
- const newAddress = `${document.location.origin}/?folder=${uri.folderUri.path}${this.workbenchEnvironmentService.configuration.connectionToken ? `&tkn=${this.workbenchEnvironmentService.configuration.connectionToken}` : ''}`;
+ const newAddress = `${window.location}?folder=${uri.folderUri.path}${this.workbenchEnvironmentService.configuration.connectionToken ? `&tkn=${this.workbenchEnvironmentService.configuration.connectionToken}` : ''}`;
+ const newAddress = withQuery(window.location.toString(), {
+ folder: uri.folderUri.path,
+ tkn: this.workbenchEnvironmentService.configuration.connectionToken,
+ workspace: undefined,
+ });
if (openFolderInNewWindow) {
if (openFolderInNewWindow) {
window.open(newAddress);
window.open(newAddress);
} else {
} else {
@@ -499,7 +51
0,7
@@
export class SimpleWindowService extends Disposable implements IWindowService {
@@ -499,7 +51
5,10
@@
export class SimpleWindowService extends Disposable implements IWindowService {
}
}
}
}
if ('workspaceUri' in uri) {
if ('workspaceUri' in uri) {
- const newAddress = `${document.location.origin}/?workspace=${uri.workspaceUri.path}`;
- const newAddress = `${document.location.origin}/?workspace=${uri.workspaceUri.path}`;
+ const newAddress = `${window.location}?workspace=${uri.workspaceUri.path}`;
+ const newAddress = withQuery(window.location.toString(), {
+ folder: undefined,
+ workspace: uri.workspaceUri.path,
+ });
if (openFolderInNewWindow) {
if (openFolderInNewWindow) {
window.open(newAddress);
window.open(newAddress);
} else {
} else {
@@ -718,6 +7
29
,7 @@
export class SimpleWindowsService implements IWindowsService {
@@ -718,6 +7
37
,7 @@
export class SimpleWindowsService implements IWindowsService {
}
}
relaunch(_options: { addArgs?: string[], removeArgs?: string[] }): Promise<void> {
relaunch(_options: { addArgs?: string[], removeArgs?: string[] }): Promise<void> {
...
...
src/client.ts
浏览文件 @
6737384d
import
{
URI
}
from
"
vs/base/common/uri
"
;
import
{
registerSingleton
}
from
"
vs/platform/instantiation/common/extensions
"
;
import
{
registerSingleton
}
from
"
vs/platform/instantiation/common/extensions
"
;
import
{
ServiceCollection
}
from
"
vs/platform/instantiation/common/serviceCollection
"
;
import
{
ServiceCollection
}
from
"
vs/platform/instantiation/common/serviceCollection
"
;
import
{
ITelemetryService
}
from
"
vs/platform/telemetry/common/telemetry
"
;
import
{
ITelemetryService
}
from
"
vs/platform/telemetry/common/telemetry
"
;
...
@@ -39,3 +40,28 @@ export const initialize = async (services: ServiceCollection): Promise<void> =>
...
@@ -39,3 +40,28 @@ export const initialize = async (services: ServiceCollection): Promise<void> =>
(
event
as
any
).
vscode
=
target
.
vscode
;
(
event
as
any
).
vscode
=
target
.
vscode
;
window
.
dispatchEvent
(
event
);
window
.
dispatchEvent
(
event
);
};
};
export
interface
Query
{
[
key
:
string
]:
string
|
undefined
;
}
/**
* Return the URL modified with the specified query variables. It's pretty
* stupid so it probably doesn't cover any edge cases. Undefined values will
* unset existing values. Doesn't allow duplicates.
*/
export
const
withQuery
=
(
url
:
string
,
replace
:
Query
):
string
=>
{
const
uri
=
URI
.
parse
(
url
);
const
query
=
{
...
replace
};
uri
.
query
.
split
(
"
&
"
).
forEach
((
kv
)
=>
{
const
[
key
,
value
]
=
kv
.
split
(
"
=
"
,
2
);
if
(
!
(
key
in
query
))
{
query
[
key
]
=
value
;
}
});
return
uri
.
with
({
query
:
Object
.
keys
(
query
)
.
filter
((
k
)
=>
typeof
query
[
k
]
!==
"
undefined
"
)
.
map
((
k
)
=>
`
${
k
}
=
${
query
[
k
]}
`
).
join
(
"
&
"
),
}).
toString
(
true
);
};
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录