我已经编写了一个ST3软件包(其中包含=INDEX(AK6:AK1000,MODE(IF(AK6:AK1000<>"",MATCH(AK6:AK1000,AK6:AK1000,0))))
个插件,.py
和.sublime-keymap
,我想要插件和.sublime-commands
配置文件为特定文件语法激活仅(例如,对于.sublime*
或.txt
)。我怎样才能做到这一点?
答案 0 :(得分:0)
根据提供的示例判断,您希望使用文件扩展名而不是语法。可以通过语法菜单更改活动语法,而文件扩展名是常量。
#■■■■■ Establish Valid File Extensions ■■■■■■■■■■■■■■■■■■■■
valid_FileExtensions = []
valid_FileExtensions.append ( "txt" )
valid_FileExtensions.append ( "myCustomFileExtension" )
#■■■■■ Get Current File Extension ■■■■■■■■■■■■■■■■■■■■■■■■■
window = view.window()
fileExtension = window.extract_variables()[ "file_extension" ]
#■■■■■ Verify Current File Extension ■■■■■■■■■■■■■■■■■■■■■■
file_IsValid = False
for entry in valid_FileExtensions:
if fileExtension == entry:
file_IsValid = True
#■■■■■ Exit Routine If File Extension Is Invalid ■■■■■■■■■■
if file_IsValid == False:
return
可替换地;如果您更喜欢使用语法,可以使用:
fileSyntax = view.settings().get ( "syntax" )
任选地;您可以在valid_FileExtensions
创建一个YourPlugin.sublime-settings
数组,以便用户可以指定插件适用的扩展名。
答案 1 :(得分:0)
以下是我用于插件Markdown Preview
的键绑定示例{
"keys": ["ctrl+b"], "command": "markdown_preview", "args": {"target": "browser"},
"context": [{ "key": "selector", "operator": "equal", "operand": "text.html.markdown" }]
},
正如您所看到的,我使用通常绑定到ctrl+b
命令的键build
,但它仅在我的光标位于&#34时才有效; text.html.markdown&#34;这只发生在markdown文件中。
因此ctrl+b
通常会在我使用其他类型的文件时构建。
此范围通常位于&#34; text.html ...&#34;或&#34; source.python ...&#34;。要查找光标所在范围的当前名称,请使用命令&#34; show_scope_name&#34;与ctrl+alt+shift+p
。