我在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中启用此功能?或者,是否有一些其他文件我必须添加/修改才能启用此功能?
答案 0 :(得分:15)
看看“评论(C ++)。tmPreferences”,您应该能够弄清楚如何根据语法编辑它。
评论(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>