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

问题描述 投票:0回答:6

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

如果我单击右下角并将设置更改回 4,
VSCode 仍将更改回 2,并仍使用 2 空格自动缩进。
Alt+Shift+F

我错过了什么?

visual-studio-code default-value auto-indent autoformatting
6个回答
145
投票

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

有多种因素可以控制这一点。我还进行了大量的实验来纠正它。对我来说,下面的第 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:格式未使用缩进设置


56
投票

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

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

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

然后重新启动应用程序。


10
投票

在很多情况下,是

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

因此需要显式覆盖它:

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

然后只需转到您的文件并按 CtrlkCtrld,即可应用正确的缩进。

另请参阅Prettier 未按指定缩进


5
投票

与之前的答案略有不同。我有一个文件的类型缩进错误,我只想更正该文件。 (如果您必须知道:这个 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
    或任何您想要的尺寸。
    完成

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


3
投票
EditorConfig for VS Code

会干扰 VSCode 选项卡和缩进设置。它是默认安装的,但这是一场噩梦。禁用它可以解决您的所有问题。


0
投票
settings.json

    "python.formatting.autopep8Args": [
        "--indent-size=2",
        "--ignore E121"
    ]

顺便说一句,您可以通过打开命令面板(在 mac 上为 ⌘-shift-p)并输入 
>Python: Show Language Server Output

然后切换到查看“Python”日志来查看 autopep8 参数。

这似乎是一个常见问题。请参阅:

VS Code Python autopep8 不支持 2 个空格悬挂缩进

© www.soinside.com 2019 - 2024. All rights reserved.