首页 > 解决方案 > 如何为特定文件扩展名配置 Sublime Text 3 编辑器设置?

问题描述

我想更改一些仅适用于某些文件扩展名的编辑器设置。

作为测试,我创建了 2 个包含这些内容的文件(本质上覆盖了我默认的文件):

>  cat Preferences.sublime-settings
{
    "tab_size": 2,
    "translate_tabs_to_spaces": true
}

>  cat Powershell.sublime-settings 
{
  "tab_size": 12,
    "translate_tabs_to_spaces": true
}

>  cat Ps1.sublime-settings       
{
  "tab_size": 12,
    "translate_tabs_to_spaces": true
}

我关闭并重新打开 Sublime Text 并按下制表键仍然会为制表符产生 2 个空格而不是 12 个空格。

关于如何使其工作的任何想法?谢谢你。

标签: sublimetext3

解决方案


此答案假定您已经安装并尝试从Package Control配置PowerShell包。

您的设置不起作用的原因是您尝试的设置文件名错误。PowerShell 包使用文件名PowershellSyntax.sublime-settings进行设置,这是您需要使用的。

大多数包使用它们的包名作为文件的文件名,.sublime-settings但显然并非所有包都这样做。在这种情况下,有一个名为stposh的旧 PowerShell 包已经使用了文件名PowerShell.sublime-settings,因此很可能,较新的 PowerShell 包的开发人员被迫选择不同的文件名以避免冲突。显然,选择PowershellSyntax.sublime-settings使设置包不太直观,在我看来,设置文件名应该在包的自述文件中提及。

// Save as 'PowershellSyntax.sublime-settings'
// in your Sublime Text config 'User' folder.
{
    // 8 or even just 2 is probably better to test with
    // but stick with the massive 12 if you want to. :)
    "tab_size": 12,
    "translate_tabs_to_spaces": true
}

将来如果.sublime-settings文件不起作用,请查看始终从Package Control链接的包主页。浏览源文件名通常会快速显示要使用的正确设置文件名。如果软件包已经安装,您也可以打开它的.sublime-package文件,这是一个zip存档,这些文件存储在Installed Packages文件夹中。

一些额外的提示:

PowerShell 包应自动识别以下文件扩展名.ps1, .psm1, .psd1并在打开它们时使用其语法。要强制另一个文件扩展名自动使用该语法,例如.ps,单击状态栏最右侧的当前活动语法名称,将显示上下文菜单,将鼠标指针悬停在 上Open all with current extension as...,然后PowerShell从列表中选择。

要手动指示 Sublime Text 将制表符转换为空格,反之亦然,单击它显示的位置Spaces: nTab Size: n状态栏,这样做将打开一个上下文菜单。然后,您可以通过选择或取消选择在空格和制表符缩进之间切换Indent Using Spaces。再次打开相同的上下文菜单,然后从底部的 2 个菜单项中选择所需的任何转换。最后一个阶段也可以通过indentation命令面板中键入并从不言自明的选项中进行选择来执行。


推荐阅读