如何将字符"&"设置为Sublime代码补全列表的触发符?
解决Sublime Text中.sublime-completions文件&符号触发补全的问题
问题描述
我尝试创建一个.sublime-completions文件,让所有命令以"&"开头,配置示例如下:
{ "trigger": "&Command", "annotation": "basic function", "contents": "&Command", "kind": "function", "details": "Command description" },
但目前触发符无法识别"&"符号,只有输入命令首字母(如示例中的"C")才会显示补全,且输出时会多出一个"&"符号。我曾尝试在"&"前添加反斜杠,但没有效果,请问如何让触发符包含"&"?
解决步骤
1. 配置自动补全触发字符
Sublime Text默认不会将&视为补全触发字符,需要手动添加规则:
- 打开
Preferences > Settings(用户设置) - 在配置中添加
auto_complete_triggers项,把&加入触发字符列表:
"auto_complete_triggers": [ { "selector": "*", // 全局生效,可替换为特定语言的scope,比如"source.python" "characters": "&" } ]
这样输入&时,Sublime就会触发补全提示。
2. 修正补全内容避免重复&
输出时多出一个&是因为输入的&与补全内容里的&重复,调整contents字段去掉前面的&:
{ "trigger": "&Command", "annotation": "basic function", "contents": "Command", // 这里不再带& "kind": "function", "details": "Command description" },
输入&并选择该补全项时,Sublime会保留输入的&并插入Command,最终得到&Command。
3. 确保补全文件的作用域正确
检查.sublime-completions文件顶部的scope字段,若要全局生效设为"scope": "*";若只针对特定语言,设置对应的scope(比如Python是source.python),保证补全在目标场景下触发。
内容的提问来源于stack exchange,提问作者CephDigital
相关产品推荐
相关产品推荐

