如何强制Sublime Text 2在PHP文件中使用3个空格的选项卡?

时间:2013-02-22 07:53:09

标签: text tabs tab-size

在我的一些PHP文件中,Sublime显示相隔2个字符的垂直线(制表位?),其他文件默认使这些垂直线相隔3个字符(我的首选标签长度)。

下面可以看到垂直线(这些线相隔3个字符):

[注意我无法发布截图,因为我没有足够的分数!]

我的用户偏好文件如下:

{
    "draw_white_space": "none",
    "ignored_packages":
    [
        "Vintage"
    ],
    "tab_size": 3,
    "translate_tabs_to_spaces": true,
    "detect_indentation": false,
    "smart_indent": false,
    "use_tab_stops": false,
    "trim_trailing_white_space_on_save": true,
    "fallback_encoding": "UTF-8",
    "rulers": [80, 120]
}

我尝试过detect_indentation,smart_indent和use_tab_stops的不同排列,即完全省略和true / false等。这没有区别。

我真的很惊讶: a)不同的PHP文件之间存在不一致,即一些默认情况下具有2个字符的垂直行,而其他3个字符则相隔。 b)用户设置没有我期望的效果。

任何Sublime Text 2专家都知道如何将这些垂直线默认设置为我的标签宽度设置?

非常感谢。

2 个答案:

答案 0 :(得分:9)

因为这是指PHP中的特定语法,所以必须将设置直接保存在“特定于语法”的设置文件中。打开packages文件夹中的文件Packages/User/PHP.sublime-settings并编写以下内容:

{
    "tab_size": 3,
    "translate_tabs_to_spaces": true,
    "detect_indentation": false
}

但如果您希望所有您的代码(即不仅仅是PHP),请将其放在Packages/User/Preferences.sublime-settings文件中。

答案 1 :(得分:1)

这两种方法都是有效的,但我认为你应该知道文件Preferences.sublime-settings,这是所有环境的默认首选项。

您可以访问Preferences.sublime-settings

Prefenrences>设置 - 默认

主菜单上的

。或访问路径:

/home/<user_name>/.config/sublime-text-3/Packages/Default/Preferences.sublime-settings

对于Linux用户,但在其他操作系统中,除了访问目录的特殊性之外,系统的结构类似。像Windowns C:\\Programs Files\Sublime Text 3\[...]

文件Preferences.sublime-settings已经预先定义了许多参数,您只需要根据自己的喜好分配值。通常,可能值的范围为true,false或numeric。

对于你的情况,你应该更改"tab_size"的值,默认情况下它接收4个空格作为值 - 它非常适合Python程序员),只需更改为所需的值。

// Set to true to turn spell checking on by default
"spell_check": false,

// The number of spaces a tab is considered equal to
"tab_size": 4,

// Set to true to insert spaces when tab is pressed
"translate_tabs_to_spaces": true,

// If translate_tabs_to_spaces is true, use_tab_stops will make tab and
// backspace insert/delete up to the next tabstop
"use_tab_stops": true,

我一直喜欢的设置更改值:

"translate_tabs_to_spaces": true, //prevents that to switch from editor the indentation be changed.

"highlight_line": true, //highlights the line where the course is.

"auto_complete_commit_on_tab": true, //allows complement of code structure with tab key.