Keymap not transitioned to 3.0?

I've been using 2.5.3.  I just launched AppCode 3.0.  My keymap is not being respected.  "Control - N' does not trigger "Implement method" menu, etc...

I tried exporting my settings from 2.5.3 and importing into 3.0 with the same results.

Is there something obvious I'm missing?

5 comments
Comment actions Permalink

David, do you have a custom keymap?
You can first check if it was imported in Preferences | Keymaps, and then check the shortcuts.

Plese note that default Xcode has been changed rather dramatically in 3.0 to be more compatible with Xcode and OS X.

0
Comment actions Permalink

Here's what i did back in 2.x.

Preferences | Keymaps -> I started with the XCode keymap.

I copied it and named it "XCode mine".

I then proceeded to change keymaps to make things easier for me to remember.  For instance, I changed most of the "Refactor->Extract->..." commands to be the control key (^) + plus a letter.  I did this to match "^N", which I'd gotten used to.

At this point, I was unsure whether I had my own copy, or merely an XCode base with my changes overlayed.  I assume I'll soon find out from you :).

When I launched 3.0, the first thing I did was try "^N" to implement methods for a Protocol.  Nothing happened.

I then relaunch XCode 2.5.3 and exported all settings via "File | Export Settings...".

I then relaunched XCode 3.0 and importing those settings.

"^N" yielded the same effect (None).

Going to Preferences | Keymaps in 3.0 shows that "XCode Mine" is still selected.

I would have assumed one of two things would have happened:

1. Any new changes to the XCode keymap would be reflected in "XCode mine" unless I had changed the shortcut for it, in which case my changed shortcut would prevail.
2. My keymap in "XCode mine" would be preserved completely, and no shortcuts would be different.

0
Comment actions Permalink

Ah, Ok.

It would seem that perhaps this has happened:

1. Any new changes to the XCode keymap would be reflected in "XCode mine" unless I had changed the shortcut for it, in which case my changed shortcut would prevail.


It looks like many (all probably) of my changes are preserved, but I apparently didn't set ^N in the first place.  That probably comes from the original keymap.

Sorry I didn't suss this out originally.  I thought I had tried another of my shortcut changes and it didn't work, and I immediately went back to 2.5.3 in order to stay productive.

So, at this point I've been using AppCode for over two years and I'm not sure if I really want my keymap updated at all, even with different defaults to match XCode.  I don't even bother to learn shortcuts in XCode anymore as I spend little time there.  :)

It's not likely to be that big a deal, but assuming option 1. above is the way things work ( a custom keymap layered on a base), is there anyway to accomplish 2?  

2. My keymap in "XCode mine" would be preserved completely, and no shortcuts would be different.

(If no, I don't think it is important to be supported.  At least not yet.)
0
Comment actions Permalink

David,
first of all, apologies for this inconvenience and the productivity loss.
Still, we have dont this intentionally, knowing, that this may be an issues for someone at first, we really want Xcode keymap to be as close to the original as possible.

If you want to keep the original Xcode keymap, you may make a copy of /Applications/AppCode 2.5.app/lib/resources.jar/idea/Keymap_Xcode.xml to ~/Library/Preferences/appCode30/keymaps/, change name from "Xcode" to "Something to your taste" and apply the customizations you have to it in AppCode.
Is it a passable workaround for you?

0
Comment actions Permalink

Oh, no need for apologies!  I just simply went back to the wonderful 2.5.3 instead of immediately using the wonderful 3.0.

And I fully agree that you should keep the XCode keymap as close to XCode as possible, especially for new users.

I'm not sure I need a workaround, but are you saying i have to save the old keymap and then *reapply my changes manually via the shortcut UI*??

That would be awful.  I'd rather just live with the layered on top of the new XCode keymap.  It actually seems to be going ok.

Is there a way just by copying files to get my changes layered onto the old keymap?
Like change XCode to "XCode old"
and then find my keymap changes which presumably points to a parent keymap in xml or something, and change it to point to "XCode old"?

At this point, I think i'm mostly just curious in case this comes up again.

0

Please sign in to leave a comment.