在Visual Studio Code中使用Format Code命令时,它不尊重我的缩进设置(“editor. exe”)。tabSize": 2).它使用的是4的标签大小。知道为什么会这样吗?
谢谢!
在Visual Studio Code中使用Format Code命令时,它不尊重我的缩进设置(“editor. exe”)。tabSize": 2).它使用的是4的标签大小。知道为什么会这样吗?
谢谢!
用于格式化的空格数取自不同的位置。我使用1.0版本,这是我所做的修复(我假设你使用空格而不是制表符):
在编辑器的右下角点击“空格:#”:
然后一个菜单将出现在顶部。选择“使用空格缩进”:
最后,您可以根据您希望文件缩进的空间来选择。
下次格式化文件时,您应该能够获得您配置的间距。
如果@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工作区或用户设置中的任何内容。
很可能你已经安装了一些格式化扩展,例如JS-CSS-HTML Formatter。
如果是这样,那么只需打开命令面板,键入“Formatter”并选择Formatter Config。然后编辑“indent_size”的值。
附注:编辑后不要忘记重新启动Visual Studio Code:)
Visual Studio Code检测每个默认值的当前缩进并使用它——忽略.editorconfig
同时将"editor.detectIndentation"设置为false
(文件->首选项->设置)
我有时也有同样的问题。VSCode会突然失去理智,完全忽略我告诉它的任何缩进设置,即使它一整天都在缩进同一个文件。
我有编辑。tabSize设置为2(以及编辑器。formatOnSave设置为true)。当VSCode弄乱一个文件时,我使用编辑器底部的选项来改变缩进类型和大小,希望一些东西会工作,但VSCode坚持实际使用缩进大小为4。
这是固定的吗?重启VSCode。它应该返回缩进状态,显示一些错误(在我的情况下,4)。对我来说,我必须改变设置,然后保存它才能真正做出改变,但这可能是因为我的编辑器。formatOnSave设置。
我还没有弄清楚为什么会发生这种情况,但对我来说,通常是当我在JS文件中编辑嵌套对象时。它会突然在对象中做非常奇怪的缩进,尽管我已经在那个文件中工作了一段时间,它的缩进很好。
如果你从谷歌来到这里,因为tab不缩进,这也可能是因为“tab移动焦点”是打开的。它在右下角,如果你有一个足够大的显示器,你可能会错过它,尽管它是突出显示的。
点击绿色区域或Ctrl + M使它停止。我不确定它是否可以完全禁用,我也不知道为什么代码编辑器会想要搞砸缩进之类的东西。
我有一个类似的问题-无论我做什么,我不能让tabsize为2,即使它是在我的用户设置-这最终是由于EditorConfig扩展。它在当前工作目录中查找.editorconfig文件,如果没有找到(或者找到的文件没有指定root=true),它将继续查找父目录,直到找到一个。
结果发现,在我把所有新代码项目放在其中的dir的父目录中有一个.editorconfig,它指定tabSize为4。删除该文件解决了我的问题。
对我来说,这个问题是由于使用了更漂亮的VSCode插件而没有在工作空间中使用更漂亮的配置文件造成的。
禁用插件解决了这个问题。它也可以通过依赖更漂亮的配置来修复。
VSCode插件Vetur;用于VueJS应用程序正在覆盖我的设置。
将vetr .format.options. tabsize设置为我喜欢的空格数就可以工作了。
如果你使用插件(在我的例子中,Vetur, vue.js),这些可以设置自己的选项卡格式设置。
打开你的设置,搜索“format”并查看相关的插件设置,这些设置可能会覆盖全局选项卡格式。这对我很管用;一旦我更新了Vetur选项卡设置以匹配我的偏好(在我的情况下是4个大小的选项卡),格式化.vue文档开始正常工作:
下面的设置解决了我的问题
"editor.detectIndentation": false,
"editor.insertSpaces": false,
"editor.tabSize": 2,
我认为vscode默认使用autopep8来格式化.py。
PEP 8——Python代码风格指南| Python.org
根据这个网站,下面可以解释为什么vscode总是使用4个空格。
每个缩进层使用4个空格。
还要确保你的工作区设置没有覆盖你的用户设置。用户界面并没有很明显地显示你正在编辑哪些设置,“文件>首选项>设置”默认为用户设置,即使工作空间设置胜过用户设置。
你也可以直接编辑工作区设置:/.vscode/settings.json
正如一些答案所暗示的那样,有一些设置,如“detectIndentation, insertSpaces和tabSize”,它们都控制缩进的工作方式,但大多数人都没有提到(包括最上面的答案),这些设置可以被你的用户设置覆盖,在这种情况下,更改它们并不重要。
如果你想知道如何检查你的vscode的情况,只要重新检查你是否有下面的东西写在括号旁边的设置名称:
如果是这种情况,只需单击User链接并在新打开的用户设置选项卡中更改设置,您应该会看到您的更改生效。
以上两种解决方案都不适合我,所以我在我的整个用户文件夹中搜索文件中的“tabSize”。最终,我在“设置”中找到了一个覆盖我的设置的选项,并且总是适用于(新)打开的文件:
"[python]": {
"editor.detectIndentation": false,
"editor.insertSpaces": true,
"editor.tabSize": 4
},
对于新的查看器,我遇到了YAML文件不正确缩进的相同问题。但是你仍然可以在设置中更改它!
进入“File > Preferences > Settings” 搜索“标签大小” 在[yaml]设置下,单击settings.json中的Edit
改变编辑器。Tabsize值为您想要的空格数!
仅供参考,他们似乎没有为特定的文件类型添加设置:参见#58995
如果你用的是C/ c++:
>首选项>设置或[Ctrl+Shift+P] 搜索“设置用户界面” 搜索“c_cpp格式化” 将格式引擎从"clangFormat"改为"vcFormat"
然后在“c_cpp>vc format”下更改的所有内容将被激活。
截图
我有一个“。editorconfig”文件在父目录(ionic项目)的值“indent_size = 2”,它确实覆盖了我为我的工作空间选择的任何值! 我一改,问题就解决了。
自动格式/默认格式的解决方案:
你不需要安装任何额外的东西。
转到settings.json。根据下面的快照复制、粘贴并禁用。
单击下面的快照,放大/缩小(使用ctrl +鼠标滚轮)以适应您的屏幕大小。
完成了。
注意:这里我想要的是像自动格式化TypeScript一样自动格式化JavaScript。您可以根据需要复制和粘贴任何其他规则。
至于《Space Size》,Maleki的第一个回答已经很清楚了。我就不再重复了。
在我的情况下,VScode使用更漂亮的包来格式化我的代码。
我是如何解决的:
右击代码-> Format Selection With -> Change Default Formatter -> TypeScript和Javascript语言特性
像往常一样在VScode中设置选项卡首选项。