我在 VS Code 中应用了以下设置以获得 4 个空格缩进。
但总是当我打开一个新文件时,它会在右下角切换回 2。
如果我单击右下角并将设置更改回 4,
VSCode 仍将更改回 2,并仍使用 2 空格自动缩进。
Alt+Shift+F
我错过了什么?
回答有点晚了。但刚刚解决了同样的问题...
有多种因素可以控制这一点。我还进行了大量的实验来纠正它。对我来说,下面的第 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:格式未使用缩进设置
我在 VisualStudio 设置中修复了它(1.31)
转到:设置 > 工作区设置 > 文本编辑器
取消选中“检测缩进”以坚持默认设置。
然后重新启动应用程序。
在很多情况下,是
Prettier
导致了这种情况。事实上,它只是忽略@Oskar 的答案中列出的所有设置。
因此需要显式覆盖它:
"prettier.tabWidth": 4,
"prettier.useTabs": true
然后只需转到您的文件并按 Ctrlk、Ctrld,即可应用正确的缩进。
另请参阅Prettier 未按指定缩进。
与之前的答案略有不同。我有一个文件的类型缩进错误,我只想更正该文件。 (如果您必须知道:这个 Python 脚本最初是作为文本文件,其中包含一些查询。我从 psql 的
-E \d
echo 查看 postgres 模式中得到它)。
无论如何,这个文件现在是一个 Python .py 文件,有 2 个空格缩进。不应该通过修改常规 vscode 设置来修复问题。 我做了什么:
单击底部状态栏上显示
2 Spaces
的位置在弹出对话框中选择
Convert Indentation to Tabs
Tab size 2
再次单击状态栏,显示“选项卡大小 2”Convert Indentation to Spaces
2
。选择 4
或任何您想要的尺寸。完成基本上,通过此对话框有不同的方法,但如果您进入制表符模式,然后切换回基于空格的缩进,它将允许您选择要使用的空格数。
会干扰 VSCode 选项卡和缩进设置。它是默认安装的,但这是一场噩梦。禁用它可以解决您的所有问题。