Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
7d17f6f9
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,发现更多精彩内容 >>
提交
7d17f6f9
编写于
3月 06, 2020
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
introduce authority for sync resources
上级
3ceb796c
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
19 addition
and
16 deletion
+19
-16
src/vs/platform/userDataSync/common/userDataSync.ts
src/vs/platform/userDataSync/common/userDataSync.ts
+11
-8
src/vs/platform/userDataSync/common/userDataSyncService.ts
src/vs/platform/userDataSync/common/userDataSyncService.ts
+2
-2
src/vs/workbench/contrib/userDataSync/browser/userDataSync.ts
...vs/workbench/contrib/userDataSync/browser/userDataSync.ts
+4
-4
src/vs/workbench/contrib/userDataSync/browser/userDataSyncHistory.ts
...bench/contrib/userDataSync/browser/userDataSyncHistory.ts
+2
-2
未找到文件。
src/vs/platform/userDataSync/common/userDataSync.ts
浏览文件 @
7d17f6f9
...
...
@@ -348,18 +348,19 @@ export const CONTEXT_SYNC_ENABLEMENT = new RawContextKey<boolean>('syncEnabled',
export
const
USER_DATA_SYNC_SCHEME
=
'
vscode-userdata-sync
'
;
export
const
PREVIEW_QUERY
=
'
preview=true
'
;
export
function
toSyncResourceFromSource
(
source
:
SyncSource
,
ref
?:
string
):
URI
{
return
to
SyncResource
(
getResourceKey
(
source
),
ref
);
export
function
to
Remote
SyncResourceFromSource
(
source
:
SyncSource
,
ref
?:
string
):
URI
{
return
to
RemoteSyncResource
(
getResourceKeyFromSyncSource
(
source
),
ref
);
}
export
function
toSyncResource
(
resourceKey
:
ResourceKey
,
ref
?:
string
):
URI
{
return
URI
.
from
({
scheme
:
USER_DATA_SYNC_SCHEME
,
path
:
`
${
resourceKey
}
/
${
ref
?
ref
:
'
latest
'
}
`
});
export
function
to
Remote
SyncResource
(
resourceKey
:
ResourceKey
,
ref
?:
string
):
URI
{
return
URI
.
from
({
scheme
:
USER_DATA_SYNC_SCHEME
,
authority
:
'
remote
'
,
path
:
`/
${
resourceKey
}
/
${
ref
?
ref
:
'
latest
'
}
`
});
}
export
function
resolveSyncResource
(
resource
:
URI
):
{
resourceKey
:
ResourceKey
,
ref
?:
string
}
|
null
{
export
function
resolveSyncResource
(
resource
:
URI
):
{
remote
:
boolean
,
resourceKey
:
ResourceKey
,
ref
?:
string
}
|
null
{
const
remote
=
resource
.
authority
===
'
remote
'
;
const
resourceKey
:
ResourceKey
=
basename
(
dirname
(
resource
))
as
ResourceKey
;
const
ref
=
basename
(
resource
);
if
(
resourceKey
&&
ref
)
{
return
{
resourceKey
,
ref
:
ref
!==
'
latest
'
?
ref
:
undefined
};
return
{
re
mote
,
re
sourceKey
,
ref
:
ref
!==
'
latest
'
?
ref
:
undefined
};
}
return
null
;
}
...
...
@@ -373,7 +374,8 @@ export function getSyncSourceFromPreviewResource(uri: URI, environmentService: I
}
return
undefined
;
}
export
function
getResourceKey
(
source
:
SyncSource
):
ResourceKey
{
export
function
getResourceKeyFromSyncSource
(
source
:
SyncSource
):
ResourceKey
{
switch
(
source
)
{
case
SyncSource
.
Settings
:
return
'
settings
'
;
case
SyncSource
.
Keybindings
:
return
'
keybindings
'
;
...
...
@@ -381,7 +383,8 @@ export function getResourceKey(source: SyncSource): ResourceKey {
case
SyncSource
.
GlobalState
:
return
'
globalState
'
;
}
}
export
function
getSyncSource
(
resourceKey
:
ResourceKey
):
SyncSource
{
export
function
getSyncSourceFromResourceKey
(
resourceKey
:
ResourceKey
):
SyncSource
{
switch
(
resourceKey
)
{
case
'
settings
'
:
return
SyncSource
.
Settings
;
case
'
keybindings
'
:
return
SyncSource
.
Keybindings
;
...
...
src/vs/platform/userDataSync/common/userDataSyncService.ts
浏览文件 @
7d17f6f9
...
...
@@ -183,9 +183,9 @@ export class UserDataSyncService extends Disposable implements IUserDataSyncServ
const
synchronizer
=
this
.
synchronisers
.
filter
(
s
=>
s
.
resourceKey
===
result
.
resourceKey
)[
0
];
if
(
synchronizer
)
{
if
(
PREVIEW_QUERY
===
resource
.
query
)
{
return
synchronizer
.
getRemoteContentFromPreview
()
;
return
result
.
remote
?
synchronizer
.
getRemoteContentFromPreview
()
:
null
;
}
return
synchronizer
.
getRemoteContent
(
result
.
ref
,
resource
.
fragment
)
;
return
result
.
remote
?
synchronizer
.
getRemoteContent
(
result
.
ref
,
resource
.
fragment
)
:
null
;
}
}
return
null
;
...
...
src/vs/workbench/contrib/userDataSync/browser/userDataSync.ts
浏览文件 @
7d17f6f9
...
...
@@ -30,7 +30,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
import
{
INotificationService
,
Severity
}
from
'
vs/platform/notification/common/notification
'
;
import
{
IQuickInputService
,
IQuickPickItem
,
IQuickPickSeparator
}
from
'
vs/platform/quickinput/common/quickInput
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
CONTEXT_SYNC_STATE
,
getUserDataSyncStore
,
ISyncConfiguration
,
IUserDataAutoSyncService
,
IUserDataSyncService
,
IUserDataSyncStore
,
registerConfiguration
,
SyncSource
,
SyncStatus
,
UserDataSyncError
,
UserDataSyncErrorCode
,
USER_DATA_SYNC_SCHEME
,
IUserDataSyncEnablementService
,
ResourceKey
,
getSyncSourceFromPreviewResource
,
CONTEXT_SYNC_ENABLEMENT
,
to
SyncResourceFromSource
,
PREVIEW_QUERY
,
resolveSyncResource
,
getSyncSource
}
from
'
vs/platform/userDataSync/common/userDataSync
'
;
import
{
CONTEXT_SYNC_STATE
,
getUserDataSyncStore
,
ISyncConfiguration
,
IUserDataAutoSyncService
,
IUserDataSyncService
,
IUserDataSyncStore
,
registerConfiguration
,
SyncSource
,
SyncStatus
,
UserDataSyncError
,
UserDataSyncErrorCode
,
USER_DATA_SYNC_SCHEME
,
IUserDataSyncEnablementService
,
ResourceKey
,
getSyncSourceFromPreviewResource
,
CONTEXT_SYNC_ENABLEMENT
,
to
RemoteSyncResourceFromSource
,
PREVIEW_QUERY
,
resolveSyncResource
,
getSyncSourceFromResourceKey
}
from
'
vs/platform/userDataSync/common/userDataSync
'
;
import
{
FloatingClickWidget
}
from
'
vs/workbench/browser/parts/editor/editorWidgets
'
;
import
{
GLOBAL_ACTIVITY_ID
}
from
'
vs/workbench/common/activity
'
;
import
{
IWorkbenchContribution
}
from
'
vs/workbench/common/contributions
'
;
...
...
@@ -354,7 +354,7 @@ export class UserDataSyncWorkbenchContribution extends Disposable implements IWo
private
async
acceptRemote
(
syncSource
:
SyncSource
)
{
try
{
const
contents
=
await
this
.
userDataSyncService
.
resolveContent
(
toSyncResourceFromSource
(
syncSource
).
with
({
query
:
PREVIEW_QUERY
}));
const
contents
=
await
this
.
userDataSyncService
.
resolveContent
(
to
Remote
SyncResourceFromSource
(
syncSource
).
with
({
query
:
PREVIEW_QUERY
}));
if
(
contents
)
{
await
this
.
userDataSyncService
.
accept
(
syncSource
,
contents
);
}
...
...
@@ -754,7 +754,7 @@ export class UserDataSyncWorkbenchContribution extends Disposable implements IWo
label
=
localize
(
'
keybindings conflicts preview
'
,
"
Keybindings Conflicts (Remote ↔ Local)
"
);
}
if
(
previewResource
)
{
const
remoteContentResource
=
toSyncResourceFromSource
(
source
).
with
({
query
:
PREVIEW_QUERY
});
const
remoteContentResource
=
to
Remote
SyncResourceFromSource
(
source
).
with
({
query
:
PREVIEW_QUERY
});
await
this
.
editorService
.
openEditor
({
leftResource
:
remoteContentResource
,
rightResource
:
previewResource
,
...
...
@@ -1130,7 +1130,7 @@ class AcceptChangesContribution extends Disposable implements IEditorContributio
this
.
_register
(
this
.
acceptChangesButton
.
onClick
(
async
()
=>
{
const
model
=
this
.
editor
.
getModel
();
if
(
model
)
{
const
conflictsSource
=
(
getSyncSourceFromPreviewResource
(
model
.
uri
,
this
.
environmentService
)
||
getSyncSource
(
resolveSyncResource
(
model
.
uri
)
!
.
resourceKey
))
!
;
const
conflictsSource
=
(
getSyncSourceFromPreviewResource
(
model
.
uri
,
this
.
environmentService
)
||
getSyncSource
FromResourceKey
(
resolveSyncResource
(
model
.
uri
)
!
.
resourceKey
))
!
;
this
.
telemetryService
.
publicLog2
<
{
source
:
string
,
action
:
string
},
SyncConflictsClassification
>
(
'
sync/handleConflicts
'
,
{
source
:
conflictsSource
,
action
:
isRemote
?
'
acceptRemote
'
:
'
acceptLocal
'
});
const
syncAreaLabel
=
getSyncAreaLabel
(
conflictsSource
);
const
result
=
await
this
.
dialogService
.
confirm
({
...
...
src/vs/workbench/contrib/userDataSync/browser/userDataSyncHistory.ts
浏览文件 @
7d17f6f9
...
...
@@ -11,7 +11,7 @@ import { SyncDescriptor } from 'vs/platform/instantiation/common/descriptors';
import
{
TreeViewPane
,
TreeView
}
from
'
vs/workbench/browser/parts/views/treeView
'
;
import
{
VIEW_CONTAINER
}
from
'
vs/workbench/contrib/files/browser/explorerViewlet
'
;
import
{
IInstantiationService
,
ServicesAccessor
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
ALL_RESOURCE_KEYS
,
CONTEXT_SYNC_ENABLEMENT
,
IUserDataSyncStoreService
,
toSyncResource
,
resolveSyncResource
}
from
'
vs/platform/userDataSync/common/userDataSync
'
;
import
{
ALL_RESOURCE_KEYS
,
CONTEXT_SYNC_ENABLEMENT
,
IUserDataSyncStoreService
,
to
Remote
SyncResource
,
resolveSyncResource
}
from
'
vs/platform/userDataSync/common/userDataSync
'
;
import
{
registerAction2
,
Action2
,
MenuId
}
from
'
vs/platform/actions/common/actions
'
;
import
{
IContextKeyService
,
RawContextKey
,
ContextKeyExpr
,
ContextKeyEqualsExpr
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
...
...
@@ -175,7 +175,7 @@ class UserDataSyncHistoryViewDataProvider implements ITreeViewDataProvider {
if
(
resourceKey
)
{
const
refHandles
=
await
this
.
userDataSyncStoreService
.
getAllRefs
(
resourceKey
);
return
refHandles
.
map
(({
ref
,
created
})
=>
{
const
handle
=
toSyncResource
(
resourceKey
,
ref
).
toString
();
const
handle
=
to
Remote
SyncResource
(
resourceKey
,
ref
).
toString
();
return
{
handle
,
collapsibleState
:
TreeItemCollapsibleState
.
None
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录