在Windows上,MySQL Workbench中的 Redo 操作被映射到 Ctrl + Y 键盘快捷键(看起来一直如此)从september 2009开始。我想使用 Ctrl + Shift + Z 。但是,按此组合会在当前标签中打印SUB
字符,我将其解释为substitute character。
根据SO answer,我应该可以在main_menu.xml
文件中更改它。执行此操作并重新启动MySQL Workbench后,新的键盘快捷键正确显示在“编辑”菜单中,但按相应的键仍然会回显SUB
个字符。
有没有办法让 Ctrl + Shift + Z 工作?
编辑:
我所做的完全是:
Modifier+Shift+Z
id="com.mysql.wb.menu.edit.redo"
id="com.mysql.wb.menu.database.sync_mysql_script"
(使用Modifier+Shift+Z
)将快捷方式更改为元素中的其他快捷方式。您可以在Thomas Dickey's answer中看到更详细的内容。
答案 0 :(得分:1)
您没有详细说明您尝试过的内容。在main_menu.xml
中,我看到了
<value type="object" struct-name="app.MenuItem" id="com.mysql.wb.menu.edit.redo">
<link type="object" key="owner" struct-name="app.MenuItem">com.mysql.wb.menu.edit</link>
<value type="string" key="caption">Redo</value>
<value type="string" key="name">redo</value>
<value type="string" key="command">builtin:redo</value>
<value type="string" key="itemType">action</value>
<value type="string" key="shortcut">Modifier+Y</value>
<value type="string" key="platform">windows,linux</value>
</value>
<value type="object" struct-name="app.MenuItem" id="com.mysql.wb.menu.edit.redomac">
<link type="object" key="owner" struct-name="app.MenuItem">com.mysql.wb.menu.edit</link>
<value type="string" key="caption">Redo</value>
<value type="string" key="name">redo</value>
<value type="string" key="command">builtin:redo</value>
<value type="string" key="itemType">action</value>
<value type="string" key="shortcut">Modifier+Shift+Z</value>
<value type="string" key="platform">macosx</value>
</value>
这两个块在多个地方不同,所以我不会更改platform
值。改变行
<value type="string" key="shortcut">Modifier+Y</value>
到
<value type="string" key="shortcut">Modifier+Shift+Z</value>
似乎可行。但是,在文件的后面有一个现有的定义,如果你刚刚进行了更改就会发生冲突:
<value type="object" struct-name="app.MenuItem" id="com.mysql.wb.menu.database.sync_mysql_script">
<link type="object" key="owner" struct-name="app.MenuItem">com.mysql.wb.menu.database</link>
<value type="string" key="caption">Synchronize Model...</value>
<value type="string" key="name">synchronization</value>
<value type="string" key="command">plugin:db.mysql.plugin.sync.db</value>
<value type="string" key="itemType">action</value>
<value type="string" key="shortcut">Modifier+Shift+Z</value>
<value type="string" key="platform">windows,linux</value>
<value type="string" key="context">*model</value>
</value>
也许你忽略了这一点。
答案 1 :(得分:1)
不幸的是,MySQL Workbench中的键盘处理并不总是集中的。特别是编辑器控件(Scintilla)有自己的键盘方案,不受xml中定义的内容的影响。从xml加载热键时,在编辑器中设置热键可能会很有意义。