Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
54c3db12
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,发现更多精彩内容 >>
提交
54c3db12
编写于
9月 20, 2019
作者:
I
isidor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fileEditorInput: do more caching and drop cache when new formatter registered
fixes #79742
上级
f144b5d5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
10 deletion
+11
-10
src/vs/workbench/contrib/files/common/editors/fileEditorInput.ts
...workbench/contrib/files/common/editors/fileEditorInput.ts
+11
-10
未找到文件。
src/vs/workbench/contrib/files/common/editors/fileEditorInput.ts
浏览文件 @
54c3db12
...
...
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import
{
localize
}
from
'
vs/nls
'
;
import
{
memoize
}
from
'
vs/base/common/decorators
'
;
import
{
createMemoizer
}
from
'
vs/base/common/decorators
'
;
import
{
dirname
}
from
'
vs/base/common/resources
'
;
import
{
URI
}
from
'
vs/base/common/uri
'
;
import
{
EncodingMode
,
ConfirmResult
,
EditorInput
,
IFileEditorInput
,
ITextEditorModel
,
Verbosity
,
IRevertOptions
}
from
'
vs/workbench/common/editor
'
;
...
...
@@ -23,6 +23,7 @@ const enum ForceOpenAs {
Text
,
Binary
}
const
memoizer
=
createMemoizer
();
/**
* A file editor input is the input type for the file editor of file system resources.
...
...
@@ -34,7 +35,6 @@ export class FileEditorInput extends EditorInput implements IFileEditorInput {
private
forceOpenAs
:
ForceOpenAs
=
ForceOpenAs
.
None
;
private
textModelReference
:
Promise
<
IReference
<
ITextEditorModel
>>
|
null
=
null
;
private
name
:
string
;
/**
* An editor input who's contents are retrieved from file services.
...
...
@@ -69,6 +69,7 @@ export class FileEditorInput extends EditorInput implements IFileEditorInput {
this
.
_register
(
this
.
textFileService
.
models
.
onModelSaved
(
e
=>
this
.
onDirtyStateChange
(
e
)));
this
.
_register
(
this
.
textFileService
.
models
.
onModelReverted
(
e
=>
this
.
onDirtyStateChange
(
e
)));
this
.
_register
(
this
.
textFileService
.
models
.
onModelOrphanedChanged
(
e
=>
this
.
onModelOrphanedChanged
(
e
)));
this
.
_register
(
this
.
labelService
.
onDidChangeFormatters
(()
=>
memoizer
.
clear
()));
}
private
onDirtyStateChange
(
e
:
TextFileModelChangeEvent
):
void
{
...
...
@@ -144,22 +145,22 @@ export class FileEditorInput extends EditorInput implements IFileEditorInput {
return
FILE_EDITOR_INPUT_ID
;
}
@
memoizer
getName
():
string
{
if
(
!
this
.
name
)
{
this
.
name
=
this
.
labelService
.
getUriBasenameLabel
(
this
.
resource
);
}
return
this
.
decorateLabel
(
this
.
name
);
return
this
.
decorateLabel
(
this
.
labelService
.
getUriBasenameLabel
(
this
.
resource
));
}
@
memoizer
private
get
shortDescription
():
string
{
return
this
.
labelService
.
getUriBasenameLabel
(
dirname
(
this
.
resource
));
}
@
memoizer
private
get
mediumDescription
():
string
{
return
this
.
labelService
.
getUriLabel
(
dirname
(
this
.
resource
),
{
relative
:
true
});
}
@
memoizer
private
get
longDescription
():
string
{
return
this
.
labelService
.
getUriLabel
(
dirname
(
this
.
resource
));
}
...
...
@@ -176,17 +177,17 @@ export class FileEditorInput extends EditorInput implements IFileEditorInput {
}
}
@
memoize
@
memoize
r
private
get
shortTitle
():
string
{
return
this
.
getName
();
}
@
memoize
@
memoize
r
private
get
mediumTitle
():
string
{
return
this
.
labelService
.
getUriLabel
(
this
.
resource
,
{
relative
:
true
});
}
@
memoize
@
memoize
r
private
get
longTitle
():
string
{
return
this
.
labelService
.
getUriLabel
(
this
.
resource
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录