Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
db70084d
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,发现更多精彩内容 >>
提交
db70084d
编写于
1月 26, 2018
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Settings editor - autofix missing commas in settings file.
Fixes #42232
上级
e1959f72
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
42 addition
and
1 deletion
+42
-1
extensions/configuration-editing/src/extension.ts
extensions/configuration-editing/src/extension.ts
+42
-1
未找到文件。
extensions/configuration-editing/src/extension.ts
浏览文件 @
db70084d
...
...
@@ -7,7 +7,7 @@
import
*
as
nls
from
'
vscode-nls
'
;
const
localize
=
nls
.
loadMessageBundle
();
import
*
as
vscode
from
'
vscode
'
;
import
{
getLocation
,
visit
,
parse
}
from
'
jsonc-parser
'
;
import
{
getLocation
,
visit
,
parse
,
ParseError
,
ParseErrorCode
}
from
'
jsonc-parser
'
;
import
*
as
path
from
'
path
'
;
import
{
SettingsDocument
}
from
'
./settingsDocumentHelper
'
;
...
...
@@ -42,6 +42,47 @@ export function activate(context: vscode.ExtensionContext): void {
}
},
null
,
context
.
subscriptions
));
updateLaunchJsonDecorations
(
vscode
.
window
.
activeTextEditor
);
context
.
subscriptions
.
push
(
vscode
.
workspace
.
onWillSaveTextDocument
(
e
=>
{
if
(
!
e
.
document
.
fileName
.
endsWith
(
'
/settings.json
'
))
{
return
;
}
autoFixSettingsJSON
(
e
);
}));
}
function
autoFixSettingsJSON
(
willSaveEvent
:
vscode
.
TextDocumentWillSaveEvent
):
void
{
const
document
=
willSaveEvent
.
document
;
const
text
=
document
.
getText
();
const
edit
=
new
vscode
.
WorkspaceEdit
();
let
lastEndOfSomething
=
-
1
;
visit
(
text
,
{
onArrayEnd
(
offset
:
number
,
length
:
number
):
void
{
lastEndOfSomething
=
offset
+
length
;
},
onLiteralValue
(
value
:
any
,
offset
:
number
,
length
:
number
):
void
{
lastEndOfSomething
=
offset
+
length
;
},
onObjectEnd
(
offset
:
number
,
length
:
number
):
void
{
lastEndOfSomething
=
offset
+
length
;
},
onError
(
error
:
ParseErrorCode
,
offset
:
number
,
length
:
number
):
void
{
if
(
error
===
ParseErrorCode
.
CommaExpected
&&
lastEndOfSomething
>
-
1
)
{
const
errorPosition
=
document
.
positionAt
(
offset
);
const
fixPosition
=
document
.
positionAt
(
lastEndOfSomething
);
edit
.
insert
(
document
.
uri
,
fixPosition
,
'
,
'
);
}
}
});
willSaveEvent
.
waitUntil
(
vscode
.
workspace
.
applyEdit
(
edit
));
}
function
registerKeybindingsCompletions
():
vscode
.
Disposable
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录