【问题标题】:Auto-indent rules for file extension in Visual Studio Code (vscode)?Visual Studio Code(vscode)中文件扩展名的自动缩进规则?
【发布时间】:2017-08-21 23:44:47
【问题描述】:

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

【问题讨论】:

  • 您是否在设置中也将默认“editor.detectIndentation”:true 更改为 false。如果保留为 true,该设置将覆盖您尝试执行的操作。
  • 我尝试在工作区设置中更新它,但似乎没有帮助。
  • 这似乎对我有用,我在 settings.json 文件中使用了“[json]”规则,它肯定会改变标签大小。您可以在编辑器的右下角看到空格数。我注意到,如果您已经有缩进,则一行上的第一个选项卡将与之匹配,然后使用您的新设置。你有像 prettier 这样的冲突扩展吗?
  • 是的,就是这样,我需要重新加载窗口才能进行更改。
  • 您的扩展名是否冲突?或者哪个建议修复了它,目前尚不清楚。如果我回答它,我会把它变成一个正式的答案?!哈哈。

标签: json visual-studio-code


【解决方案1】:

[为简单起见,我将各种解决方案放入答案中。]

Vscode 有一个方便的方法来编辑language-specific editor settings

Ctr-Shift-P:首选项:配置语言特定设置...

并选择您的语言。选择“JavaScript React”将打开并在您的 settings.json 文件中创建一个条目,您可以在其中添加 javascript react 特定的编辑器设置,例如用于选项卡的空格数。

奇怪的是,新的设置条目会附加到文件的末尾,而文件不会自动滚动到该点。因此,滚动到 settings.json 文件的末尾以找到您的新语言特定条目。您可以在其中放入以下内容:

 "[json]": {
    "editor.detectIndentation": false,
    "editor.tabSize": 4,
    "editor.insertSpaces": true
 }

请注意,"editor:detectIndentation" 默认为 true,因此您必须将其更改为 false 才能使 tabSize 和 insertSpaces 生效。在 settings.json 文件中进行上述更改将立即表明它正在该 json 文件中工作(请参阅编辑器右下角的 Spaces:# 项)。

但是,这些设置不会更改文件中的现有间距,但新选项卡会反映您的更改...

除非您有一个设置相同编辑器设置的冲突扩展程序。我知道“更漂亮”的扩展会这样做。 OP @Andre M 报告说,扩展“美化”也与制表符的空格冲突。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-09-23
    • 2017-02-13
    • 2020-12-02
    • 2021-11-22
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    相关资源
    最近更新 更多