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

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

更新

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


当前回答

我喜欢这些缩进设置,你可以根据需要修改它们。

你可以打开VScode设置。输入CTRL+SHIFT+P并粘贴到json设置下面

setting.json

"[javascript]": {
    "editor.defaultFormatter": "vscode.typescript-language-features",
    "editor.formatOnSave": true,
    "editor.tabSize": 4,
    "editor.insertSpaces": false,
    "editor.detectIndentation": false,
    "editor.wrappingIndent": "deepIndent", 
    "editor.autoIndent": "full"
},
"[typescript]": {
    "editor.defaultFormatter": "vscode.typescript-language-features",
    "editor.formatOnSave": true,
    "editor.tabSize": 4,
    "editor.insertSpaces": false,
    "editor.detectIndentation": false,
    "editor.wrappingIndent": "deepIndent", 
    "editor.autoIndent": "full"
}

其他回答

在VSCode 1.75(2023年1月)中,缩进也可以在VSCode终端上定制,而不仅仅是VSCode视图。

参见问题170432:“添加终端制表符大小(editor.tabSize)设置”

当制表符在终端中打印时,无论制表符大小设置如何,它的制表符大小都为8个空格。

因此,PR 170733增加了一个新的设置:

terminal.integrated.tabStopWidth:制表位中的单元格数

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

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

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

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

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

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

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

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

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

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

除了elliott - j的答案之外,您可能还希望将editor.detectIndentation设置为false。

VSCode会覆盖你的编辑器。tabSize和编辑器。如果它检测到文件具有不同的制表符或空格缩进模式,则为每个文件添加insertSpaces设置。如果你将现有文件添加到项目中,或者使用Angular Cli等代码生成器添加文件,就会遇到这个问题。上面的设置阻止VSCode这样做。

使用实例根据编程语言修改缩进。

打开命令面板(CtrlShiftP | macOS:⌘P)。 键入并选择:首选项:配置语言特定设置…(命令id: workbench.action.configureLanguageBasedSettings)。 选择一种编程语言(例如TypeScript)。

如果打开Settings菜单(自1.66.0起): 4. 按→将光标放在语言筛选器的右边(例如@lang:typescript)。 5. 输入“Tab Size”,并在文本框中输入您的首选值。 如果设置。Json文件被打开: 4. 添加以下代码: “(打印稿)":{ “编辑器。tabSize”:2 }

参见:VS Code Docs