Visual Studio代码:格式不使用缩进设置

And*_*tch 120 visual-studio-code

Format Code在Visual Studio代码中使用该命令时,它不遵循我的缩进设置("editor.tabSize": 2).它使用的标签大小为4.任何想法为什么会这样?

谢谢!

Mal*_*eki 198

用于格式化的空格数取自其他位置.我正在使用1.0版本,这就是我所做的修复它(我假设您使用空格而不是制表符):

在编辑器底部右侧单击"Spaces:#":

状态栏在右边

然后会出现一个菜单.选择"缩进使用空格":

选择缩进类型

最后,您可以选择希望文件缩进的空格数.

选择标签大小

下次格式化文件时,您应该能够获得配置的间距.

  • 应用自动格式时,不使用此设置(右键单击 - >格式代码).它总是使用4个空格. (21认同)
  • @Jared我想你正在使用`JS-CSS-HTML`插件.在那种情况下按"F1"并选择格式化程序并在那里设置缩进.它似乎覆盖了上面讨论的所有选项. (11认同)
  • 设置用户和工作区设置,将其设置在底栏,重新打开文件 - 仍然autoformat使用4个空格... (4认同)
  • 在为要进行的设置设置用户和工作空间默认值后,必须退出并重新启动vscode.只有这样才停止尝试在我的JS文件上使用4个空格. (3认同)

小智 87

Visual Studio代码检测默认情况下的当前缩进并使用它 - 忽略.editorconfig

也将"editor.detectIndentation"设置 为false

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

  • 这是大多数人将面临的问题. (2认同)
  • 如果发生这种情况,您可能在文件中存在不一致的缩进。除了几行带有两个空格(谁知道为什么)之外,我有一个到处都有制表符的文件,最终被检测为使用制表符,但制表符大小为 2。 (2认同)

sea*_*ght 45

如果@ 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
Run Code Online (Sandbox Code Playgroud)

需要更改indent_size此处,因为它似乎将覆盖.vscode工作区或用户设置中的任何内容.

  • 我必须重新启动VSCode才能使更改在IDE中生效. (5认同)
  • 在我的情况下,它实际上是由我的主文件夹中的`.editorconfig`文件引起的.不知何故,它使VSCode忽略任何特定于工作区的设置.很烦人. (3认同)

tai*_*ion 12

对我自己来说,这个问题是由于使用prettierVSCode插件而工作空间中没有更漂亮的配置文件引起的.

禁用插件修复了问题.它也可能通过依赖更漂亮的配置来修复.

  • 对我来说这是“Beautify”插件。 (2认同)

Cia*_*ros 8

如果您使用的是插件(在我的案例中是Vetur,适用于vue.js),这些插件可能会设置自己的标签格式设置。

打开设置,搜索“格式”,然后浏览可能覆盖全局标签格式的相关插件设置。这对我有用;一旦我更新了Vetur标签设置以匹配我的偏好(我的情况下为4尺寸标签),格式化.vue文档便开始正常工作:

在此处输入图片说明


小智 6

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

如果是这种情况,那么只需打开Command Palette,输入"Formatter"并选择Formatter Config.然后根据需要编辑值"indent_size".

PS编辑后别忘了重启Visual Studio代码:)


ras*_*dnk 6

以下设置解决了我的问题

  "editor.detectIndentation": false,
  "editor.insertSpaces": false,
  "editor.tabSize": 2,
Run Code Online (Sandbox Code Playgroud)


ban*_*tic 5

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

原来我.editorconfig在我放置所有新代码项目的目录的父目录中有一个,它指定的 tabSize 为 4。删除该文件解决了我的问题。


Doo*_*ber 5

另请确保您的工作区设置不会覆盖您的用户设置。UI 并没有非常明显地显示您正在编辑哪些设置,并且“文件 > 首选项 > 设置”默认为用户设置,即使工作区设置胜过用户设置。

在此输入图像描述

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