Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
5ee3996b
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,发现更多精彩内容 >>
提交
5ee3996b
编写于
9月 12, 2018
作者:
A
Alex Dima
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixes #56899
上级
64e810dd
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
35 addition
and
24 deletion
+35
-24
src/vs/editor/browser/services/abstractCodeEditorService.ts
src/vs/editor/browser/services/abstractCodeEditorService.ts
+4
-0
src/vs/editor/browser/services/codeEditorService.ts
src/vs/editor/browser/services/codeEditorService.ts
+7
-4
src/vs/workbench/parts/codeEditor/electron-browser/toggleWordWrap.ts
...bench/parts/codeEditor/electron-browser/toggleWordWrap.ts
+23
-20
src/vs/workbench/test/workbenchTestServices.ts
src/vs/workbench/test/workbenchTestServices.ts
+1
-0
未找到文件。
src/vs/editor/browser/services/abstractCodeEditorService.ts
浏览文件 @
5ee3996b
...
...
@@ -29,6 +29,9 @@ export abstract class AbstractCodeEditorService extends Disposable implements IC
private
readonly
_onDiffEditorRemove
:
Emitter
<
IDiffEditor
>
=
this
.
_register
(
new
Emitter
<
IDiffEditor
>
());
public
readonly
onDiffEditorRemove
:
Event
<
IDiffEditor
>
=
this
.
_onDiffEditorRemove
.
event
;
private
readonly
_onDidChangeTransientModelProperty
:
Emitter
<
ITextModel
>
=
this
.
_register
(
new
Emitter
<
ITextModel
>
());
public
readonly
onDidChangeTransientModelProperty
:
Event
<
ITextModel
>
=
this
.
_onDidChangeTransientModelProperty
.
event
;
private
_codeEditors
:
{
[
editorId
:
string
]:
ICodeEditor
;
};
private
_diffEditors
:
{
[
editorId
:
string
]:
IDiffEditor
;
};
...
...
@@ -107,6 +110,7 @@ export abstract class AbstractCodeEditorService extends Disposable implements IC
}
w
.
set
(
key
,
value
);
this
.
_onDidChangeTransientModelProperty
.
fire
(
model
);
}
public
getTransientModelProperty
(
model
:
ITextModel
,
key
:
string
):
any
{
...
...
src/vs/editor/browser/services/codeEditorService.ts
浏览文件 @
5ee3996b
...
...
@@ -17,11 +17,14 @@ export const ICodeEditorService = createDecorator<ICodeEditorService>('codeEdito
export
interface
ICodeEditorService
{
_serviceBrand
:
any
;
onCodeEditorAdd
:
Event
<
ICodeEditor
>
;
onCodeEditorRemove
:
Event
<
ICodeEditor
>
;
readonly
onCodeEditorAdd
:
Event
<
ICodeEditor
>
;
readonly
onCodeEditorRemove
:
Event
<
ICodeEditor
>
;
readonly
onDiffEditorAdd
:
Event
<
IDiffEditor
>
;
readonly
onDiffEditorRemove
:
Event
<
IDiffEditor
>
;
readonly
onDidChangeTransientModelProperty
:
Event
<
ITextModel
>
;
onDiffEditorAdd
:
Event
<
IDiffEditor
>
;
onDiffEditorRemove
:
Event
<
IDiffEditor
>
;
addCodeEditor
(
editor
:
ICodeEditor
):
void
;
removeCodeEditor
(
editor
:
ICodeEditor
):
void
;
...
...
src/vs/workbench/parts/codeEditor/electron-browser/toggleWordWrap.ts
浏览文件 @
5ee3996b
...
...
@@ -114,23 +114,6 @@ function toggleWordWrap(editor: ICodeEditor, state: IWordWrapState): IWordWrapSt
};
}
function
applyWordWrapState
(
editor
:
ICodeEditor
,
state
:
IWordWrapState
):
void
{
if
(
state
.
transientState
)
{
// toggle is on
editor
.
updateOptions
({
wordWrap
:
state
.
transientState
.
forceWordWrap
,
wordWrapMinified
:
state
.
transientState
.
forceWordWrapMinified
});
return
;
}
// toggle is off
editor
.
updateOptions
({
wordWrap
:
state
.
configuredWordWrap
,
wordWrapMinified
:
state
.
configuredWordWrapMinified
});
}
const
TOGGLE_WORD_WRAP_ID
=
'
editor.action.toggleWordWrap
'
;
class
ToggleWordWrapAction
extends
EditorAction
{
...
...
@@ -170,9 +153,8 @@ class ToggleWordWrapAction extends EditorAction {
// Compute the new state
const
newState
=
toggleWordWrap
(
editor
,
currentState
);
// Write the new state
// (this will cause an event and the controller will apply the state)
writeTransientState
(
model
,
newState
.
transientState
,
codeEditorService
);
// Apply the new state
applyWordWrapState
(
editor
,
newState
);
}
}
...
...
@@ -212,6 +194,10 @@ class ToggleWordWrapController extends Disposable implements IEditorContribution
ensureWordWrapSettings
();
}));
this
.
_register
(
codeEditorService
.
onDidChangeTransientModelProperty
(()
=>
{
ensureWordWrapSettings
();
}));
const
ensureWordWrapSettings
=
()
=>
{
// Ensure correct word wrap settings
const
newModel
=
this
.
editor
.
getModel
();
...
...
@@ -234,13 +220,30 @@ class ToggleWordWrapController extends Disposable implements IEditorContribution
// Apply the state
try
{
currentlyApplyingEditorConfig
=
true
;
applyWordWrapState
(
editor
,
desiredState
);
this
.
_applyWordWrapState
(
desiredState
);
}
finally
{
currentlyApplyingEditorConfig
=
false
;
}
};
}
private
_applyWordWrapState
(
state
:
IWordWrapState
):
void
{
if
(
state
.
transientState
)
{
// toggle is on
this
.
editor
.
updateOptions
({
wordWrap
:
state
.
transientState
.
forceWordWrap
,
wordWrapMinified
:
state
.
transientState
.
forceWordWrapMinified
});
return
;
}
// toggle is off
this
.
editor
.
updateOptions
({
wordWrap
:
state
.
configuredWordWrap
,
wordWrapMinified
:
state
.
configuredWordWrapMinified
});
}
private
_isWordWrapMinified
(
config
:
InternalEditorOptions
):
boolean
{
return
config
.
wrappingInfo
.
isWordWrapMinified
;
}
...
...
src/vs/workbench/test/workbenchTestServices.ts
浏览文件 @
5ee3996b
...
...
@@ -947,6 +947,7 @@ export class TestCodeEditorService implements ICodeEditorService {
onCodeEditorRemove
:
Event
<
ICodeEditor
>
=
Event
.
None
;
onDiffEditorAdd
:
Event
<
IDiffEditor
>
=
Event
.
None
;
onDiffEditorRemove
:
Event
<
IDiffEditor
>
=
Event
.
None
;
onDidChangeTransientModelProperty
:
Event
<
ITextModel
>
=
Event
.
None
;
addCodeEditor
(
editor
:
ICodeEditor
):
void
{
}
removeCodeEditor
(
editor
:
ICodeEditor
):
void
{
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录