Skip to content
This repository has been archived by the owner on Mar 17, 2022. It is now read-only.

(http://bit.ly/tracker_keybindings - Tracker Team fork with support for legacy Keybindings) CLI for installing and tracking your IDE preferences over time.

License

Notifications You must be signed in to change notification settings

vmware-archive/pivotal_ide_prefs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pivotal IDE Prefs

Tracker Specific Instructions

Getting Upstream Updates

STOP! DO NOT MERGE UPSTREAM TO GET UPDATES. INSTEAD, DO THIS:

  • Make sure upstream is checked out as a remote named 'upstream'
  • get fetch --all
  • git pull
  • git rebase -i $(git merge-base HEAD upstream/master)
  • Fixup everything into the single existing 'STOP' commit
  • git push --force-with-lease
  • git rebase upstream/master
  • Resolve any conflicts
  • git push --force-with-lease

Adding/Modifying custom keybindings

  • Don't delete any files!
  • If you want to extend something, add a new file with the appropriate "Pivotal" one as the parent, and only add deltas for what you want to change.

Other Instructions

See Tracker-Team-specific notes and additional manual setup at http://bit.ly/tracker_keybindings (bottom)


This repo provides both a superset of the Mac OS X 10.5+ keybindings for JetBrains IDEs, as well as a team-centric workflow for tracking and syncing IDE customizations over time.

Requires

To run the installer, you will need Ruby 2.0+.

History

Once upon a time, RubyMine shipped with keybindings that made no sense to anyone who had ever used a Mac. Hence, the Pivotal RubyMine preferences were born. Originally just a project for managing RubyMine preferences, it now includes preferences for multiple JetBrains IDEs. For each IDE, we offer:

  • Keymaps (powerful supersets of the JetBrains Mac OS X 10.5+ default keybindings)
  • Pivotal Code Styles
  • Live Templates

Today, this project is not only a repository of Pivotal's preferences for Jetbrains IDEs – it's also a recommended workflow for tracking your team's customizations to IDE preferences.

Installation

First, close your Jetbrains IDE.

Then, run the following commands:

git clone https://github.com/pivotal/pivotal_ide_prefs
cd pivotal_ide_prefs
cli/bin/ide_prefs install --ide=intellij
# ide flag can be any of [rubymine,intellij,intellijcommunity,webstorm,androidstudio,appcode,clion,gogland,pycharm]

This will install the preferences into your IDE of choice; it will default to installing preferences into the latest version of the IDE installed on your machine; if no IDE is installed on your machine, then it will install into the "default" version configured in pivotal_ide_prefs. If you want to find the default version for your IDE, look in cli/lib/cli/ide/<IDE>_user_pref_dir.rb.

If you do not want the preferences setup for the newest version of the IDE installed on your machine (or the default configured in pivotal_ide_prefs), you can override the preference directory location with the --user-prefs-location.

For example, imagine you had IntelliJ 2016.2, 2016.3, and 2017.1 installed on your machine. In this case, pivotal_ide_prefs will install to the latest version of the IDE installed on your machine: 2017.1. If you also wanted to install it to 2016.3 or 2016.2, you would need to use the --user-prefs-location flag:

cli/bin/ide_prefs install --ide=intellij --user-prefs-location=/Users/pivotal/Library/Preferences/IntelliJIdea2016.3

Tracking changes

The installation process symlinks the pivotal preferences into your IDE's preferences folder. Thus, as you and your team change your preferences inside your IDE, your clone of the preferences will note the changes, and you can commit and push those changes to your own fork (or even submit pull requests back to the Pivotal repo for anything you think is generally useful).

Uninstall

If you'd like to uninstall the pivotal preferences and restore your original settings, first, close your IDE. Then open a terminal and run the following commands:

cd /path/to/your/pivotal_ide_prefs/cli
bin/ide_prefs uninstall --ide=[rubymine,intellij,intellijcommunity,androidstudio,appcode,clion,gogland,pycharm]

Contributing New Preferences

If you'd like to add preferences for another IDE, simply:

  1. Create a new folder in the pref_sources directory, and add any preferences to it that you want to manage for that IDE into the appropriate folders that the IDE calls for. See the existing folders there for examples.
  2. Create a new UserPrefDir class inside cli/lib/cli/ide. This class must respond to a single method, #path, which tells the installer where to install the preferences to on the system.
  3. Modify cli/bin/ide_prefs.rb to include the IDE
  4. Update the README, indicating that another IDE has been added to the installer.

Migrating from Pivotal-Preferences-RubyMine

If your team is already maintaining their rubymine preferences via the now-deprecated Pivotal-Preferences-RubyMine, simply do the following to migrate:

  1. Close RubyMine.

  2. Uninstall the old prefs:

     cd /path/to/your/Pivotal-Preferences-RubyMine
     ./mineprefs uninstall
    
  3. Copy your old prefs into pivotal_ide_prefs.

     cd /path/to/your/pivotal_ide_prefs
     cp -r /path/to/your/Pivotal-Preferences-RubyMine/RubyMineXX/* pref_sources/RubyMine/
    
  4. Re-install your preferences using pivotal_ide_prefs (see the Installation section above).

About

(http://bit.ly/tracker_keybindings - Tracker Team fork with support for legacy Keybindings) CLI for installing and tracking your IDE preferences over time.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 98.6%
  • Gherkin 1.4%