VSCode自动格式化变成了2个空格而不是4个空格

25
每次我让VScode自动格式化我的代码时,它会将缩进空格调整为2个而不是4个,尽管默认值为4个,而且我也没有更改settings.json。
Editor.tabsize也显示为4。
在右下角,它显示空格:4,但在自动格式化后,它会变成空格:2,并且无论我如何将其更改为4,它都会恢复回2个空格。
有人知道发生了什么事吗? 如果有关Ruby的话,这就很重要了。
此外,有人知道VScode的替代缩进工具/自动格式化程序吗?
4个回答

38
我觉得你的问题可能与“自动检测缩进”有关。你应该尝试关闭它,看看是否有帮助。
// The number of spaces a tab is equal to. This setting is overriden based on the file contents when `editor.detectIndentation` is on.
"editor.tabSize": 4,

// When opening a file, `editor.tabSize` and `editor.insertSpaces` will be detected based on the file contents.
"editor.detectIndentation": false

1
how to do it? Answer is excellent, please bother to add some guide it is telling perfectly what to do, but everybody would not get how to do it - Sami
1
我已经尝试过了,但还是不起作用。你有什么想法吗? - Lachezar Raychev
5
我非常讨厌这个IDE,已经花了两个小时还没解决。。。我用4个空格缩进文件,然后按自动格式化快捷键后又变成2个空格了...我不知道到底发生了什么... - Lachezar Raychev
1
我认为这是来自 VS Code 的一个bug。 - stackoverflow
3
@LachezarRaychev - 很可能你安装了某个扩展程序,比如Prettier,它覆盖了VSCode的内置设置。请找到该扩展程序的配置项,并在那里配置你的缩进设置。 - Sean Murphy
显示剩余2条评论

19

对于像我一样无法使用上述方法的用户,这是一个相对简单易懂的图形界面指南。

按下= > CTRL + ,(评论中建议的方法)打开设置或通过菜单进入设置。

File->Preferences->Settings   

在搜索框中可以找到两个选项(查找 tab大小检测缩进),就像我在下面的图片中展示的那样(看文本“lets play”)

检测缩进 => 取消勾选(关闭)

tab大小 => 将其设置为4

如何操作? 需要可视化吗? 在这里,

右键单击以下图像并在新标签页中打开以清晰地查看

输入图像描述


您也可以使用 CTRL + , 打开设置。 - A-Tech

1
我使用 https://editorconfig.org/ 解决了这个问题。
# EditorConfig is awesome: https://EditorConfig.org

# top-most EditorConfig file
root = true

[*]
indent_style = tab
indent_size = 4
end_of_line = crlf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

请确保还安装了 VS Code扩展


0
另一个对我有效的解决方案:
1. 进入设置 2. 在搜索栏中输入“Prettier: Use Tabs” 3. 确保此设置已开启

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接