Customizing Keyboard Shortcuts in MySql Workbench

MysqlKeyboard ShortcutsCustomizationMysql Workbench

Mysql Problem Overview


Having spent a number of years working primarily with MS SQL Server (and hence SQL Server Management Studio for common tasks), I am now beginning to work with MySql. To date I have been using MySQL Workbench and am generally happy with it.

I would, however, like to be able to assign custom keyboard shortcuts for certain commands (e.g. commands from http://dev.mysql.com/doc/workbench/en/wb-keys.html">this list). For example, I'd prefer to stick to the MS-SQL approach of 'F5' to execute queries, rather than hitting 'Modifier+Return'. I haven't yet come across a simple way to do this. My questions are then:

  • Is this possible somehow in MySQL Workbench (e.g. additional plugin)?
  • If not, do any of the alternatives to MySQL Workbench offer this functionality?

Environment:

  • Ubuntu 12.04 LTS, 32 bit
  • MySQL server version 5.5.24-0ubuntu0.12.04.1
  • MySQL Workbench Version 5.2.38, rev 8753

Cheers!

Mysql Solutions


Solution 1 - Mysql

You can modify the main_menu.xml file (for me on Ubuntu 12.04 this was in /usr/share/mysql-workbench/data/). After you modify it, you'll need to restart MySQL Workbench.

It'll look like this

    <value type="object" struct-name="app.MenuItem" id="com.mysql.wb.menu.query.exec"> 
      <link type="object" key="owner" struct-name="app.MenuItem">com.mysql.wb.menu.query</link> 
      <value type="string" key="caption">Execute (All or Selection)</value> 
      <value type="string" key="name">query.execute</value> 
      <value type="string" key="command">builtin:query.execute</value> 
      <value type="string" key="itemType">action</value> 
      <value type="string" key="shortcut">Modifier+E</value>
    </value>

The second to last line (Modifier+E) was edited by me. Previously it said "Modifier+Shift+Return". Note that this is NOT an alias (you cannot have both).

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionsammy34View Question on Stackoverflow
Solution 1 - MysqlTyler CollierView Answer on Stackoverflow