在 MySQL Workbench for Windows 中使用 Ctrl+Shift+Z 作为重做操作的快捷方式
Use Ctrl+Shift+Z as a shortcut for the Redo action in MySQL Workbench for Windows
在 Windows 上,MySQL Workbench 中的 Redo 操作映射到 Ctrl+Y 键盘快捷键(看起来自 september 2009). I would like to use Ctrl+Shift+Z. However, pressing this combination prints a SUB
character in the current tab, which I interpret as a substitute character.
以来一直如此
根据 SO answer,我应该可以在 main_menu.xml
文件中更改它。这样做并重新启动 MySQL Workbench 后,新的键盘快捷键正确出现在编辑菜单中,但按下相应的键仍然回显一个 SUB
字符。
有没有办法让Ctrl+Shift+Z起作用?
编辑:
我所做的是:
- 在
id="com.mysql.wb.menu.edit.redo"
的元素中将快捷方式更改为 Modifier+Shift+Z
- 将快捷方式更改为带有
id="com.mysql.wb.menu.database.sync_mysql_script"
的元素中的其他快捷方式(使用 Modifier+Shift+Z
)。
你可以在中看到更详细的内容。
您没有详细说明您的尝试。在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>
也许你忽略了这一点。
不幸的是,MySQL Workbench 中的键盘处理并不总是集中的。特别是编辑器控件 (Scintilla) 有自己的键盘方案,不受 xml 中定义的内容的影响。从 xml.
加载它们时,在编辑器中设置热键可能会很有意义
在 Windows 上,MySQL Workbench 中的 Redo 操作映射到 Ctrl+Y 键盘快捷键(看起来自 september 2009). I would like to use Ctrl+Shift+Z. However, pressing this combination prints a SUB
character in the current tab, which I interpret as a substitute character.
根据 SO answer,我应该可以在 main_menu.xml
文件中更改它。这样做并重新启动 MySQL Workbench 后,新的键盘快捷键正确出现在编辑菜单中,但按下相应的键仍然回显一个 SUB
字符。
有没有办法让Ctrl+Shift+Z起作用?
编辑:
我所做的是:
- 在
id="com.mysql.wb.menu.edit.redo"
的元素中将快捷方式更改为 - 将快捷方式更改为带有
id="com.mysql.wb.menu.database.sync_mysql_script"
的元素中的其他快捷方式(使用Modifier+Shift+Z
)。
Modifier+Shift+Z
你可以在
您没有详细说明您的尝试。在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>
也许你忽略了这一点。
不幸的是,MySQL Workbench 中的键盘处理并不总是集中的。特别是编辑器控件 (Scintilla) 有自己的键盘方案,不受 xml 中定义的内容的影响。从 xml.
加载它们时,在编辑器中设置热键可能会很有意义