【问题标题】:How do I Change VSCode To Indent 4 Spaces Instead Of Default 2?如何将 VSCode 更改为缩进 4 个空格而不是默认 2 个?
【发布时间】:2018-08-16 10:46:18
【问题描述】:

我在 VS Code 中应用了以下设置来获得 4 个空格缩进。
但总是当我打开一个新文件时,它会在右下角切换回 2。

如果我单击右下角并将设置更改回 4,
VSCode 仍然会变回 2 并且仍然使用 2-space 自动缩进来应用它。
Alt+Shift+F

我错过了什么?

【问题讨论】:

  • 你运行的是什么版本的 vscode?​​span>
  • 版本:1.21.0
  • 在 Settings->Workspace->Extensions->Vetur:TabSize = 4 和 Use Tabs = true。看到这个帖子的答案:stackoverflow.com/a/54340064/6393500

标签: visual-studio-code vscode-settings default-value auto-indent autoformatting


【解决方案1】:

答案有点晚。但是刚刚解决了同样的问题...

多种事物都能够控制这一点。我也花了很多时间来纠正它。对我来说,下面的第 3 点是让它发挥作用的最后一招。在此之前,我注意到编辑器加载了 4 个空格,但又跳回了 2 个空格。现在它保持在 4。

需要检查的一些事项:

1:VS Code 配置(设置和工作区,您可以为系统范围的配置或仅为当前工作区设置这些): 检查是否设置:

"editor.tabSize": 4,
"editor.insertSpaces": true,
"editor.detectIndentation": false

和语言特定设置(可选):

"[javascript]": {
    "editor.tabSize": 4
},
"[typescript]": {
    "editor.tabSize": 4
}


2:是否有任何可能影响缩进的扩展 -> 人们报告说 JS-CSS-HTML 也配置了设置。


3:您的工作区中是否有 .editorconfig 文件?如果是这样,请检查那里的设置。例如,Angular 创建一个并配置 indent_size:

# Editor configuration, see http://editorconfig.org
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
max_line_length = off
trim_trailing_whitespace = false

大多数答案都集中在第 1 点,但对我来说,最后一步对于使 VS Code 正常工作很重要。

此 Stack Overflow 以不同的答案处理上述所有问题: Visual Studio Code: format is not using indent settings

【讨论】:

  • 感谢您的更新。我的问题是安装了所有超过配置的 Angular 插件。我现在关闭这个问题。
  • 我被.editorconfig 击中了,谢谢你结束了我的大雁追逐
  • .editorconfig 对我来说是个问题,特别是一个全局 ~/.editorconfig 文件,它被用来代替项目中的缺席。
  • 添加另一个扩展 Markdown All in One 覆盖降价文件的制表符缩进。您需要配置扩展。
【解决方案2】:

我在 VisualStudio 设置 (1.31) 中修复了它

转到:设置 > 工作区设置 > 文本编辑器

取消选中“检测缩进”以坚持您的默认设置。

【讨论】:

    【解决方案3】:

    与之前的答案略有不同。我有一个文件的类型缩进错误,我只想更正那个文件

    (如果你必须知道:这个 Python 脚本最初是作为文本文件开始的,其中包含一些查询。我从 psql 的 -E \d echo 查看 postgres 模式得到它)。

    无论如何,这个文件现在是一个 Python .py 文件,有 2 个空格缩进。不是应该通过修改常规 vscode 设置来解决的问题。

    我做了什么:

    • 点击底部状态栏位置2 Spaces
    • 在弹出的对话框中选择Convert Indentation to Tabs。现在它说Tab size 2
    • 再次单击状态栏上显示 Tab size 2 的位置
    • 选择Convert Indentation to Spaces。现在对话框更改为建议缩进大小:2 被选中。选择 4 或您想要的任何尺寸。
    • 完成

    这个对话框基本上有不同的方法,但是如果你进入制表模式,然后切换回基于空格的缩进,它将允许你选择你想要使用的空格数。

    【讨论】:

      【解决方案4】:

      在许多情况下,是Prettier 导致了这种情况。事实上,它只是忽略了@Oskar 的答案中列出的所有设置。

      所以它需要被显式覆盖:

      "prettier.tabWidth": 4,
      "prettier.useTabs": true
      

      然后只需转到您的文件并点击 CtrlkCtrld 和正确的缩进应该应用。

      另见Prettier is not indenting as specified

      【讨论】:

      • 终于!这就是我的解决方案。
      【解决方案5】:

      小心;这个扩展 EditorConfig for VS Code 会干扰 vscode 选项卡和缩进设置。它默认安装,但它是一场噩梦。禁用它将解决您的所有问题。

      【讨论】:

      • 不,它在 VS Code 中默认没有安装。您必须手动安装它。顺便说一下,使用 Visual Studio 解析 .editorConfig 不需要扩展。
      • 对我来说,当编辑器获得焦点时,实际的 tabsize 会不断将自身重置为 4。禁用此扩展实际上会有所帮助。 :) 谢谢!
      猜你喜欢
      • 1970-01-01
      • 2016-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-18
      • 1970-01-01
      • 2017-05-23
      相关资源
      最近更新 更多