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

谢谢!


当前回答

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

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

其他回答

用于格式化的空格数取自不同的位置。我使用1.0版本,这是我所做的修复(我假设你使用空格而不是制表符):

在编辑器的右下角点击“空格:#”:

然后一个菜单将出现在顶部。选择“使用空格缩进”:

最后,您可以根据您希望文件缩进的空间来选择。

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

我认为vscode默认使用autopep8来格式化.py。

PEP 8——Python代码风格指南| Python.org

根据这个网站,下面可以解释为什么vscode总是使用4个空格。

每个缩进层使用4个空格。

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

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

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

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

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