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

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

更新

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


当前回答

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

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

其他回答

在右下角的工具栏中,你会看到一个如下所示的项目: 点击它后,你会得到使用空格或制表符缩进的选项。选择缩进类型后,您将可以选择更改缩进的大小。在上面的例子中,缩进被设置为每缩进4个空格字符。如果选择制表符作为缩进字符,那么您将看到制表符大小而不是空格

如果你想让它应用于所有文件,而不是单个文件,那么根据你的需要在用户设置或工作空间设置中覆盖编辑器:标签大小和编辑器:插入空格设置

编辑1

要获得您的用户或工作区设置,请访问首选项->设置。根据您的需要,验证您在“用户”或“工作区”选项卡上,并使用搜索栏定位设置。您可能还想禁用“编辑器:检测缩进”,因为该设置将覆盖您在启用时为“编辑器:插入空格”和“编辑器:制表符大小”设置的内容

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

你可以打开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"
}

首先,检查你是否安装了“EditorConfig for VS Code”。它覆盖了我的编辑器设置。我花了一整天修正这个问题。

在项目中找到.editorconfig文件,并在那里更改它将工作。

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

打开命令面板(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

代码格式化快捷方式:

Windows上的VSCode - Shift + Alt + F

MacOS 上的 VSCode - Shift + Option + F

VSCode在Ubuntu - Ctrl + Shift + I

如果需要,还可以使用首选项设置自定义此快捷方式。

用键盘选择列 Ctrl + Shift + Alt +箭头