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

谢谢!


当前回答

Visual Studio Code检测每个默认值的当前缩进并使用它——忽略.editorconfig

同时将"editor.detectIndentation"设置为false

(文件->首选项->设置)

其他回答

Visual Studio Code检测每个默认值的当前缩进并使用它——忽略.editorconfig

同时将"editor.detectIndentation"设置为false

(文件->首选项->设置)

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

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

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

如果你从谷歌来到这里,因为tab不缩进,这也可能是因为“tab移动焦点”是打开的。它在右下角,如果你有一个足够大的显示器,你可能会错过它,尽管它是突出显示的。

点击绿色区域或Ctrl + M使它停止。我不确定它是否可以完全禁用,我也不知道为什么代码编辑器会想要搞砸缩进之类的东西。

如果@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工作区或用户设置中的任何内容。

正如一些答案所暗示的那样,有一些设置,如“detectIndentation, insertSpaces和tabSize”,它们都控制缩进的工作方式,但大多数人都没有提到(包括最上面的答案),这些设置可以被你的用户设置覆盖,在这种情况下,更改它们并不重要。

如果你想知道如何检查你的vscode的情况,只要重新检查你是否有下面的东西写在括号旁边的设置名称:

如果是这种情况,只需单击User链接并在新打开的用户设置选项卡中更改设置,您应该会看到您的更改生效。