if (isMacintosh) {
undo = this.createDevToolsAwareMenuItem(nls.localize({ key: 'miUndo', comment: ['&& denotes a mnemonic'] }, "&&Undo"), 'undo', devTools => devTools.undo());
redo = this.createDevToolsAwareMenuItem(nls.localize({ key: 'miRedo', comment: ['&& denotes a mnemonic'] }, "&&Redo"), 'redo', devTools => devTools.redo());
cut = this.createRoleMenuItem(nls.localize({ key: 'miCut', comment: ['&& denotes a mnemonic'] }, "Cu&&t"), 'editor.action.clipboardCutAction', 'cut');
copy = this.createRoleMenuItem(nls.localize({ key: 'miCopy', comment: ['&& denotes a mnemonic'] }, "&&Copy"), 'editor.action.clipboardCopyAction', 'copy');
paste = this.createRoleMenuItem(nls.localize({ key: 'miPaste', comment: ['&& denotes a mnemonic'] }, "&&Paste"), 'editor.action.clipboardPasteAction', 'paste');
} else {
undo = this.createMenuItem(nls.localize({ key: 'miUndo', comment: ['&& denotes a mnemonic'] }, "&&Undo"), 'undo');
redo = this.createMenuItem(nls.localize({ key: 'miRedo', comment: ['&& denotes a mnemonic'] }, "&&Redo"), 'redo');
cut = this.createMenuItem(nls.localize({ key: 'miCut', comment: ['&& denotes a mnemonic'] }, "Cu&&t"), 'editor.action.clipboardCutAction');
copy = this.createMenuItem(nls.localize({ key: 'miCopy', comment: ['&& denotes a mnemonic'] }, "&&Copy"), 'editor.action.clipboardCopyAction');
paste = this.createMenuItem(nls.localize({ key: 'miPaste', comment: ['&& denotes a mnemonic'] }, "&&Paste"), 'editor.action.clipboardPasteAction');
}
比如这里很多 &&,到底啥意思?
1
geelaw 2020-05-11 16:17:17 +08:00 1
注释里提示了是助记按键,即键盘快捷方式。
很多菜单项、命令按钮的某个字母下会有一个下划线,这表示使用 那个字母 的按键或者 Alt+那个字母 可以激活那个菜单项、命令按钮。 举个例子,在 Windows 上打开记事本,然后按 Alt+O 再按 F 可以打开字体对话框。 |
2
vevlins OP @geelaw 还是不太明白, &&Paste 在屏幕上实际显示 Paste,也没有显示快捷键提示,像 Cu&&t 看起来就更奇怪了,这个快捷键如何触发呢?
|
3
geelaw 2020-05-11 17:03:45 +08:00 1
@vevlins 因为最近的 Windows (大概是 Windows Vista 或者 7 开始的)默认不显示提示。这个技能也不是那么久远的故事,感觉我在回答电脑操作 101 。
Cut 的触发方式自然是按 T,例如在 VSCode 里面,打开 Edit 菜单后按 T,会在 Cut 和 Toggle Line Comment 之间反复切换高亮项,在切换到 Cut 后按 Enter 就可以触发,这是因为 Toggle Line Comment 的快捷方式也是 T ;如果是 Copy,因为 Edit 里面只有 Copy 的快捷方式是 C,所以按 C 会直接触发。 如果你使用 Alt+E 打开 Edit 菜单,则无论什么设置都会显示每个菜单项的快捷方式,这里的逻辑是用户明显表达了使用键盘导航的意愿。 如果你想永远显示快捷方式的下划线,可以在 Windows 的 Settings | Ease of Access | Keyboard 里打开 Underline access keys when available 。 同理,标准的 Yes/No 对话框可以按 Y 或者 N 进行回答,无论是否有下划线。 |