我正在为有关键绑定和自定义编辑器的公开问题做出贡献。更具体地说,如果要在标准.md
文本编辑器中编辑Markdown文件,然后单击CMD+S
,则VSCode不仅将编辑内容保存在打开的文件中,还切换到Markdown的预览模式
现在,我的作品中有一个自定义编辑器保存命令,构造函数/键绑定如下(在TypeScript中):
(new class SaveCustomEditorCommand extends Command {
public static readonly ID = 'editor.action.customEditor.save';
constructor() {
super({
id: SaveCustomEditorCommand.ID,
precondition: CONTEXT_HAS_CUSTOM_EDITORS,
kbOpts: {
primary: KeyMod.CtrlCmd | KeyCode.KEY_S,
weight: KeybindingWeight.EditorContrib
}
});
}
... // fully implemented runCommand function
}).register();
就像命令一样,按CMD+S
仅保存更改,仅此而已。但是,如果我要将KeyCode从KEY_S更改为 KEY_Y (因为CMD+Y
还不存在),则save-to-preview命令将按预期工作。将weight
中的kbOpts
属性设置为较高的枚举不会不更改任何内容。
我确定在VSCode源代码中的某个位置,File / Save CMD+S
命令具有最高优先级,但是鉴于我的命令仅应在上下文具有自定义编辑器的前提下运行,我想知道是否我可以某种方式强制我的“保存和预览”命令运行,而不是简单的通用“保存”命令。
任何指针或指导将不胜感激;这是我对任何开源的第一项贡献!
如果对于“保存并预览”键绑定,保留CMD+Y
是更可行的做法,那么这对我有用,但是如果可能的话,我希望至少尝试使用CMD+S
。