Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
914ba60c
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
914ba60c
编写于
4月 20, 2018
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add registration change event, #48275
上级
32ef7f32
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
18 addition
and
1 deletion
+18
-1
src/vs/platform/files/common/files.ts
src/vs/platform/files/common/files.ts
+11
-0
src/vs/workbench/services/files/electron-browser/remoteFileService.ts
...ench/services/files/electron-browser/remoteFileService.ts
+7
-1
未找到文件。
src/vs/platform/files/common/files.ts
浏览文件 @
914ba60c
...
...
@@ -41,6 +41,11 @@ export interface IFileService {
*/
onAfterOperation
:
Event
<
FileOperationEvent
>
;
/**
* An event that is fired when a file system provider is added or removed
*/
onDidChangeFileSystemProviderRegistrations
?:
Event
<
IFileSystemProviderRegistrationEvent
>
;
/**
* Registeres a file system provider for a certain scheme.
*/
...
...
@@ -224,6 +229,12 @@ export interface IFileSystemProvider {
write
?(
fd
:
number
,
pos
:
number
,
data
:
Uint8Array
,
offset
:
number
,
length
:
number
):
TPromise
<
number
>
;
}
export
interface
IFileSystemProviderRegistrationEvent
{
added
:
boolean
;
scheme
:
string
;
provider
?:
IFileSystemProvider
;
}
export
enum
FileOperation
{
CREATE
,
DELETE
,
...
...
src/vs/workbench/services/files/electron-browser/remoteFileService.ts
浏览文件 @
914ba60c
...
...
@@ -6,6 +6,7 @@
import
{
posix
}
from
'
path
'
;
import
{
flatten
,
isFalsyOrEmpty
}
from
'
vs/base/common/arrays
'
;
import
{
Event
,
Emitter
}
from
'
vs/base/common/event
'
;
import
{
IDisposable
,
dispose
}
from
'
vs/base/common/lifecycle
'
;
import
{
TernarySearchTree
,
keys
}
from
'
vs/base/common/map
'
;
import
{
Schemas
}
from
'
vs/base/common/network
'
;
...
...
@@ -16,7 +17,7 @@ import { ITextResourceConfigurationService } from 'vs/editor/common/services/res
import
{
localize
}
from
'
vs/nls
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
FileChangesEvent
,
FileOperation
,
FileOperationError
,
FileOperationEvent
,
FileOperationResult
,
IContent
,
ICreateFileOptions
,
IFileStat
,
IFileSystemProvider
,
IFilesConfiguration
,
IResolveContentOptions
,
IResolveFileOptions
,
IResolveFileResult
,
IStat
,
IStreamContent
,
ITextSnapshot
,
IUpdateContentOptions
,
StringSnapshot
,
FileSystemProviderCapabilities
,
FileOptions
}
from
'
vs/platform/files/common/files
'
;
import
{
FileChangesEvent
,
FileOperation
,
FileOperationError
,
FileOperationEvent
,
FileOperationResult
,
FileOptions
,
FileSystemProviderCapabilities
,
IContent
,
ICreateFileOptions
,
IFileStat
,
IFileSystemProvider
,
IFilesConfiguration
,
IResolveContentOptions
,
IResolveFileOptions
,
IResolveFileResult
,
IStat
,
IStreamContent
,
ITextSnapshot
,
IUpdateContentOptions
,
StringSnapshot
,
IFileSystemProviderRegistrationEvent
}
from
'
vs/platform/files/common/files
'
;
import
{
ILifecycleService
}
from
'
vs/platform/lifecycle/common/lifecycle
'
;
import
{
INotificationService
}
from
'
vs/platform/notification/common/notification
'
;
import
{
IStorageService
}
from
'
vs/platform/storage/common/storage
'
;
...
...
@@ -147,6 +148,9 @@ export class RemoteFileService extends FileService {
private
readonly
_provider
:
Map
<
string
,
IFileSystemProvider
>
;
private
readonly
_lastKnownSchemes
:
string
[];
private
readonly
_onDidChangeFileSystemProviderRegistrations
=
new
Emitter
<
IFileSystemProviderRegistrationEvent
>
();
readonly
onDidChangeFileSystemProviderRegistrations
:
Event
<
IFileSystemProviderRegistrationEvent
>
=
this
.
_onDidChangeFileSystemProviderRegistrations
.
event
;
constructor
(
@
IExtensionService
private
readonly
_extensionService
:
IExtensionService
,
...
...
@@ -179,6 +183,7 @@ export class RemoteFileService extends FileService {
}
this
.
_provider
.
set
(
scheme
,
provider
);
this
.
_onDidChangeFileSystemProviderRegistrations
.
fire
({
added
:
true
,
scheme
,
provider
});
this
.
_storageService
.
store
(
'
remote_schemes
'
,
JSON
.
stringify
(
keys
(
this
.
_provider
)));
const
reg
=
provider
.
onDidChangeFile
(
changes
=>
{
...
...
@@ -187,6 +192,7 @@ export class RemoteFileService extends FileService {
});
return
{
dispose
:
()
=>
{
this
.
_onDidChangeFileSystemProviderRegistrations
.
fire
({
added
:
false
,
scheme
,
provider
});
this
.
_provider
.
delete
(
scheme
);
reg
.
dispose
();
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录