sublime区分单行注释和多行注释

时间:2014-03-10 14:35:46

标签: python sublimetext2 sublimetext sublimetext3

我使用sublime text 2 for PHP,现在也使用Python。在那里我可以区分单行和多行注释。 对于instanse,如果键入:

/* [enter]

sublime autocompletes to:

/*
[cursor is here]
*/

这不适用于单行评论的PHP等价物:

// some comment [enter]

结果:

// some comment
[cursor is here]

我也喜欢在Python中使用此行为。 然而,在python中,如果我使用"#"对于单行注释我得到了这个:

# some comment [enter]

结果:

# some comment
# [cursor is here]

这很烦人,因为我必须退格两次以撤消它。带有三引号的多行评论根本不起作用。 (它突出显示,但不自动完成)

我该怎么改变?我可以更改一些键绑定,还是语法特定的东西?

编辑: 安装包: - 包裹控制 - DocBlockR - SideBarEnhancements - SublimeLinter - 同步滚动

1 个答案:

答案 0 :(得分:2)

好吧,我想我已经弄明白了 - 它与DocBlockr没有任何关系。首先,打开Packages/Python/Miscellaneous.tmPreferences(其中Packages是转到Preferences -> Browse Packages...时打开的文件夹)并删除以下行(它们应该是第19-24行):

<dict>
    <key>name</key>
    <string>TM_COMMENT_START</string>
    <key>value</key>
    <string># </string>
</dict>

保存该文件。接下来,使用以下内容创建一个新文件(使用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.python</string>
    <key>settings</key>
    <dict>
        <key>shellVariables</key>
        <array>
            <dict>
                <key>name</key>
                <string>TM_COMMENT_START</string>
                <key>value</key>
                <string># </string>
            </dict>
        </array>
    </dict>
    <key>uuid</key>
    <string>A67A8BD9-A951-406A-9175-018DD4B52FD1</string>
</dict>
</plist>

将此文件另存为Packages/Python/Comments.tmPreferences。重新启动Sublime,你应该全部设置。