在 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起作用?

编辑:

我所做的是:

你可以在中看到更详细的内容。

您没有详细说明您的尝试。在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.

加载它们时,在编辑器中设置热键可能会很有意义