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

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

更新

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


当前回答

在右下角的工具栏中,你会看到一个如下所示的项目: 点击它后,你会得到使用空格或制表符缩进的选项。选择缩进类型后,您将可以选择更改缩进的大小。在上面的例子中,缩进被设置为每缩进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"
}

下面的搜索和替换正则表达式将现有文件中每个缩进级别的空格数从4更改为2。它相对容易理解、可靠,而且不需要安装任何东西。

指令

按ctrl + +(或macOS上的“⌘+ +”)。 通过单击搜索弹出框中的。*按钮或按AltR(或macOS上的“⌘R”),确保打开正则表达式匹配。 在Find字段中,输入^(?())?(?())?(?())?(?())?(?())?(?())?(?())?(?())?(?:())? 在Replace字段中输入$1$2$3$4$5$6$7$8$9 最后按下CtrlEnter(或macOS上的⌘Enter)应用到当前文件。

您还可以在左侧的Search窗格中使用此选项,在项目中的所有文件中执行此操作。但是,请注意,每个文件只能运行一次。它会打乱已经使用2个空格的文件的缩进。

 


额外学分:它是如何工作的

正则表达式的工作方式是匹配组(?:)在开始的时候一次四个空格^…在每一行中,只捕获(…)前两个空格。每个缩进级别都是可选的…?,所以它适用于许多缩进级别,因为模式是重复的,每一行都有。然后将整个模式替换为仅捕获的空间$1,$2,…,有效地将每四个空格的缩进层替换为两个空格。

这个模式最多只能工作到9个缩进级别(我不确定10美元是否可以工作,但如果是这样的话,可以无限扩展)。

额外额外学分:扩展

您可以调整该模式,将文件中每个缩进级别的空格数从任何原始数字减少到另一个较低的目标数字。

将目标空格数放在内括号内。然后,将剩余的原始空格数放在外括号中,因此模式中的空格总数就是原始的空格数。

例如,如果您想将缩进级别从6更改为4,可以重复此搜索模式多次:

^ (?:())?或^ (?:({4}) {2})?

并使用相同数量的1美元,2美元的替换模式。

代码格式化快捷方式:

Windows上的VSCode - Shift + Alt + F

MacOS 上的 VSCode - Shift + Option + F

VSCode在Ubuntu - Ctrl + Shift + I

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

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

对于那些搜索“在VS Code中改变缩进”的人,简单的解释和图片

第一步:点击Preferences > Settings

步骤2:你正在寻找的设置是“检测缩进”,开始输入。点击“编辑器:标签大小”

第三步:向下滚动到“编辑器:标签大小”,输入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
}