对于每个typescript文件,visual studio代码使用8个空格的自动缩进。这对我来说有点太贵了,但我找不到换的地方。

也许它可以作为一个设置,但在不同的名称下,因为我找不到任何与缩进有关的东西。

更新

我目前正在使用更漂亮的代码格式化器,它解决了所有的格式问题,自动格式化保存(如果没有语法错误)


当前回答

自动取消的问题是由于在VSCode的设置中有一个复选框是活动的。 遵循以下步骤:

goto偏好 转到设置 搜索“编辑器:修剪自动空白” 取消选中方框

其他回答

在我的案例中,“EditorConfig for VSCode”扩展覆盖了VSCode设置。 如果您已经安装了它,那么检查项目根文件夹中的.editorconfig文件。

下面是一个配置示例。“indent_size”设置制表符的空格数。

# editorconfig.org
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

您可以在全局用户级别或工作区级别更改此设置。

打开设置:点击左下角的齿轮,然后点击如下所示的设置。

然后,执行以下2项更改:(在搜索栏中输入tabSize)

取消选中“检测缩进”复选框 将制表符大小改为2/4(尽管我强烈认为2对于JS是正确的。哈哈:))

问题:接受的答案实际上没有修复当前文档中的缩进。

解决方案:运行Format Document,根据当前(新)设置重新处理文档。

问题:我的项目中的HTML文档是“Django HTML”而不是“HTML”的类型,没有可用的格式化器。

解决方法:将它们转换为语法“HTML”,格式化它们,然后再切换回“Django HTML”。

问题:HTML格式化器不知道如何处理Django模板标记,并且取消了我精心应用的嵌套。

解决方案:安装Indent 4-2扩展,它严格执行缩进,而不考虑当前的语言语法(这是我在本例中想要的)。

要设置所有现有文件和新文件的空格标识为2,只需把它放在你的设置。Json(在Json的根):

"[typescript]": {
        "editor.defaultFormatter": "vscode.typescript-language-features",
        "editor.tabSize": 2,
        "editor.insertSpaces": true,
        "editor.detectIndentation":false
 }

您可以添加配置的语言类型:

"[javascript]": {
    "editor.tabSize": 2,
    "editor.insertSpaces": true,
    "editor.detectIndentation":false
} 

添加:是的,您可以使用右下角的UI来配置空间设置。但如果现有代码没有格式化为新的间距,则可以右键单击文件中的任何位置,然后单击Format Document。我花了一段时间才弄明白,直到我偶然发现了这个问题。

格式文档菜单