├── .gitignore ├── CONTRIBUTING.md ├── README.md ├── build ├── builds ├── .gitignore ├── osx-key-mappings.jar ├── styles-only.jar └── win_linux-keymaps-only.jar ├── osx-key-mappings ├── keymaps │ ├── Mac OS X 10_5_ Sublime.xml │ └── OSX_Keymaps.jar └── options │ └── keymap.xml ├── screenshot.png ├── styles-only ├── codestyles │ ├── Default _1_.xml │ ├── Default _2_.xml │ └── Default _3_.xml ├── colors │ ├── Eighties.icls │ ├── LICENSE │ ├── README.md │ ├── SpacePeacock.icls │ └── Spacegray.icls └── options │ ├── code.style.schemes.xml │ └── colors.scheme.xml └── win_linux-keymaps-only ├── keymaps ├── Default copy.xml └── Default for GNOME copy.xml └── options └── keymap.xml /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by https://www.gitignore.io/api/intellij 2 | 3 | ### Intellij ### 4 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio 5 | 6 | *.iml 7 | 8 | ## Directory-based project format: 9 | .idea/ 10 | # if you remove the above rule, at least ignore the following: 11 | 12 | # User-specific stuff: 13 | # .idea/workspace.xml 14 | # .idea/tasks.xml 15 | # .idea/dictionaries 16 | 17 | # Sensitive or high-churn files: 18 | # .idea/dataSources.ids 19 | # .idea/dataSources.xml 20 | # .idea/sqlDataSources.xml 21 | # .idea/dynamic.xml 22 | # .idea/uiDesigner.xml 23 | 24 | # Gradle: 25 | # .idea/gradle.xml 26 | # .idea/libraries 27 | 28 | # Mongo Explorer plugin: 29 | # .idea/mongoSettings.xml 30 | 31 | ## File-based project format: 32 | *.ipr 33 | *.iws 34 | 35 | ## Plugin-specific files: 36 | 37 | # IntelliJ 38 | /out/ 39 | 40 | # mpeltonen/sbt-idea plugin 41 | .idea_modules/ 42 | 43 | # JIRA plugin 44 | atlassian-ide-plugin.xml 45 | 46 | # Crashlytics plugin (for Android Studio and IntelliJ) 47 | com_crashlytics_export_strings.xml 48 | crashlytics.properties 49 | crashlytics-build.properties 50 | 51 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Thank you for your interest in contributing. 4 | 5 | ##Getting Started 6 | 7 | Fork, then clone the repo: 8 | 9 | git clone git@github.com:your-username/PHPStorm-SpacePeacock.git 10 | 11 | Make changes to [keymappings](#keymaps) or [styles](#styles) 12 | 13 | Build and test your configuration. 14 | 15 | Commmit and Push to your fork and [submit a pull request][pr]. 16 | 17 | [pr]: https://github.com/ShawnMcCool/PHPStorm-SpacePeacock/compare/ 18 | 19 | ##Keymaps 20 | Make changes to both `osx-key-mappings` and `win_linux-keymaps-only`. 21 | One key combo change per commit. 22 | Build and test. 23 | 24 | ##Styles 25 | Make changes to the styles xml in `styles-only` and commit changes. 26 | Build and test. 27 | 28 | ##Build 29 | Rebuild from xml using the `build` script in the project root. 30 | 31 | **build** 32 | ``` 33 | build [config_folder_name] 34 | ``` 35 | 36 | ####config_folder_name 37 | Name of the config folder. This will be used to produce the jar's filename. 38 | 39 | * osx-key-mappings 40 | * styles-only 41 | * win_linux-keymaps-only 42 | 43 | Upon run the build will be output into `builds` 44 | Import and test that the change is accepted. 45 | 46 | **Be sure you have a backup of your original settings in case** 47 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PHPStorm-SpacePeacock v1.8 2 | 3 | July 28th, 2014 4 | 5 | A Sublime Text keybinding and keymap total-conversion for PHPStorm, RubyMine, IntelliJ IDEA, PyCharm, WebStorm, CLion and ReSharper. With colors based on [SpaceGray](http://kkga.github.io/spacegray/) and [Peacocks in Space](https://github.com/daylerees/colour-schemes/blob/master/PeacocksInSpace.tmTheme) and Sublime Text keymappings. 6 | 7 | ![SpacePeacock Screenshot](https://raw.githubusercontent.com/ShawnMcCool/PHPStorm-SpacePeacock/master/screenshot.png) 8 | 9 | Some syntax types have not been updated. I'd be happy to accept pull requests that updated unsupported syntax types to match the php styles. In general though, things work nicely. 10 | 11 | ## Installation 12 | 13 | - Download this project (or just the .jar file) to your computer. 14 | 15 | - In PHPStorm under settings, choose the Darcula theme. 16 | 17 | - In PHPStorm, choose File -> Import Settings, and import the .jar file. (If you don't see the File menu, you may need to open a directory or a project first.) 18 | 19 | - Install the plugin [ColorIDE](http://plugins.jetbrains.com/plugin/7055?pr) to set the colors of the rest of the IDE. 20 | 21 | > If you are using OSX then you need import `PHPStorm-SpacePeacock-osx-key-mappings.jar` after importing the main theme. This will fix your OSX specific keybindings. 22 | 23 | ## Font Rendering 24 | 25 | The font used in the screenshot is Source Code Pro. 26 | 27 | If you are using Linux then you may need to alter your bin/phpstorm.vmoptions (for 32-bit) or bin/phpstorm64.vmoptions (for 64-bit) to remove the useSystemAAFontSettings declaration and replace it with these three lines: 28 | 29 | It's important that you back up your settings and compare the results both ways. In Ubuntu 13.10 these settings improved the display dramatically. In 14.04 these settings actually reduce the quality slightly. 30 | 31 | -Dswing.aatext=true 32 | -Dsun.java2d.xrender=true 33 | -Dawt.useSystemAAFontSettings=gasp 34 | 35 | Use Oracle's Java 8 if you want the best font rendering on Linux possible. More info here: https://intellij-support.jetbrains.com/entries/23455956-Selecting-the-JDK-version-the-IDE-will-run-under 36 | 37 | ## Key Maps 38 | 39 | The key mapping has been updated to better fit Sublime Text conventions. Because I didn't think that `ctrl + shift + alt + t` is a reasonable key combination for something as frequently used as **Refactor This**. 40 | 41 | Additionally, "search everywhere" HAD to be changed because double-tapping left-shift is a two stroke trigger. This is a problem because as you're working the IDE will be busy with analyzing, indexing, and all of the things that IDEs do. If it's busy when you try to hit the first left-shift, then the second left-shift won't pop up the window. As far as user interfaces go, you should never have any lack of confidence that an action will trigger the appropriate response. Once you have that, you have to visually check each operation which is slow and creates cognitive overhead. Consequently, this was changed to `ctrl + p` (also to match Sublime Text) which completely removes this problem. 42 | 43 | `ctrl + p` search everywhere 44 | 45 | `ctrl + r` search methods in current file 46 | 47 | `ctrl + alt + p` change projects 48 | 49 | `ctrl + shift + enter` complete current statement 50 | 51 | `ctrl + alt + enter` refactor this 52 | 53 | `alt + enter` show intended actions (intentions are one of my favorite part JetBrains software) 54 | 55 | `ctrl + n` new thing dialog 56 | 57 | `ctrl + shift + f` format code 58 | 59 | `ctrl + d` select word at cursor, or if a word is selected the select the next occurrence of the word (multiple-cursors) 60 | 61 | `ctrl + t` run tests 62 | 63 | `ctrl + alt + h` show local history 64 | 65 | `ctrl + alt + r` git conflict merge tool 66 | 67 | There are others, as I think of them, I'll add them here. 68 | 69 | ## Changelog 70 | 71 | 72 | ### 1.8 73 | 74 | Separate Styles / Keymaps files 75 | Add Blade Templating styles 76 | 77 | ### 1.7 78 | 79 | `ctrl + t` now runs tests 80 | `ctrl + alt + h` now shows local history 81 | `ctrl + alt + r` now shows the git merge tool 82 | 83 | ### 1.6 84 | 85 | add more Linux-specific documentation 86 | upgrade to support `ctrl + d` mapping 87 | 88 | ### 1.5 89 | 90 | add OSX key mappings 91 | improve various templates 92 | 93 | ### 1.4 94 | 95 | enable smartquotes so that highlighting a string and typing a quote results in a quoted string 96 | 97 | add a bit more contrast to the background for users without fully adobergb gamut compliant monitors 98 | 99 | ### 1.3 100 | 101 | change name to SpacePeacock and rebrand as a total-conversion 102 | 103 | ### 1.2 104 | 105 | change `ctrl + p` from search everywhere to search files (search everywhere is just too insanely slow) 106 | 107 | add `ctrl + shift + p` for search everywhere 108 | 109 | ### 1.1 110 | 111 | add `ctrl + n` keystroke 112 | -------------------------------------------------------------------------------- /build: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | usage="$(basename "$0") config_folder_name -- program to build ideaj settings jars 4 | 5 | where: 6 | config_folder_name 7 | Name of the config folder. This will be used to produce the jar's filename. 8 | 9 | osx-key-mappings 10 | styles-only 11 | win_linux-keymaps-only 12 | " 13 | 14 | if [ -z $1 ] || [ $1 == "-h" ] || [ $1 == "--help" ]; 15 | then 16 | echo "$usage" 17 | else 18 | if [ -d $1 ]; 19 | then 20 | 21 | touch $1/IntelliJ\ IDEA\ Global\ Settings 22 | 23 | echo "Creating $1.jar in builds" 24 | jar cMf ./builds/$1.jar -C $1 . 25 | 26 | rm $1/IntelliJ\ IDEA\ Global\ Settings 27 | fi 28 | fi -------------------------------------------------------------------------------- /builds/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /builds/osx-key-mappings.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShawnMcCool/PHPStorm-SpacePeacock/840ae8666b1997045c973fcae8afa93cacbf2862/builds/osx-key-mappings.jar -------------------------------------------------------------------------------- /builds/styles-only.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShawnMcCool/PHPStorm-SpacePeacock/840ae8666b1997045c973fcae8afa93cacbf2862/builds/styles-only.jar -------------------------------------------------------------------------------- /builds/win_linux-keymaps-only.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShawnMcCool/PHPStorm-SpacePeacock/840ae8666b1997045c973fcae8afa93cacbf2862/builds/win_linux-keymaps-only.jar -------------------------------------------------------------------------------- /osx-key-mappings/keymaps/Mac OS X 10_5_ Sublime.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | -------------------------------------------------------------------------------- /osx-key-mappings/keymaps/OSX_Keymaps.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShawnMcCool/PHPStorm-SpacePeacock/840ae8666b1997045c973fcae8afa93cacbf2862/osx-key-mappings/keymaps/OSX_Keymaps.jar -------------------------------------------------------------------------------- /osx-key-mappings/options/keymap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShawnMcCool/PHPStorm-SpacePeacock/840ae8666b1997045c973fcae8afa93cacbf2862/screenshot.png -------------------------------------------------------------------------------- /styles-only/codestyles/Default _1_.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 11 | 12 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /styles-only/codestyles/Default _2_.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | 11 | 12 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /styles-only/codestyles/Default _3_.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /styles-only/colors/Eighties.icls: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1236 | 1237 | -------------------------------------------------------------------------------- /styles-only/colors/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 Abhimanyu Sharma 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /styles-only/colors/README.md: -------------------------------------------------------------------------------- 1 | phpStorm SpaceGray color scheme 2 | ================== 3 | 4 | phpStorm SpaceGray color is based on SpaceGray theme http://kkga.github.io/spacegray for Sublime Text 5 | 6 | ## SpaceGray Colors ## 7 | 8 | ### php Example ### 9 | ![Php example](http://i.imgur.com/7Xakbf7.png) 10 | 11 | ### HTML Example ### 12 | ![HTML example](http://i.imgur.com/6pcqHd8.jpg) 13 | 14 | ---------- 15 | 16 | ## Eighties Colors ## 17 | 18 | ### php ### 19 | ![PHP Eaxmple](http://i.imgur.com/skYhiZ1.png) 20 | 21 | ### HTML ### 22 | 23 | ![HTML Example](http://i.imgur.com/jPojgTx.png) 24 | ## Installation ## 25 | 26 | - Place the `Spacegray.icls` and `Eighties.icls` file in your phpStorm folder paths are given below. 27 | - Then go to `File` -> `Settings` -> `Editor` -> `Colors & Fonts` 28 | - Select the `Spacegray` or `Eighties` theme from the drop down list 29 | - Restart the phpStorm 30 | 31 | 32 | ### Ubuntu Linux ### 33 | cd ~/.WebIde60/config/colors 34 | 35 | ### Mac OS X ### 36 | 37 | cd ~/Library/Preferences/WebIde60/colors/ 38 | 39 | ### Windows ### 40 | 41 | c:/Users/USERNAME/.WebIde60/config/colors 42 | 43 | # Contribute # 44 | 45 | Feel free to contribute 46 | -------------------------------------------------------------------------------- /styles-only/colors/SpacePeacock.icls: -------------------------------------------------------------------------------- 1 | 2 | 3 | 2162 | 2163 | -------------------------------------------------------------------------------- /styles-only/colors/Spacegray.icls: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1188 | 1189 | -------------------------------------------------------------------------------- /styles-only/options/code.style.schemes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /styles-only/options/colors.scheme.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /win_linux-keymaps-only/keymaps/Default copy.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /win_linux-keymaps-only/keymaps/Default for GNOME copy.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | -------------------------------------------------------------------------------- /win_linux-keymaps-only/options/keymap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | --------------------------------------------------------------------------------