Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
5cc29271
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,发现更多精彩内容 >>
提交
5cc29271
编写于
9月 17, 2019
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Introduce id and user data sync store registry
上级
50a0bd9e
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
98 addition
and
6 deletion
+98
-6
src/vs/platform/userDataSync/common/userDataSync.ts
src/vs/platform/userDataSync/common/userDataSync.ts
+1
-0
src/vs/workbench/api/browser/mainThreadUserData.ts
src/vs/workbench/api/browser/mainThreadUserData.ts
+2
-1
src/vs/workbench/api/common/extHost.api.impl.ts
src/vs/workbench/api/common/extHost.api.impl.ts
+2
-2
src/vs/workbench/api/common/extHost.protocol.ts
src/vs/workbench/api/common/extHost.protocol.ts
+1
-1
src/vs/workbench/api/common/extHostUserData.ts
src/vs/workbench/api/common/extHostUserData.ts
+2
-2
src/vs/workbench/services/userDataSync/common/userDataSyncStores.ts
...kbench/services/userDataSync/common/userDataSyncStores.ts
+90
-0
未找到文件。
src/vs/platform/userDataSync/common/userDataSync.ts
浏览文件 @
5cc29271
...
@@ -58,6 +58,7 @@ export class UserDataSyncStoreError extends Error {
...
@@ -58,6 +58,7 @@ export class UserDataSyncStoreError extends Error {
}
}
export
interface
IUserDataSyncStore
{
export
interface
IUserDataSyncStore
{
readonly
id
:
string
;
readonly
name
:
string
;
readonly
name
:
string
;
read
(
key
:
string
):
Promise
<
IUserData
|
null
>
;
read
(
key
:
string
):
Promise
<
IUserData
|
null
>
;
write
(
key
:
string
,
content
:
string
,
ref
:
string
|
null
):
Promise
<
string
>
;
write
(
key
:
string
,
content
:
string
,
ref
:
string
|
null
):
Promise
<
string
>
;
...
...
src/vs/workbench/api/browser/mainThreadUserData.ts
浏览文件 @
5cc29271
...
@@ -22,9 +22,10 @@ export class MainThreadUserData extends Disposable implements MainThreadUserData
...
@@ -22,9 +22,10 @@ export class MainThreadUserData extends Disposable implements MainThreadUserData
this
.
_register
(
toDisposable
(()
=>
this
.
userDataSyncStoreService
.
deregisterUserDataSyncStore
()));
this
.
_register
(
toDisposable
(()
=>
this
.
userDataSyncStoreService
.
deregisterUserDataSyncStore
()));
}
}
$registerUserDataProvider
(
name
:
string
):
void
{
$registerUserDataProvider
(
id
:
string
,
name
:
string
):
void
{
const
proxy
=
this
.
proxy
;
const
proxy
=
this
.
proxy
;
this
.
userDataSyncStoreService
.
registerUserDataSyncStore
({
this
.
userDataSyncStoreService
.
registerUserDataSyncStore
({
id
,
name
,
name
,
read
(
key
:
string
):
Promise
<
IUserData
|
null
>
{
read
(
key
:
string
):
Promise
<
IUserData
|
null
>
{
return
proxy
.
$read
(
key
);
return
proxy
.
$read
(
key
);
...
...
src/vs/workbench/api/common/extHost.api.impl.ts
浏览文件 @
5cc29271
...
@@ -546,9 +546,9 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
...
@@ -546,9 +546,9 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
createInputBox
():
vscode
.
InputBox
{
createInputBox
():
vscode
.
InputBox
{
return
extHostQuickOpen
.
createInputBox
(
extension
.
identifier
);
return
extHostQuickOpen
.
createInputBox
(
extension
.
identifier
);
},
},
registerUserDataSyncProvider
:
(
identity
:
string
,
userDataProvider
:
vscode
.
UserDataSyncProvider
):
vscode
.
Disposable
=>
{
registerUserDataSyncProvider
:
(
name
:
string
,
userDataProvider
:
vscode
.
UserDataSyncProvider
):
vscode
.
Disposable
=>
{
checkProposedApiEnabled
(
extension
);
checkProposedApiEnabled
(
extension
);
return
extHostUserData
.
registerUserDataProvider
(
identity
,
userDataProvider
);
return
extHostUserData
.
registerUserDataProvider
(
extension
.
identifier
.
value
,
name
,
userDataProvider
);
}
}
};
};
...
...
src/vs/workbench/api/common/extHost.protocol.ts
浏览文件 @
5cc29271
...
@@ -147,7 +147,7 @@ export interface MainThreadConfigurationShape extends IDisposable {
...
@@ -147,7 +147,7 @@ export interface MainThreadConfigurationShape extends IDisposable {
}
}
export
interface
MainThreadUserDataShape
extends
IDisposable
{
export
interface
MainThreadUserDataShape
extends
IDisposable
{
$registerUserDataProvider
(
name
:
string
):
void
;
$registerUserDataProvider
(
id
:
string
,
name
:
string
):
void
;
$deregisterUserDataProvider
():
void
;
$deregisterUserDataProvider
():
void
;
}
}
...
...
src/vs/workbench/api/common/extHostUserData.ts
浏览文件 @
5cc29271
...
@@ -20,14 +20,14 @@ export class ExtHostUserData implements ExtHostUserDataShape {
...
@@ -20,14 +20,14 @@ export class ExtHostUserData implements ExtHostUserDataShape {
)
{
)
{
}
}
registerUserDataProvider
(
name
:
string
,
userDataProvider
:
vscode
.
UserDataSyncProvider
):
vscode
.
Disposable
{
registerUserDataProvider
(
id
:
string
,
name
:
string
,
userDataProvider
:
vscode
.
UserDataSyncProvider
):
vscode
.
Disposable
{
if
(
this
.
userDataProvider
)
{
if
(
this
.
userDataProvider
)
{
this
.
logService
.
warn
(
`A user data provider '
${
this
.
name
}
' already exists hence ignoring the remote user data provider '
${
name
}
'.`
);
this
.
logService
.
warn
(
`A user data provider '
${
this
.
name
}
' already exists hence ignoring the remote user data provider '
${
name
}
'.`
);
return
Disposable
.
None
;
return
Disposable
.
None
;
}
}
this
.
userDataProvider
=
userDataProvider
;
this
.
userDataProvider
=
userDataProvider
;
this
.
name
=
name
;
this
.
name
=
name
;
this
.
proxy
.
$registerUserDataProvider
(
name
);
this
.
proxy
.
$registerUserDataProvider
(
id
,
name
);
return
toDisposable
(()
=>
this
.
proxy
.
$deregisterUserDataProvider
());
return
toDisposable
(()
=>
this
.
proxy
.
$deregisterUserDataProvider
());
}
}
...
...
src/vs/workbench/services/userDataSync/common/userDataSyncStores.ts
0 → 100644
浏览文件 @
5cc29271
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
{
Event
,
Emitter
}
from
'
vs/base/common/event
'
;
import
{
IUserDataSyncStore
}
from
'
vs/platform/userDataSync/common/userDataSync
'
;
import
{
Disposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
values
}
from
'
vs/base/common/map
'
;
import
{
Registry
}
from
'
vs/platform/registry/common/platform
'
;
export
namespace
Extensions
{
export
const
UserDataSyncStoresRegistry
=
'
workbench.registry.userData.syncStores
'
;
}
export
interface
IUserDataSyncStoresRegistry
{
/**
* An event that is triggerred when a user data sync store is registered.
*/
readonly
onDidRegister
:
Event
<
IUserDataSyncStore
>
;
/**
* An event that is triggerred when a user data sync store is deregistered.
*/
readonly
onDidDeregister
:
Event
<
string
>
;
/**
* All registered user data sync stores
*/
readonly
all
:
IUserDataSyncStore
[];
/**
* Registers a user data sync store
*
* @param userDataSyncStore to register
*/
registerUserDataSyncStore
(
userDataSyncStore
:
IUserDataSyncStore
):
void
;
/**
* Deregisters the user data sync store with given id
*/
deregisterUserDataSyncStore
(
id
:
string
):
void
;
/**
* Returns the user data sync store with given id.
*
* @returns the user data sync store with given id.
*/
get
(
id
:
string
):
IUserDataSyncStore
|
undefined
;
}
class
UserDataSyncStoresRegistryImpl
extends
Disposable
implements
IUserDataSyncStoresRegistry
{
private
readonly
_onDidRegister
=
this
.
_register
(
new
Emitter
<
IUserDataSyncStore
>
());
readonly
onDidRegister
:
Event
<
IUserDataSyncStore
>
=
this
.
_onDidRegister
.
event
;
private
readonly
_onDidDeregister
=
this
.
_register
(
new
Emitter
<
string
>
());
readonly
onDidDeregister
:
Event
<
string
>
=
this
.
_onDidDeregister
.
event
;
private
userDataSyncStores
:
Map
<
string
,
IUserDataSyncStore
>
=
new
Map
<
string
,
IUserDataSyncStore
>
();
get
all
():
IUserDataSyncStore
[]
{
return
values
(
this
.
userDataSyncStores
);
}
registerUserDataSyncStore
(
userDataSyncStore
:
IUserDataSyncStore
):
void
{
const
existing
=
this
.
userDataSyncStores
.
get
(
userDataSyncStore
.
id
);
if
(
existing
)
{
return
;
}
this
.
userDataSyncStores
.
set
(
userDataSyncStore
.
id
,
userDataSyncStore
);
this
.
_onDidRegister
.
fire
(
userDataSyncStore
);
}
deregisterUserDataSyncStore
(
id
:
string
):
void
{
const
existing
=
this
.
userDataSyncStores
.
get
(
id
);
if
(
existing
)
{
this
.
userDataSyncStores
.
delete
(
id
);
this
.
_onDidDeregister
.
fire
(
id
);
}
}
get
(
id
:
string
):
IUserDataSyncStore
|
undefined
{
return
this
.
userDataSyncStores
.
get
(
id
);
}
}
Registry
.
add
(
Extensions
.
UserDataSyncStoresRegistry
,
new
UserDataSyncStoresRegistryImpl
());
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录