Key Mapping Interchange between IDEs

I use 5 of the Jet Brains products and I'm _constantly_ trying to fix my key mappings between each of them to be consistent with the set I memorized a dozen years back.

I completely understand that not all key mappings make sense in all IDEs. However, the bulk of the commands are the same across IDEs.

I've tried exporting/importing key mappings from and into phpStorm, Rider, AppCode, DataGrip and WebStorm every way I can think of and in both directions. I've tried using a settings repository in git. I've tried configuring Toolbox to set the same configuration folder for all applications.

If you guys could *please* tell me how to do this correctly it would be greatly appreciated. 

I don't care if it is some complex solution where I have to hook my own code into your stack somehow. Just tired of having this problem.

11 comments
Comment actions Permalink

Please can you specify what problems sharing keymaps between IDEs (using Settings repository) you have faced?

0
Comment actions Permalink

The fundamental problem statement is this:

If I set up a keyboard shortcut for "Split Vertical" as "^S,V" in WebStorm, I then have to go assign it manually in Rider, DataGrip, RubyMine, AppCode, PHPStorm, and PyCharm.

I've tried synchronizing settings through a git repository, and I've tried exporting and importing settings. I've tried creating "custom keymaps" and that has also failed.

The following is a detailed walk through on one of the many attempts I've made to get the keybindings synchronizing between the IDEs.

0) Freshly install WebStorm and Rider, select the "Do not import settings" option on initial startup

1) Open WebStorm, Open Preferences, Navigate to Keymap

2) Create a copy of "Mac OS X 10.5+" and name it "Adam-Custom"

3) Assign the keyboard short cut "^S, V" to "Split Vertically"

4) Open the File Menu and select 'Settings Repository'

5) In the dialog that opens, input the repository path

6) Select the "Overwrite Remote" option, then close WebStorm

7) Open Rider

8) Open the File Menu and select 'Settings Repository'

9) Provide the same repository path

10) Select the "Overwrite Local" option

11) Open Preferences and navigate to Keymap

12) When I open the Keymap drop down list and look for "Adam-Custom", it is not present

I've also tried the above steps by just modifying the built in key mappings like "Mac OS X 10.5+"
Even though "Mac OS X 10.5+" exists in both Rider and WebStorm, changes to one key mapping are not synchronized to the key mapping of the same name in the other IDE.

Consider that one of JetBrain's advantages is that nearly every function of the software can be key mapped. I love that aspect. So long as I was only using one of your IDEs, this problem never came up. Now that I've decided I like your product enough to replace all of my IDEs with your tools, I have this issue.

I'm really hoping that I have missed something obvious and that there is a simple fix to this.

1
Comment actions Permalink

Looks similar to https://youtrack.jetbrains.com/issue/IDEA-147760

When I hit "Overwrite Local" for the first time, settings are actually synchronized (files copied to current IDE configuration dir), but aren't applied (i.e. I can't see my keymaps, etc. when I open preferences). Restarting the IDE or running "Overwrite Local" for the second time fixes the issue

0
Comment actions Permalink

I run into the same problem as Adamlenda. I use several Jetbrains product and love the ability to remap keys. But I have to do this for every product:

- Webstorm

- Goland

- Pycharm

- Datagrip

It quickly adds up.

 

As a user I want to have my keymapping shared between all ide's.

9
Comment actions Permalink

I found that, after syncing the settings repository, by pressing "overwrite local", I needed to select the keyboard mapping. For example, if in one tool I had made a keymap called "default-copy", then in the second tool, after syncing, I had to go into settings and select the "default-copy" keymap. (The same is true for the color scheme.)

2
Comment actions Permalink

I have never gotten this to work, it is downright embarrassing at this point.

They have the best IDE's in the market, and they have never been able to make this seemingly simple thing work.

I'm seriously considering switching this shit is driving me crazy.

1
Comment actions Permalink

charles sanders

It is a pain in the but for sure. I've got it working using the settings repo solution.

The built-in settings sharing feature has never worked right for me.

At this point, I have even setup additional "read only" repos for sharing settings within specific teams w/o messing with my globally shared settings.

Hit me up on Skype (adam.lenda) and I'll try to help you through it.

--Adam

1
Comment actions Permalink

@Cluengo thank you that worked for me. (https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000553984/comments/360000303240)

It seems PyCharm was in fact syncing to my settings repository (which is an export of my IntelliJ settings), but it was not then automatically choosing the custom keymap. This actually makes sense since you're just saving all of your settings to the settings repository, without a concept of the "currently active" keymap but it does seem to be creating a common gotchya even for very experienced users like myself and others posting here.

0
Comment actions Permalink

I just use PHPStorm and PyCharm (on Mac and Linux), and doesn´t understand why I have to use two Keyboard Shortcuts on some actions.  For example:

Delete Complete Line (Mac)

  • PHPStorm: Cmd+BackSpace
  • PyCharm: Cmd+Y

And there are others, like Run, Select Word, Find Next, Close Tab, and etc

Would be nice to remember just one keyboard map

 

0
Comment actions Permalink

The trick for me with syncing me keymap is what Cluengo mentioned: simply syncing the settings wasn't enough, I needed to select the custom keymap from the dropdown in the keymap settings. My IDE didn't pick up automatically that I wanted to use the custom keymap. It was still using the default. Thanks for the tip Cluengo!

0

Please sign in to leave a comment.