在Visual Studio Code中使用Format Code命令时,它不尊重我的缩进设置(“editor. exe”)。tabSize": 2).它使用的是4的标签大小。知道为什么会这样吗?

谢谢!


当前回答

我有时也有同样的问题。VSCode会突然失去理智,完全忽略我告诉它的任何缩进设置,即使它一整天都在缩进同一个文件。

我有编辑。tabSize设置为2(以及编辑器。formatOnSave设置为true)。当VSCode弄乱一个文件时,我使用编辑器底部的选项来改变缩进类型和大小,希望一些东西会工作,但VSCode坚持实际使用缩进大小为4。

这是固定的吗?重启VSCode。它应该返回缩进状态,显示一些错误(在我的情况下,4)。对我来说,我必须改变设置,然后保存它才能真正做出改变,但这可能是因为我的编辑器。formatOnSave设置。

我还没有弄清楚为什么会发生这种情况,但对我来说,通常是当我在JS文件中编辑嵌套对象时。它会突然在对象中做非常奇怪的缩进,尽管我已经在那个文件中工作了一段时间,它的缩进很好。

其他回答

以上两种解决方案都不适合我,所以我在我的整个用户文件夹中搜索文件中的“tabSize”。最终,我在“设置”中找到了一个覆盖我的设置的选项,并且总是适用于(新)打开的文件:

"[python]": {
    "editor.detectIndentation": false,
    "editor.insertSpaces": true,
    "editor.tabSize": 4
},

还要确保你的工作区设置没有覆盖你的用户设置。用户界面并没有很明显地显示你正在编辑哪些设置,“文件>首选项>设置”默认为用户设置,即使工作空间设置胜过用户设置。

你也可以直接编辑工作区设置:/.vscode/settings.json

我有一个类似的问题-无论我做什么,我不能让tabsize为2,即使它是在我的用户设置-这最终是由于EditorConfig扩展。它在当前工作目录中查找.editorconfig文件,如果没有找到(或者找到的文件没有指定root=true),它将继续查找父目录,直到找到一个。

结果发现,在我把所有新代码项目放在其中的dir的父目录中有一个.editorconfig,它指定tabSize为4。删除该文件解决了我的问题。

很可能你已经安装了一些格式化扩展,例如JS-CSS-HTML Formatter。

如果是这样,那么只需打开命令面板,键入“Formatter”并选择Formatter Config。然后编辑“indent_size”的值。

附注:编辑后不要忘记重新启动Visual Studio Code:)

如果@Maleki的答案不适合你,检查一下你的项目文件夹中是否有。editorconfig文件。

例如,Angular CLI会生成一个这样的新项目

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

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

[*.md]
max_line_length = off
trim_trailing_whitespace = false

更改这里的indent_size是必需的,因为它似乎会覆盖你的.vscode工作区或用户设置中的任何内容。