Sublime Text 3 - 仅将快捷方式应用于特定文件类型

Ofe*_*mon 3 keyboard-shortcuts sublimetext sublimetext3

我正在使用Sublime Text 3,我安装JSFormat了格式化我的.js文件并配置了这样的键绑定:

{ "keys": ["ctrl+shift+f"], "command": "js_format" }
Run Code Online (Sandbox Code Playgroud)

现在,我也希望能够格式化我.css.html文件,所以我发现这个快捷方式:

{ "keys": ["ctrl+shift+f"], "command": "reindent" , "args": { "single_line": false } }
Run Code Online (Sandbox Code Playgroud)

我想js_format用于我的.js文件并reindent用于我.css.html文件.

是否可以为每个快捷方式指定文件类型?

Fra*_*Tan 6

更新

我发现这是Sublime Text 3的重复:如何将快捷方式绑定到特定的文件扩展名?

原始答案

添加一个context:

{
  "keys": ["ctrl+shift+f"],
  "command": "js_format",
  "context": [
    {
      "key": "selector",
      "operator": "equal",
      "operand": "source.js"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

重要的是设置operandsource.js.您可以替换js为您想要的任何文件扩展名.您还可以使用逗号指定其他来源.例如,这会导致命令应用于所有.html.css文件:

{ "key": "selector", "operator": "equal", "operand": "source.html, source.css" }
Run Code Online (Sandbox Code Playgroud)

请参阅关键绑定非官方文档.