Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
7ce5fe0d
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,发现更多精彩内容 >>
提交
7ce5fe0d
编写于
1月 18, 2020
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Preserve word wrap state in target file when saving untitled file (fix #33840)
上级
ceabb063
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
35 addition
and
5 deletion
+35
-5
src/vs/editor/browser/services/abstractCodeEditorService.ts
src/vs/editor/browser/services/abstractCodeEditorService.ts
+14
-0
src/vs/editor/browser/services/codeEditorService.ts
src/vs/editor/browser/services/codeEditorService.ts
+1
-0
src/vs/workbench/services/textfile/browser/textFileService.ts
...vs/workbench/services/textfile/browser/textFileService.ts
+11
-1
src/vs/workbench/services/textfile/electron-browser/nativeTextFileService.ts
...rvices/textfile/electron-browser/nativeTextFileService.ts
+4
-2
src/vs/workbench/test/workbenchTestServices.ts
src/vs/workbench/test/workbenchTestServices.ts
+5
-2
未找到文件。
src/vs/editor/browser/services/abstractCodeEditorService.ts
浏览文件 @
7ce5fe0d
...
...
@@ -120,6 +120,16 @@ export abstract class AbstractCodeEditorService extends Disposable implements IC
return
this
.
_transientWatchers
[
uri
].
get
(
key
);
}
public
getTransientModelProperties
(
model
:
ITextModel
):
[
string
,
any
][]
|
undefined
{
const
uri
=
model
.
uri
.
toString
();
if
(
!
this
.
_transientWatchers
.
hasOwnProperty
(
uri
))
{
return
undefined
;
}
return
this
.
_transientWatchers
[
uri
].
keys
().
map
(
key
=>
[
key
,
this
.
_transientWatchers
[
uri
].
get
(
key
)]);
}
_removeWatcher
(
w
:
ModelTransientSettingWatcher
):
void
{
delete
this
.
_transientWatchers
[
w
.
uri
];
}
...
...
@@ -145,4 +155,8 @@ export class ModelTransientSettingWatcher {
public
get
(
key
:
string
):
any
{
return
this
.
_values
[
key
];
}
public
keys
():
string
[]
{
return
Object
.
keys
(
this
.
_values
);
}
}
src/vs/editor/browser/services/codeEditorService.ts
浏览文件 @
7ce5fe0d
...
...
@@ -43,6 +43,7 @@ export interface ICodeEditorService {
setTransientModelProperty
(
model
:
ITextModel
,
key
:
string
,
value
:
any
):
void
;
getTransientModelProperty
(
model
:
ITextModel
,
key
:
string
):
any
;
getTransientModelProperties
(
model
:
ITextModel
):
[
string
,
any
][]
|
undefined
;
getActiveCodeEditor
():
ICodeEditor
|
null
;
openCodeEditor
(
input
:
IResourceInput
,
source
:
ICodeEditor
|
null
,
sideBySide
?:
boolean
):
Promise
<
ICodeEditor
|
null
>
;
...
...
src/vs/workbench/services/textfile/browser/textFileService.ts
浏览文件 @
7ce5fe0d
...
...
@@ -32,6 +32,7 @@ import { IFilesConfigurationService } from 'vs/workbench/services/filesConfigura
import
{
CancellationToken
}
from
'
vs/base/common/cancellation
'
;
import
{
ITextModelService
,
IResolvedTextEditorModel
}
from
'
vs/editor/common/services/resolverService
'
;
import
{
BaseTextEditorModel
}
from
'
vs/workbench/common/editor/textEditorModel
'
;
import
{
ICodeEditorService
}
from
'
vs/editor/browser/services/codeEditorService
'
;
/**
* The workbench file service implementation implements the raw file service spec and adds additional methods on top.
...
...
@@ -70,7 +71,8 @@ export abstract class AbstractTextFileService extends Disposable implements ITex
@
IEditorService
private
readonly
editorService
:
IEditorService
,
@
ITextResourceConfigurationService
protected
readonly
textResourceConfigurationService
:
ITextResourceConfigurationService
,
@
IFilesConfigurationService
protected
readonly
filesConfigurationService
:
IFilesConfigurationService
,
@
ITextModelService
private
readonly
textModelService
:
ITextModelService
@
ITextModelService
private
readonly
textModelService
:
ITextModelService
,
@
ICodeEditorService
private
readonly
codeEditorService
:
ICodeEditorService
)
{
super
();
...
...
@@ -517,6 +519,14 @@ export abstract class AbstractTextFileService extends Disposable implements ITex
if
(
sourceMode
.
language
!==
PLAINTEXT_MODE_ID
&&
targetMode
.
language
===
PLAINTEXT_MODE_ID
)
{
targetTextModel
.
setMode
(
sourceMode
);
// only use if more specific than plain/text
}
// transient properties
const
sourceTransientProperties
=
this
.
codeEditorService
.
getTransientModelProperties
(
sourceTextModel
);
if
(
sourceTransientProperties
)
{
for
(
const
[
key
,
value
]
of
sourceTransientProperties
)
{
this
.
codeEditorService
.
setTransientModelProperty
(
targetTextModel
,
key
,
value
);
}
}
}
// save model
...
...
src/vs/workbench/services/textfile/electron-browser/nativeTextFileService.ts
浏览文件 @
7ce5fe0d
...
...
@@ -38,6 +38,7 @@ import { IEditorService } from 'vs/workbench/services/editor/common/editorServic
import
{
assign
}
from
'
vs/base/common/objects
'
;
import
{
IFilesConfigurationService
}
from
'
vs/workbench/services/filesConfiguration/common/filesConfigurationService
'
;
import
{
ITextModelService
}
from
'
vs/editor/common/services/resolverService
'
;
import
{
ICodeEditorService
}
from
'
vs/editor/browser/services/codeEditorService
'
;
export
class
NativeTextFileService
extends
AbstractTextFileService
{
...
...
@@ -55,9 +56,10 @@ export class NativeTextFileService extends AbstractTextFileService {
@
ITextResourceConfigurationService
textResourceConfigurationService
:
ITextResourceConfigurationService
,
@
IProductService
private
readonly
productService
:
IProductService
,
@
IFilesConfigurationService
filesConfigurationService
:
IFilesConfigurationService
,
@
ITextModelService
textModelService
:
ITextModelService
@
ITextModelService
textModelService
:
ITextModelService
,
@
ICodeEditorService
codeEditorService
:
ICodeEditorService
)
{
super
(
fileService
,
untitledTextEditorService
,
lifecycleService
,
instantiationService
,
modelService
,
environmentService
,
historyService
,
dialogService
,
fileDialogService
,
editorService
,
textResourceConfigurationService
,
filesConfigurationService
,
textModelService
);
super
(
fileService
,
untitledTextEditorService
,
lifecycleService
,
instantiationService
,
modelService
,
environmentService
,
historyService
,
dialogService
,
fileDialogService
,
editorService
,
textResourceConfigurationService
,
filesConfigurationService
,
textModelService
,
codeEditorService
);
}
private
_encoding
:
EncodingOracle
|
undefined
;
...
...
src/vs/workbench/test/workbenchTestServices.ts
浏览文件 @
7ce5fe0d
...
...
@@ -207,7 +207,8 @@ export class TestTextFileService extends NativeTextFileService {
@
ITextResourceConfigurationService
textResourceConfigurationService
:
ITextResourceConfigurationService
,
@
IProductService
productService
:
IProductService
,
@
IFilesConfigurationService
filesConfigurationService
:
IFilesConfigurationService
,
@
ITextModelService
textModelService
:
ITextModelService
@
ITextModelService
textModelService
:
ITextModelService
,
@
ICodeEditorService
codeEditorService
:
ICodeEditorService
)
{
super
(
fileService
,
...
...
@@ -223,7 +224,8 @@ export class TestTextFileService extends NativeTextFileService {
textResourceConfigurationService
,
productService
,
filesConfigurationService
,
textModelService
textModelService
,
codeEditorService
);
}
...
...
@@ -1238,6 +1240,7 @@ export class TestCodeEditorService implements ICodeEditorService {
resolveDecorationOptions
(
_typeKey
:
string
,
_writable
:
boolean
):
IModelDecorationOptions
{
return
Object
.
create
(
null
);
}
setTransientModelProperty
(
_model
:
ITextModel
,
_key
:
string
,
_value
:
any
):
void
{
}
getTransientModelProperty
(
_model
:
ITextModel
,
_key
:
string
)
{
}
getTransientModelProperties
(
_model
:
ITextModel
)
{
return
undefined
;
}
getActiveCodeEditor
():
ICodeEditor
|
null
{
return
null
;
}
openCodeEditor
(
_input
:
IResourceInput
,
_source
:
ICodeEditor
,
_sideBySide
?:
boolean
):
Promise
<
ICodeEditor
|
null
>
{
return
Promise
.
resolve
(
null
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录