Sync issue between platform keymappings
I initially setup my editor on Windows 7 Pro x64. I created a Settings Repo in my Dropbox and then connected one of my El Capitan Macbook Pro's to the setting repository and "Overwrote Local" to bring down the settings.
Though I'm initially miffed about there being a lot of settings that I don't see properly brought down, the one thing that's bothersome is the keymaps.
On Windows, I want my ALT button to map to my Mac's CMD (for muscle memory reasons) So on Windows, ALT + SHIFT + S should be CMD + SHIFT + S on Mac.
When Mac imported the keymaps, it replaces ALT in Windows with Options in Mac. Is there a way I can support defining per-OS keymappings?
This got me thinking about all the things in my Windows Environment (paths, etc.) that are unique per OS, and how that would affect my Mac env when sharing settings repository. IE, when I map to my Node EXE in a project/default setting, how does Mac make sense of this? Hopefully it would read from a unique (currently unset until I map it on the OSX) value so I can support different paths between OS.
Also, another question. If both my Windows and Mac machines are set to AUTO SYNC, how do they know which is the authoritative platform? IE, if a local Windows copy was different from the Settings Repo, would it always see the Repo as the authority and pull down, or do I need to disable Auto Sync and manually choose "Overwrite Local/Remote"?
Please sign in to leave a comment.
You can select a predefined keymap in Keymap preferences. But it won't help with switching Opt to Alt in your case.
> Node EXE
This is a project-wide setting. This means that the path to node.exe would be copied over if you try to copy the project over to Mac. You would have to correct paths on Mac if you need NodeJS integration there.
> If both my Windows and Mac machines are set to AUTO SYNC, how do they know which is the authoritative platform?
As far as I remember the most up to date copy is considered as authoritative.
1. So once I've imported the Windows-based keymaps down to my Mac machine, you're saying go back to each mapping an add an additional second mapping using the Mac's CMD button in replace of the Windows ALT to keep both similar?
2. Isn't that problematic? It seems by its very nature, PHPStorm does not have cross-OS/OS-agnostic functionality built in. With Sublime Text, their settings had 3 subkeys: .linux, .win and .osx for the 3 platforms they supported. When you set a value that used platform-specific pathing or keys, it would go into the subkey for the OS you were on. So when the project propagates to other machines (on other platforms) they could populate those keys with their respective paths/keys. I would REALLY like to see PhpStorm support something like this, as setting the project's NODE path on my Mac would then invalidate the project next time it's sync'd from a Windows platform.
3. So it uses a time stamp? The latest is considered the authority? Do you have a list of things that the settings repo DOES share, as I'm noticing certain things (like Window layouts and such) aren't sync'd between environments.