Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
0301fdb5
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,体验更适合开发者的 AI 搜索 >>
提交
0301fdb5
编写于
10月 18, 2018
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
introduce and use IFileService#activateProvider()
上级
cef0992f
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
24 addition
and
9 deletion
+24
-9
src/vs/editor/contrib/suggest/suggestWidget.ts
src/vs/editor/contrib/suggest/suggestWidget.ts
+1
-1
src/vs/platform/files/common/files.ts
src/vs/platform/files/common/files.ts
+5
-0
src/vs/workbench/services/files/electron-browser/fileService.ts
.../workbench/services/files/electron-browser/fileService.ts
+4
-0
src/vs/workbench/services/files/electron-browser/remoteFileService.ts
...ench/services/files/electron-browser/remoteFileService.ts
+5
-1
src/vs/workbench/services/textmodelResolver/common/textModelResolverService.ts
...ices/textmodelResolver/common/textModelResolverService.ts
+5
-7
src/vs/workbench/test/workbenchTestServices.ts
src/vs/workbench/test/workbenchTestServices.ts
+4
-0
未找到文件。
src/vs/editor/contrib/suggest/suggestWidget.ts
浏览文件 @
0301fdb5
...
...
@@ -162,7 +162,7 @@ class Renderer implements IListRenderer<ICompletionItem, ISuggestionTemplateData
if
(
(
suggestion
.
kind
===
CompletionItemKind
.
File
)
&&
document
.
querySelector
(
'
.file-icons-enabled
'
)
// todo@
ben
move file icon knowledge to editor or platform
&&
document
.
querySelector
(
'
.file-icons-enabled
'
)
// todo@
aeschli
move file icon knowledge to editor or platform
)
{
addClass
(
data
.
root
,
'
show-file-icons
'
);
data
.
icon
.
className
=
'
icon hide
'
;
...
...
src/vs/platform/files/common/files.ts
浏览文件 @
0301fdb5
...
...
@@ -50,6 +50,11 @@ export interface IFileService {
*/
registerProvider
(
scheme
:
string
,
provider
:
IFileSystemProvider
):
IDisposable
;
/**
* Tries to activate a provider with the given scheme.
*/
activateProvider
(
scheme
:
string
):
TPromise
<
void
>
;
/**
* Checks if this file service can handle the given resource.
*/
...
...
src/vs/workbench/services/files/electron-browser/fileService.ts
浏览文件 @
0301fdb5
...
...
@@ -208,6 +208,10 @@ export class FileService extends Disposable implements IFileService {
throw
new
Error
(
'
not implemented
'
);
}
activateProvider
(
scheme
:
string
):
TPromise
<
void
>
{
return
TPromise
.
wrapError
(
new
Error
(
'
not implemented
'
));
}
canHandleResource
(
resource
:
uri
):
boolean
{
return
resource
.
scheme
===
Schemas
.
file
;
}
...
...
src/vs/workbench/services/files/electron-browser/remoteFileService.ts
浏览文件 @
0301fdb5
...
...
@@ -206,6 +206,10 @@ export class RemoteFileService extends FileService {
};
}
activateProvider
(
scheme
:
string
):
TPromise
<
void
>
{
return
this
.
_extensionService
.
activateByEvent
(
'
onFileSystem:
'
+
scheme
);
}
canHandleResource
(
resource
:
URI
):
boolean
{
return
resource
.
scheme
===
Schemas
.
file
||
this
.
_provider
.
has
(
resource
.
scheme
);
}
...
...
@@ -253,7 +257,7 @@ export class RemoteFileService extends FileService {
}
return
Promise
.
all
([
this
.
_extensionService
.
activateByEvent
(
'
onFileSystem:
'
+
resource
.
scheme
)
this
.
activateProvider
(
resource
.
scheme
)
]).
then
(()
=>
{
const
provider
=
this
.
_provider
.
get
(
resource
.
scheme
);
if
(
!
provider
)
{
...
...
src/vs/workbench/services/textmodelResolver/common/textModelResolverService.ts
浏览文件 @
0301fdb5
...
...
@@ -17,7 +17,6 @@ import { ITextModelService, ITextModelContentProvider, ITextEditorModel } from '
import
{
IUntitledEditorService
}
from
'
vs/workbench/services/untitled/common/untitledEditorService
'
;
import
{
TextFileEditorModel
}
from
'
vs/workbench/services/textfile/common/textFileEditorModel
'
;
import
{
IFileService
}
from
'
vs/platform/files/common/files
'
;
import
{
IExtensionService
}
from
'
vs/workbench/services/extensions/common/extensions
'
;
class
ResourceModelCollection
extends
ReferenceCollection
<
TPromise
<
ITextEditorModel
>>
{
...
...
@@ -27,13 +26,12 @@ class ResourceModelCollection extends ReferenceCollection<TPromise<ITextEditorMo
constructor
(
@
IInstantiationService
private
instantiationService
:
IInstantiationService
,
@
ITextFileService
private
textFileService
:
ITextFileService
,
@
IFileService
private
fileService
:
IFileService
,
@
IExtensionService
private
readonly
_extensionService
:
IExtensionService
,
@
IFileService
private
fileService
:
IFileService
)
{
super
();
}
createReferencedObject
(
key
:
string
,
skipActivate
Extensions
?:
boolean
):
TPromise
<
ITextEditorModel
>
{
createReferencedObject
(
key
:
string
,
skipActivate
Provider
?:
boolean
):
TPromise
<
ITextEditorModel
>
{
this
.
modelsToDispose
.
delete
(
key
);
const
resource
=
URI
.
parse
(
key
);
...
...
@@ -48,9 +46,9 @@ class ResourceModelCollection extends ReferenceCollection<TPromise<ITextEditorMo
return
this
.
resolveTextModelContent
(
key
).
then
(()
=>
this
.
instantiationService
.
createInstance
(
ResourceEditorModel
,
resource
));
}
// Either unknown schema, or not yet registered
if
(
!
skipActivate
Extensions
)
{
return
this
.
_extensionService
.
activateByEvent
(
'
onFileSystem:
'
+
resource
.
scheme
).
then
(()
=>
this
.
createReferencedObject
(
key
,
true
));
// Either unknown schema, or not yet registered
, try to activate
if
(
!
skipActivate
Provider
)
{
return
this
.
fileService
.
activateProvider
(
resource
.
scheme
).
then
(()
=>
this
.
createReferencedObject
(
key
,
true
));
}
return
TPromise
.
wrapError
<
ITextEditorModel
>
(
new
Error
(
'
resource is not available
'
));
...
...
src/vs/workbench/test/workbenchTestServices.ts
浏览文件 @
0301fdb5
...
...
@@ -882,6 +882,10 @@ export class TestFileService implements IFileService {
return
{
dispose
()
{
}
};
}
activateProvider
(
_scheme
:
string
)
{
return
TPromise
.
as
(
null
);
}
canHandleResource
(
resource
:
URI
):
boolean
{
return
resource
.
scheme
===
'
file
'
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录