【问题标题】:How do I force Sublime Text 2 to use a tab of 3 spaces in PHP files?如何强制 Sublime Text 2 在 PHP 文件中使用 3 个空格的制表符?
【发布时间】:2013-02-07 18:49:51
【问题描述】:

在我的一些 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]
}

我尝试过检测缩进、智能缩进和使用制表停止的不同排列,即完全省略和真/假等。这没什么区别。

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

任何 Sublime Text 2 专家都知道如何让这些垂直线默认为我的选项卡宽度设置?

非常感谢。

【问题讨论】:

  • 这里可能会引起一些混乱的是,Sublime 似乎只对文件打开操作进行缩进检测,并且会保持检测到的值直到文件选项卡关闭。如果您将“detect_indentation”设置为 false,您可能需要关闭所有选项卡并重新打开它们,否则您可能会有一些文件观察到之前检测到的值。

标签: text tabs tab-size


【解决方案1】:

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

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

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

【讨论】:

  • 感谢您的回复,它真的帮助了我:)
【解决方案2】:

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

您可以访问Preferences.sublime-settings 前往:

首选项 > 设置 - 默认

在主菜单上。或者访问路径:

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

对于 Linux 用户,但在其他操作系统中具有类似的架构,除了访问目录的特殊性。喜欢视窗C:\\Programs Files\Sublime Text 3\[...]

Preferences.sublime-settings 文件已经预定义了很多参数,你只需要根据自己的喜好赋值即可。可能取值的范围,一般来说是真假或数字。

对于您的情况,您应该更改"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.

【讨论】:

    猜你喜欢
    • 2012-03-17
    • 2014-05-11
    • 2012-03-23
    • 1970-01-01
    • 2014-01-07
    • 2014-04-27
    • 2021-05-31
    • 2019-02-22
    相关资源
    最近更新 更多