Visual Studio Code(vscode)中文件扩展名的自动缩进规则?

时间:2017-08-21 23:44:48

标签: json visual-studio-code

有没有办法告诉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。

1 个答案:

答案 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报告说扩展"美化"也与标签的空格冲突。