如何将 VSCode 更改为缩进 4 个空格而不是默认 2 个?

Posted

技术标签:

【中文标题】如何将 VSCode 更改为缩进 4 个空格而不是默认 2 个?【英文标题】:How do I Change VSCode To Indent 4 Spaces Instead Of Default 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。看到这个帖子的答案:***.com/a/54340064/6393500 【参考方案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。禁用此扩展实际上会有所帮助。 :) 谢谢!

以上是关于如何将 VSCode 更改为缩进 4 个空格而不是默认 2 个?的主要内容,如果未能解决你的问题,请参考以下文章

编辑器STM32CubeMx生成的代码改为4空格制表符缩进

编辑器STM32CubeMx生成的代码改为4空格制表符缩进

nuxt 项目设置缩进为4个空格

idea 如何将生成 xml 文件时默认的缩进 2 个空格改变 4 个空格

关于VSCode如何缩进两个空格

为啥 VS Code 默认使用 2 个空格缩进?