首页 文章

在Sublime Text中启用自动注释以获得自定义语法

提问于
浏览
14

我在Sublime Text中为自定义语言创建了一个.tmLanuage文件 . 一切都运作良好,除了我似乎无法自动评论工作 . 我似乎无法在Sublime Text文档或Google上找到有关如何执行此操作的任何内容,但也许这是因为我没有使用正确的关键字 .

让我解释一下我的意思 . 假设我有以下C代码:

int i = 1;
i += 2;

如果我在Sublime Text中突出显示它并按 ctrl+/ ,则会更改为

// int i = 1;
// i += 2;

同样,对于Python代码:

i = 1
i += 2

会成为

# i = 1
# i += 2

显然,Sublime Text必须知道语言语法才能选择正确的注释字符,这就是为什么我假设我需要在我的.tmLanguage文件中添加一些内容才能使其工作 . 我查看了Sublime Text附带的C.tmLanguage和Python.tmLanguage文件,没有任何内容跳出来作为执行此自动注释的代码 .

我有什么要添加到我的.tmLanguage文件以在Sublime Text中启用此功能?或者,是否有一些其他文件我必须添加/修改才能启用此功能?

1 回答

  • 15

    看看“评论(C).tmPreferences”,您应该能够找出如何根据语法编辑它 .

    • 将语法"scopeName"添加到范围

    • TM_COMMENT_START =行注释

    • TM_COMMENT_START_2 / TM_COMMENT_END_2 =阻止评论

    评论(C).tmPreferences:

    <?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.your_syntax</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>
                <dict>
                    <key>name</key>
                    <string>TM_COMMENT_DISABLE_INDENT_2</string>
                    <key>value</key>
                    <string>yes</string>
                </dict>
            </array>
        </dict>
    

相关问题