我使用这两个绑定来自动完成:
{
"keys": ["tab"],
"command": "move",
"args": {"by": "lines", "forward": true},
"context":
[
{ "key": "auto_complete_visible", "operator": "equal", "operand": true }
]
},
{
"keys": ["shift+tab"],
"command": "move",
"args": {"by": "lines", "forward": false},
"context":
[
{ "key": "auto_complete_visible", "operator": "equal", "operand": true }
]
},
我想将"commit_completion"
命令添加到space
键:
"keys": ["space"],
"command": "commit_completion",
"context":
[
{ "key": "auto_complete_visible", "operator": "equal", "operand": true }
]
},
但它没有绑定,当我按下space
时,它充当正常的空间(它使空间xD)。我可以将它绑定到任何其他键,但不能绑定到空间。我错过了什么?
没有空格键代码可以这样绑定;如果您想将某些内容绑定到空格,则需要使用文字空格字符:
{
"keys": [" "],
"command": "commit_completion",
"context": [
{ "key": "auto_complete_visible", "operator": "equal", "operand": true }
]
},
这可以在Sublime控制台中看到,使用sublime.log_input(True)
打开输入日志记录,然后按下这个键;唯一被记录的是字符事件,而不是键事件。
同样重要的是要注意,除非您使用context
来约束何时应用绑定,否则您永远不希望将任何内容绑定到这样的字符上,否则您将失去键入该字符的能力。