Tuesday, August 26, 2025

Orcle SQL Developer Macro Record Bug Fix

 

Fix found at: https://forums.oracle.com/ords/apexds/post/20-2-record-macro-broken-3678

The actual problem is that the configuration goes to the wrong section of a settings.xml file.
Here is what to do to make it work again (extract from my SR):
Therefore what I did:
1. Closed freshly installed SQL Developer
2. Opened settings file:
notepad "%APPDATA%\SQL Developer\system19.4.0.354.1759\o.ide.13.0.0.1.42.190403.1502\settings.xml"
3. found "toggle-macro-recording" Item under the "oracle.ide.keyboard.KeyStrokeOptions" key:

<Item class="oracle.javatools.util.Pair">

<first class="java.lang.String">toggle-macro-recording</first>

<second class="oracle.ide.keyboard.KeyStrokes">

<data>

<Item class="javax.swing.KeyStroke">F11</Item>

</data>

</second>

</Item>

4. cut it to the clipboard so it doesn't exist anymore under the "oracle.ide.keyboard.KeyStrokeOptions" key
5. found the "oracle/ide/ceditor/keymap/accelerators.xml" key below.
6. paste the item after the "<data>" tag of the "oracle/ide/ceditor/keymap/accelerators.xml" key so that the key now looks like

<Key>oracle/ide/ceditor/keymap/accelerators.xml</Key>

<Value class="oracle.ide.keyboard.KeyStrokeMap">

<data>

<Item class="oracle.javatools.util.Pair">

<first class="java.lang.String">toggle-macro-recording</first>

<second class="oracle.ide.keyboard.KeyStrokes">

<data>

<Item class="javax.swing.KeyStroke">F11</Item>

</data>

</second>

</Item>

7. Saved and closed the notepad.
8. Opened freshly installed SQL Developer and now F11 works as intended.

I don't know why Oracle can't fix this, probably they need to hire a programmer.