1.3.3 缩进

优质
小牛编辑
126浏览
2023-12-01

概述

缩进设置决定一个 tab 表示多少个空格,并控制 tab 键是控制输入 tab 还是空格。除了自动检测外,还可以全局定制、按文件类型定制或按单文件定制。

设置

tab_size数值类型,一个 tab 等价于几个空格
translate_tabs_to_spaces布尔类型,把 tab 转成空格,也就是说按下 tab 键会输入 tab_size 规定个数的空格。
detect_indentation布尔类型,默认为 true,加载文件时会自动检测用 tab 还是空格对文件进行缩进。
use_tab_stops布尔类型,如果 translate_tabs_to_spaces 值为 true,use_tab_stops 将使按下 tab 或回退键时插入或删除直接到下一个 tab 位。

设置文件

设置文件按以下顺序被调用:

  1. Packages/Default/Preferences.sublime-settings
  2. Packages/Default/Preferences ().sublime-settings
  3. Packages/User/Preferences.sublime-settings
  4. Packages//.sublime-settings
  5. Packages/User/.sublime-settings

一般来说,你应该把设置放到Packages/User/Preferences.sublime-settings中,如果你想给特定文件类型指定一些设置,如 Python,你应该把设置放到Packages/User/Python.sublime-settings中。

示例

{
  "tab_size": 4,
  "translate_tabs_to_spaces": false
}

Per-syntax 设置

这种类型的设置是基于每一种语法来定的,常见的用途是不同的文件类型有不同的缩进和配色方案。

你可以通过菜单栏的Preferences/Settings - More/Syntax Specific - User编辑当前语法的设置。

缩进检测

当一个文件加载时,它的内容就会被检测,tab_sizetranslate_tabs_to_spaces就会被设置。状态区域将显示这个何时发生,一般情况这都能正常工作,你可以通过设置detect_indentation来禁用它。

可以通过View/Indentation/Guess Settings手动运行缩进检测。

Tab 和空格的转换

菜单栏中View/Indentation有一些指令来进行各种转化,他们将运行expand_tabsunexpand_tabs指令。

自动缩进

自动缩进将检测前面的缩进以便按下回车键时可以正常缩进,它由以下设置控制:

auto_indent布尔值,默认 true,启用自动缩进。
smart_indent布尔值,默认 true,使自动缩进更加智能。如:在 C 语言中的 if 语句下一行进行缩进。
trim_automatic_white_space布尔值,默认 true,删除自动缩进添加的空白符。
indent_to_bracket布尔值,默认 false,缩进时自动缩进到第一个开括号的位置,如下
use_indent_to_bracket(to_indent,
                      like_this);