Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
dfeef6fb
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,发现更多精彩内容 >>
提交
dfeef6fb
编写于
6月 13, 2018
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix #51668
上级
8b5824e5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
42 addition
and
42 deletion
+42
-42
src/vs/workbench/services/preferences/browser/preferencesService.ts
...kbench/services/preferences/browser/preferencesService.ts
+42
-42
未找到文件。
src/vs/workbench/services/preferences/browser/preferencesService.ts
浏览文件 @
dfeef6fb
...
...
@@ -238,16 +238,19 @@ export class PreferencesService extends Disposable implements IPreferencesServic
configureSettingsForLanguage
(
language
:
string
):
void
{
this
.
openGlobalSettings
()
.
then
(
editor
=>
{
const
codeEditor
=
getCodeEditor
(
editor
.
getControl
());
if
(
codeEditor
)
{
this
.
getPosition
(
language
,
codeEditor
)
.
then
(
position
=>
{
codeEditor
.
setPosition
(
position
);
codeEditor
.
focus
();
});
}
});
.
then
(
editor
=>
this
.
createPreferencesEditorModel
(
this
.
userSettingsResource
)
.
then
((
settingsModel
:
IPreferencesEditorModel
<
ISetting
>
)
=>
{
const
codeEditor
=
getCodeEditor
(
editor
.
getControl
());
if
(
codeEditor
)
{
this
.
getPosition
(
language
,
settingsModel
,
codeEditor
)
.
then
(
position
=>
{
if
(
codeEditor
)
{
codeEditor
.
setPosition
(
position
);
codeEditor
.
focus
();
}
});
}
}));
}
private
openOrSwitchSettings
(
configurationTarget
:
ConfigurationTarget
,
resource
:
URI
,
options
?:
IEditorOptions
,
group
:
IEditorGroup
=
this
.
editorGroupService
.
activeGroup
):
TPromise
<
IEditor
>
{
...
...
@@ -456,39 +459,36 @@ export class PreferencesService extends Disposable implements IPreferencesServic
];
}
private
getPosition
(
language
:
string
,
codeEditor
:
ICodeEditor
):
TPromise
<
IPosition
>
{
return
this
.
createPreferencesEditorModel
(
this
.
userSettingsResource
)
.
then
((
settingsModel
:
IPreferencesEditorModel
<
ISetting
>
)
=>
{
const
languageKey
=
`[
${
language
}
]`
;
let
setting
=
settingsModel
.
getPreference
(
languageKey
);
const
model
=
codeEditor
.
getModel
();
const
configuration
=
this
.
configurationService
.
getValue
<
{
editor
:
{
tabSize
:
number
;
insertSpaces
:
boolean
},
files
:
{
eol
:
string
}
}
>
();
const
eol
=
configuration
.
files
&&
configuration
.
files
.
eol
;
if
(
setting
)
{
if
(
setting
.
overrides
.
length
)
{
const
lastSetting
=
setting
.
overrides
[
setting
.
overrides
.
length
-
1
];
let
content
;
if
(
lastSetting
.
valueRange
.
endLineNumber
===
setting
.
range
.
endLineNumber
)
{
content
=
'
,
'
+
eol
+
this
.
spaces
(
2
,
configuration
.
editor
)
+
eol
+
this
.
spaces
(
1
,
configuration
.
editor
);
}
else
{
content
=
'
,
'
+
eol
+
this
.
spaces
(
2
,
configuration
.
editor
);
}
const
editOperation
=
EditOperation
.
insert
(
new
Position
(
lastSetting
.
valueRange
.
endLineNumber
,
lastSetting
.
valueRange
.
endColumn
),
content
);
model
.
pushEditOperations
([],
[
editOperation
],
()
=>
[]);
return
{
lineNumber
:
lastSetting
.
valueRange
.
endLineNumber
+
1
,
column
:
model
.
getLineMaxColumn
(
lastSetting
.
valueRange
.
endLineNumber
+
1
)
};
}
return
{
lineNumber
:
setting
.
valueRange
.
startLineNumber
,
column
:
setting
.
valueRange
.
startColumn
+
1
};
private
getPosition
(
language
:
string
,
settingsModel
:
IPreferencesEditorModel
<
ISetting
>
,
codeEditor
:
ICodeEditor
):
TPromise
<
IPosition
>
{
const
languageKey
=
`[
${
language
}
]`
;
let
setting
=
settingsModel
.
getPreference
(
languageKey
);
const
model
=
codeEditor
.
getModel
();
const
configuration
=
this
.
configurationService
.
getValue
<
{
editor
:
{
tabSize
:
number
;
insertSpaces
:
boolean
},
files
:
{
eol
:
string
}
}
>
();
const
eol
=
configuration
.
files
&&
configuration
.
files
.
eol
;
if
(
setting
)
{
if
(
setting
.
overrides
.
length
)
{
const
lastSetting
=
setting
.
overrides
[
setting
.
overrides
.
length
-
1
];
let
content
;
if
(
lastSetting
.
valueRange
.
endLineNumber
===
setting
.
range
.
endLineNumber
)
{
content
=
'
,
'
+
eol
+
this
.
spaces
(
2
,
configuration
.
editor
)
+
eol
+
this
.
spaces
(
1
,
configuration
.
editor
);
}
else
{
content
=
'
,
'
+
eol
+
this
.
spaces
(
2
,
configuration
.
editor
);
}
return
this
.
configurationService
.
updateValue
(
languageKey
,
{},
ConfigurationTarget
.
USER
)
.
then
(()
=>
{
setting
=
settingsModel
.
getPreference
(
languageKey
);
let
content
=
eol
+
this
.
spaces
(
2
,
configuration
.
editor
)
+
eol
+
this
.
spaces
(
1
,
configuration
.
editor
);
let
editOperation
=
EditOperation
.
insert
(
new
Position
(
setting
.
valueRange
.
endLineNumber
,
setting
.
valueRange
.
endColumn
-
1
),
content
);
model
.
pushEditOperations
([],
[
editOperation
],
()
=>
[]);
let
lineNumber
=
setting
.
valueRange
.
endLineNumber
+
1
;
settingsModel
.
dispose
();
return
{
lineNumber
,
column
:
model
.
getLineMaxColumn
(
lineNumber
)
};
});
const
editOperation
=
EditOperation
.
insert
(
new
Position
(
lastSetting
.
valueRange
.
endLineNumber
,
lastSetting
.
valueRange
.
endColumn
),
content
);
model
.
pushEditOperations
([],
[
editOperation
],
()
=>
[]);
return
TPromise
.
as
({
lineNumber
:
lastSetting
.
valueRange
.
endLineNumber
+
1
,
column
:
model
.
getLineMaxColumn
(
lastSetting
.
valueRange
.
endLineNumber
+
1
)
});
}
return
TPromise
.
as
({
lineNumber
:
setting
.
valueRange
.
startLineNumber
,
column
:
setting
.
valueRange
.
startColumn
+
1
});
}
return
this
.
configurationService
.
updateValue
(
languageKey
,
{},
ConfigurationTarget
.
USER
)
.
then
(()
=>
{
setting
=
settingsModel
.
getPreference
(
languageKey
);
let
content
=
eol
+
this
.
spaces
(
2
,
configuration
.
editor
)
+
eol
+
this
.
spaces
(
1
,
configuration
.
editor
);
let
editOperation
=
EditOperation
.
insert
(
new
Position
(
setting
.
valueRange
.
endLineNumber
,
setting
.
valueRange
.
endColumn
-
1
),
content
);
model
.
pushEditOperations
([],
[
editOperation
],
()
=>
[]);
let
lineNumber
=
setting
.
valueRange
.
endLineNumber
+
1
;
settingsModel
.
dispose
();
return
{
lineNumber
,
column
:
model
.
getLineMaxColumn
(
lineNumber
)
};
});
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录