有没有办法告诉Visual Studio Code为给定的文件扩展名应用特定的自动缩进规则?我们当前的settings.json文件是:
{
"editor.tabSize": 4,
"editor.insertSpaces": true,
"files.associations": {
"**/src/**/*.js": "javascriptreact"
}
}
我确实尝试了以下内容,但它对我不起作用:
{
"files.associations": {
"**/src/**/*.js": "javascriptreact",
"package.json": "json"
},
"[javascriptreact]": {
"editor.insertSpaces": true,
"editor.tabSize": 4
},
"[json]": {
"editor.insertSpaces": true,
"editor.tabSize": 2
}
}
我确实尝试了[*.json]
,但这也没有用。
我正在使用Visual Studio Code 1.15.0。
答案 0 :(得分:8)
[为简单起见,我会将各种解决方案纳入答案。]
Vscode有一种编辑language-specific editor settings的便捷方式。
Ctr-Shift-P:首选项:配置语言特定设置......
并选择了您的语言。选择" JavaScript React"将打开并在settings.json文件中创建一个条目,您可以在其中添加javascript特定的编辑器设置,例如用于选项卡的空格数。
奇怪的是,新的设置条目会附加到文件的末尾,而文件不会自动滚动到该点。因此,滚动到settings.json文件的末尾以查找特定于语言的新条目。你可以把它放在那里:
"[json]": {
"editor.detectIndentation": false,
"editor.tabSize": 4,
"editor.insertSpaces": true
}
请注意,"编辑器:detectIndentation" 默认为true,因此您必须将其更改为 false 以使tabSize和insertSpaces生效。在settings.json文件中进行上述更改将立即显示它在该json文件中工作(请参阅编辑器右下角的空格:#项)。
但是,这些设置不会更改文件中的现有间距,但新标签会反映您的更改...
除非您有一个设置相同编辑器设置的冲突扩展名。我知道"更漂亮"扩展会这样做。 OP @Andre M报告说扩展"美化"也与标签的空格冲突。