Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
65d448f7
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,发现更多精彩内容 >>
提交
65d448f7
编写于
10月 26, 2020
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix #109378
上级
080b1d27
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
48 addition
and
3 deletion
+48
-3
src/vs/platform/files/browser/indexedDBFileSystemProvider.ts
src/vs/platform/files/browser/indexedDBFileSystemProvider.ts
+14
-1
src/vs/workbench/browser/web.main.ts
src/vs/workbench/browser/web.main.ts
+34
-2
未找到文件。
src/vs/platform/files/browser/indexedDBFileSystemProvider.ts
浏览文件 @
65d448f7
...
...
@@ -68,7 +68,10 @@ export class IndexedDB {
}
export
interface
IIndexedDBFileSystemProvider
extends
Disposable
,
IFileSystemProviderWithFileReadWriteCapability
{
}
export
interface
IIndexedDBFileSystemProvider
extends
Disposable
,
IFileSystemProviderWithFileReadWriteCapability
{
reset
():
Promise
<
void
>
;
}
class
IndexedDBFileSystemProvider
extends
Disposable
implements
IIndexedDBFileSystemProvider
{
readonly
capabilities
:
FileSystemProviderCapabilities
=
...
...
@@ -256,4 +259,14 @@ class IndexedDBFileSystemProvider extends Disposable implements IIndexedDBFileSy
request
.
onsuccess
=
()
=>
c
();
});
}
reset
():
Promise
<
void
>
{
return
new
Promise
(
async
(
c
,
e
)
=>
{
const
transaction
=
this
.
database
.
transaction
([
this
.
store
],
'
readwrite
'
);
const
objectStore
=
transaction
.
objectStore
(
this
.
store
);
const
request
=
objectStore
.
clear
();
request
.
onerror
=
()
=>
e
(
request
.
error
);
request
.
onsuccess
=
()
=>
c
();
});
}
}
src/vs/workbench/browser/web.main.ts
浏览文件 @
65d448f7
...
...
@@ -46,13 +46,19 @@ import { coalesce } from 'vs/base/common/arrays';
import
{
InMemoryFileSystemProvider
}
from
'
vs/platform/files/common/inMemoryFilesystemProvider
'
;
import
{
WebResourceIdentityService
,
IResourceIdentityService
}
from
'
vs/workbench/services/resourceIdentity/common/resourceIdentityService
'
;
import
{
ICommandService
}
from
'
vs/platform/commands/common/commands
'
;
import
{
IndexedDB
,
INDEXEDDB_LOGS_OBJECT_STORE
,
INDEXEDDB_USERDATA_OBJECT_STORE
}
from
'
vs/platform/files/browser/indexedDBFileSystemProvider
'
;
import
{
I
IndexedDBFileSystemProvider
,
I
ndexedDB
,
INDEXEDDB_LOGS_OBJECT_STORE
,
INDEXEDDB_USERDATA_OBJECT_STORE
}
from
'
vs/platform/files/browser/indexedDBFileSystemProvider
'
;
import
{
BrowserRequestService
}
from
'
vs/workbench/services/request/browser/requestService
'
;
import
{
IRequestService
}
from
'
vs/platform/request/common/request
'
;
import
{
IUserDataInitializationService
,
UserDataInitializationService
}
from
'
vs/workbench/services/userData/browser/userDataInit
'
;
import
{
UserDataSyncStoreManagementService
}
from
'
vs/platform/userDataSync/common/userDataSyncStoreService
'
;
import
{
IUserDataSyncStoreManagementService
}
from
'
vs/platform/userDataSync/common/userDataSync
'
;
import
{
ILifecycleService
}
from
'
vs/workbench/services/lifecycle/common/lifecycle
'
;
import
{
Action2
,
MenuId
,
registerAction2
}
from
'
vs/platform/actions/common/actions
'
;
import
{
ServicesAccessor
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
localize
}
from
'
vs/nls
'
;
import
{
CATEGORIES
}
from
'
vs/workbench/common/actions
'
;
import
{
IDialogService
}
from
'
vs/platform/dialogs/common/dialogs
'
;
import
{
IHostService
}
from
'
vs/workbench/services/host/browser/host
'
;
class
BrowserMain
extends
Disposable
{
...
...
@@ -275,13 +281,39 @@ class BrowserMain extends Disposable {
}
// User data
let
indexedDBUserDataProvider
:
IFileSystemProvider
|
null
=
null
;
let
indexedDBUserDataProvider
:
I
IndexedDB
FileSystemProvider
|
null
=
null
;
try
{
indexedDBUserDataProvider
=
await
indexedDB
.
createFileSystemProvider
(
Schemas
.
userData
,
INDEXEDDB_USERDATA_OBJECT_STORE
);
}
catch
(
error
)
{
console
.
error
(
error
);
}
if
(
indexedDBUserDataProvider
)
{
registerAction2
(
class
ResetUserDataAction
extends
Action2
{
constructor
()
{
super
({
id
:
'
workbench.action.resetUserData
'
,
title
:
{
original
:
'
Reset User Data
'
,
value
:
localize
(
'
reset
'
,
"
Reset User Data
"
)
},
category
:
CATEGORIES
.
Developer
,
menu
:
{
id
:
MenuId
.
CommandPalette
}
});
}
async
run
(
accessor
:
ServicesAccessor
):
Promise
<
void
>
{
const
dialogService
=
accessor
.
get
(
IDialogService
);
const
hostService
=
accessor
.
get
(
IHostService
);
const
result
=
await
dialogService
.
confirm
({
message
:
localize
(
'
reset user data message
'
,
"
Would you like to reset your data (settings, keybindings, extensions, snippets and UI State) and reload?
"
)
});
if
(
result
.
confirmed
)
{
await
indexedDBUserDataProvider
!
.
reset
();
}
hostService
.
reload
();
}
});
}
fileService
.
registerProvider
(
Schemas
.
userData
,
indexedDBUserDataProvider
||
new
InMemoryFileSystemProvider
());
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录