如何从Sublime Text 2中的注释中删除空格

时间:2014-01-14 16:04:22

标签: sublimetext2

如果我想在Sublime Text 2中注释一段代码,我可以突出显示代码并按 Ctrl + / 。更改代码的方式如下:

var foo = 1;
// (start of highlight)
if (foo) {
    foo += 1;
}
// (end of highlight)
return foo;

看起来像这样:

var foo = 1;

// if (foo) {
//     foo += 1;
// }

return foo;

然而,当我使用//对我的代码中的内容进行评论时,我之后从未包含空格,我只在评论是实际注释时包含空格。我发现将注释与我自己(或其他开发人员)与注释掉的代码区分开来要容易得多。

我的问题是: Sublime Text 2中是否有设置允许我在使用键盘快捷键时删除单行注释字符后的空格?

2 个答案:

答案 0 :(得分:4)

评论功能位于Packages/Default/comment.py,其中Packages是选择Preferences -> Browse Packages...时打开的文件夹。如果您使用的是Python,则可以浏览该文件并确定如何在行的开头添加额外空间。我现在还在经历它,所以我没有明确的答案,但与another answer相反,应该有一种方法可以在不编写新插件的情况下完成。

如果我找出解决方法,我会更新这个答案。


<强>更新

因此,事实证明您根本不需要编辑comment.py文件。看起来你正在使用JavaScript,这很好,因为解决方法已经存在。转到Packages/JavaScript并打开Comments.tmPreferences,这只是一个标准的PLIST / XML文件。它应如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>name</key>
    <string>Comments</string>
    <key>scope</key>
    <string>source.js, source.json</string>
    <key>settings</key>
    <dict>
        <key>shellVariables</key>
        <array>
            <dict>
                <key>name</key>
                <string>TM_COMMENT_START</string>
                <key>value</key>
                <string>// </string>
            </dict>
            <dict>
                <key>name</key>
                <string>TM_COMMENT_START_2</string>
                <key>value</key>
                <string>/*</string>
            </dict>
            <dict>
                <key>name</key>
                <string>TM_COMMENT_END_2</string>
                <key>value</key>
                <string>*/</string>
            </dict>
        </array>
    </dict>
    <key>uuid</key>
    <string>A67A8BD9-A951-406F-9175-018DD4B52FD1</string>
</dict>
</plist>

如果您查看TM_COMMENT_START密钥,您会看到它已设置为<string>// </string>。只需删除//后的尾随空格,保存文件,然后重启Sublime以获得好运。现在,当您使用JS文件时,按 Ctrl / 将插入两个不带尾随空格的正斜杠。

答案 1 :(得分:0)

如果您在Keybindings - Default菜单下打开Preferences,则可以在第242行(在我的崇高中)看到:

{ "keys": ["ctrl+/"], "command": "toggle_comment", "args": { "block": false } },

这意味着快捷键ctrl+/用于命令toggle_comment

来自非官方的documentation

  

“toggle_comment

     

评论或取消注释活动行。块

     

[Bool]:是否使用块评论。“

Sublime不是开源的,所以如果参数不允许,我们不能修改内置命令的行为。

总之,sublime中没有这样的设置,但我们可以编写自己的包来实现它。