升级到3103后,python中的注释不起作用

2024-03-28 20:13:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚升级到Sublime 3103,现在评论快捷方式command+/不起作用。这很奇怪,因为它不仅仅在Python中工作。对于所有其他编程语言,它都可以正常工作。你知道吗

我试着为注释设置一个自定义的keybinding,同样的问题也出现了。在其他任何地方都可以使用,除了python。你知道吗

有什么问题吗?你知道吗


Tags: 地方评论编程语言command快捷方式sublimekeybinding
1条回答
网友
1楼 · 发布于 2024-03-28 20:13:09

我也不能复制这个,但这里有一个方法来修复它。转到Preferences → Browse Packages…打开操作系统文件管理器中的Packages文件夹。创建一个名为Python的新文件夹,并在该新文件夹中创建一个名为Comments.tmPreferences的空文件(大写很重要)。接下来,在Sublime中用XML语法高亮显示打开新文件,并添加以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//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>6550FEAD-D547-44E4-84F7-7D421D6078B0</string>
</dict>
</plist>

保存文件,它应该立即生效。你知道吗


它的工作原理是明确地告诉Sublime使用某种模式进行评论。.tmPreferences扩展来自TextMate,这是一个非常好的OS X编辑器,Jon Skinner在编写Sublime时将其作为灵感之一(与vi)。(顺便说一句,如果你使用的是OSX,那就去看看TextMate2吧——它是开源的,并且有很多简洁的特性。一个小得多的插件社区,尽管……)

如您所见,该文件是基于XML的,并定义了一个名为TM_COMMENT_START(同样,这个TM来自TextMate)的shellVariable,它在内部用于划分单行注释。根据scope值,Comments.tmPreferences文件可以用于您想要的任何语言。如果您的编程语言还具有块注释构造和单行注释,则可以使用TM_COMMENT_START_2TM_COMMENT_END_2来定义它,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//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>
            <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>6550FEAD-D547-44E4-84F7-7D421D6078B0</string>
</dict>
</plist>

在这里,我们仍然使用Python,但是我们使用三个引号来定义块注释或docstring。只需突出显示要用三个引号括起来的区域,然后按Shift键(在Windows/Linux上为Ctrl键)。你知道吗

相关问题 更多 >