├── .gitignore ├── LICENSE ├── README.md ├── delight.md ├── settings.jar └── web ├── adding_enum.gif ├── blame-for-multiple-lines.png ├── c-function-args.png ├── contextual-variable-names.png ├── create-property.png ├── extract-method.gif ├── find-uses.png ├── inline-showing-deletion.png ├── keypath-strings.png ├── needs-pod-install.png ├── not-used-functions.png ├── outofdate-cocoapods.png ├── renew.png ├── resize-selection-by-context.gif ├── save-power-mode.png ├── scope-context.png ├── selection-resizing-context.mov ├── shows-highlighted-text-over-stuff.png ├── spelling-in-comments.png ├── start-typing-midway.png ├── style.png ├── switcher.png ├── tasks-providers.png ├── tasks.png └── unused-headers.png /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | .DS_Store 3 | */build/* 4 | *.pbxuser 5 | !default.pbxuser 6 | *.mode1v3 7 | !default.mode1v3 8 | *.mode2v3 9 | !default.mode2v3 10 | *.perspectivev3 11 | !default.perspectivev3 12 | xcuserdata 13 | profile 14 | *.moved-aside 15 | DerivedData 16 | .idea/ 17 | *.hmap 18 | *.xccheckout 19 | 20 | #CocoaPods 21 | Pods 22 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Orta 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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | AppCode 2 | ======= 3 | 4 | My custom Setup for App Code. Import via `File > Import Settings`. Some of these are defaults in AppCode, but some of them are not and it's been too long for me to remember which now. 5 | 6 | Currently looks like: 7 | 8 | ![Looks like this](https://raw.githubusercontent.com/orta/AppCode/master/web/style.png) 9 | 10 | 11 | ### What I like about AppCode 12 | 13 | Consult my [delight file](delight.md). 14 | 15 | I like my custom shortcuts to begin with `⌘` + `^` ( command + ctrl ). 16 | 17 | ### Download link 18 | 19 | [Download the .jar](https://github.com/orta/AppCode/raw/master/settings.jar) 20 | 21 | ### Keybindings 22 | 23 | 24 | | Feature | Explanation | Key Binding | 25 | | ------------- |-------------|:-----:| 26 | | Refactor button | This is the gateway to everything, memorise what the `1`-`0` keys do after for superwin. | `⌥ + t` | 27 | | Do whatever AppCode wants | This is for things like auto-import. | `⌘ + ↵` | 28 | | Open Symbol | Used to open any source file. | `⌘ + t` | 29 | | Open File | Used to open any other file. | `⌘ + ⌥ + o` | 30 | | Run... | Pressing this then `2` will allow you to run all the tests in a file. | `⌘ + ^ + r` | 31 | | Switch to test file | Only works if you have a matching spec name. | `⌘ + ^ + t` | 32 | | Find all uses of _x_ | Like find all, but with context. | `⌘ + ^ + f` | 33 | | Commit changes | Do all your git stuff in AppCode | `⌘ + ⌥ + c` | 34 | | Open Selection in Github | (This is a plugin, you may have to install yourself.) | `⌘ + ⌥ + g` | 35 | | Select Context | Do it with ↑ once to select the word, then repeat to expand the scope. Mindblowing. | `⌥ + ↑` / `⌥ + ↓` | 36 | | Hide _all_ sidebars | Bottom / Left & Right. Same as hide debugger in Xcode | `⌘ + ⇧ + y` | 37 | | Open Task | Search through your tickets on Github and say you're working on that | `⌘ + ^ + n` | 38 | | Open in Xcode | The opposite of this plugin: [OROpenInAppCode](https://github.com/orta/OROpenInAppCode) | `⌘ + ^ + x` | 39 | | Create a view Split | Splits editor into two | `⌘ + ^ + s` | 40 | 41 | 42 | ### Custom snippets 43 | 44 | * `__weak` will offer a `__weak __typeof(self)weakSelf = self;` 45 | * `init` will offer a golden path version of the `self = [super init]` function. 46 | 47 | 48 | ### Code Style 49 | 50 | The generated code style is mostly the same as what the [NYTimes released](https://github.com/NYTimes/objective-c-style-guide). Think I only disagreed with them on [minor issues](https://twitter.com/mb/status/425980211067621376). 51 | 52 | 53 | ### Keys reference 54 | 55 | * `⌘` = cmd 56 | * `⌥` = alt 57 | * `^` = control 58 | * `⇧` = shift 59 | * `↵` = enter 60 | * `↑` = up arrow 61 | * `↓` = down arrow 62 | * `__` = dunder 63 | -------------------------------------------------------------------------------- /delight.md: -------------------------------------------------------------------------------- 1 | # Things I've liked 2 | 3 | ## C function arguments highlight 4 | 5 | ![C Function Args](web/c-function-args.png) 6 | 7 | Great for remembering the order of things 8 | 9 | ## adding_enum 10 | 11 | ![](https://github.com/orta/AppCode/blob/master/web/adding_enum.gif?raw=true) 12 | 13 | Auto prepends enum for enum based properties. 14 | 15 | ## blame-for-multiple-lines.png 16 | 17 | ![](https://github.com/orta/AppCode/blob/master/web/blame-for-multiple-lines.png?raw=true) 18 | 19 | Allows you to select a few lines then see just their changes over time. 20 | 21 | ##contextual-variable-names.png 22 | 23 | ![](https://github.com/orta/AppCode/blob/master/web/contextual-variable-names.png?raw=true) 24 | 25 | Uses context to figure out smart variable names. 26 | 27 | ## create-property.png 28 | 29 | ![](https://github.com/orta/AppCode/blob/master/web/create-property.png?raw=true) 30 | 31 | Lots of options on creating a property that you've referenced but not created. 32 | 33 | ## find-uses.png 34 | 35 | ![](https://github.com/orta/AppCode/blob/master/web/find-uses.png?raw=true) 36 | 37 | Super useful symbol search in the app. 38 | 39 | ## inline-showing-deletion.png 40 | 41 | ![](https://github.com/orta/AppCode/blob/master/web/inline-showing-deletion.png?raw=true) 42 | 43 | See what's been deleted but not yet commited by clicking on the gutter. 44 | 45 | ## keypath-strings.png 46 | 47 | ![](https://github.com/orta/AppCode/blob/master/web/keypath-strings.png?raw=true) 48 | 49 | If you're using a keypath it will only advise keypaths as the strings values. 50 | 51 | ## needs-pod-install.png 52 | 53 | ![](https://github.com/orta/AppCode/blob/master/web/needs-pod-install.png?raw=true) 54 | 55 | Change the podfile but not `pod install`/`pod update`d ? It'll tell you. 56 | 57 | ## not-used-functions.png 58 | 59 | ![](https://github.com/orta/AppCode/blob/master/web/not-used-functions.png?raw=true) 60 | 61 | Useful. 62 | 63 | ## outofdate-cocoapods.png 64 | 65 | ![](https://github.com/orta/AppCode/blob/master/web/outofdate-cocoapods.png?raw=true) 66 | 67 | Lets you know that more recent versions exist. 68 | 69 | ## renew.png 70 | 71 | ![](https://github.com/orta/AppCode/blob/master/web/renew.png?raw=true) 72 | 73 | Renew panel shows up in your console ( only once per app launch, not annoying. ) 74 | 75 | ## scope-context.png 76 | 77 | ![](https://github.com/orta/AppCode/blob/master/web/scope-context.png?raw=true) 78 | 79 | Show the start of a context like `@interface` or the beginning of a method above the editor. 80 | 81 | ## shows-highlighted-text-over-stuff.png 82 | 83 | ![](https://github.com/orta/AppCode/blob/master/web/shows-highlighted-text-over-stuff.png?raw=true) 84 | 85 | Show the details of a variable in lldb above the other tabs. 86 | 87 | ## spelling-in-comments.png 88 | 89 | ![](https://github.com/orta/AppCode/blob/master/web/spelling-in-comments.png?raw=true) 90 | 91 | Cute. Caught me out a few times. 92 | 93 | ## start-typing-midway.png 94 | 95 | ![](https://github.com/orta/AppCode/blob/master/web/start-typing-midway.png?raw=true) 96 | 97 | Fuzzy. 98 | 99 | ## switcher.png 100 | 101 | ![](https://github.com/orta/AppCode/blob/master/web/switcher.png?raw=true) 102 | 103 | Lists most recently edited files. 104 | 105 | ## tasks-providers.png 106 | 107 | ![](https://github.com/orta/AppCode/blob/master/web/tasks-providers.png?raw=true) 108 | 109 | Let AppCode use your issue tracker. Supports a bunch. 110 | 111 | ## tasks.png 112 | 113 | ![](https://github.com/orta/AppCode/blob/master/web/tasks.png?raw=true) 114 | 115 | Start a task context based on your issue tracker from a fuzy completion of titles. 116 | 117 | ## unused-headers.png 118 | 119 | ![](https://github.com/orta/AppCode/blob/master/web/unused-headers.png?raw=true) 120 | 121 | Shows what you don't need to import, 122 | 123 | 124 | ## Power saving mode 125 | 126 | ![Save Power Mode](web/save-power-mode.png) 127 | 128 | It will not do all the syntax highlighting + symbolification if you want to have longer battery life. 129 | 130 | ## Resize selection in context 131 | 132 | ![Resize Selection By Context](web/resize-selection-by-context.gif) 133 | 134 | Hold alt and press up / down to jump up and down through the context. 135 | 136 | ## Extract Method 137 | 138 | ![Extract Method](web/extract-method.gif) 139 | 140 | Take some code and finds all its dependencies. This is good for dependency injection too! Not how it took a the show as an arg, not by using the property later. 141 | -------------------------------------------------------------------------------- /settings.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/settings.jar -------------------------------------------------------------------------------- /web/adding_enum.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/adding_enum.gif -------------------------------------------------------------------------------- /web/blame-for-multiple-lines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/blame-for-multiple-lines.png -------------------------------------------------------------------------------- /web/c-function-args.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/c-function-args.png -------------------------------------------------------------------------------- /web/contextual-variable-names.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/contextual-variable-names.png -------------------------------------------------------------------------------- /web/create-property.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/create-property.png -------------------------------------------------------------------------------- /web/extract-method.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/extract-method.gif -------------------------------------------------------------------------------- /web/find-uses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/find-uses.png -------------------------------------------------------------------------------- /web/inline-showing-deletion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/inline-showing-deletion.png -------------------------------------------------------------------------------- /web/keypath-strings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/keypath-strings.png -------------------------------------------------------------------------------- /web/needs-pod-install.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/needs-pod-install.png -------------------------------------------------------------------------------- /web/not-used-functions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/not-used-functions.png -------------------------------------------------------------------------------- /web/outofdate-cocoapods.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/outofdate-cocoapods.png -------------------------------------------------------------------------------- /web/renew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/renew.png -------------------------------------------------------------------------------- /web/resize-selection-by-context.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/resize-selection-by-context.gif -------------------------------------------------------------------------------- /web/save-power-mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/save-power-mode.png -------------------------------------------------------------------------------- /web/scope-context.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/scope-context.png -------------------------------------------------------------------------------- /web/selection-resizing-context.mov: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/selection-resizing-context.mov -------------------------------------------------------------------------------- /web/shows-highlighted-text-over-stuff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/shows-highlighted-text-over-stuff.png -------------------------------------------------------------------------------- /web/spelling-in-comments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/spelling-in-comments.png -------------------------------------------------------------------------------- /web/start-typing-midway.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/start-typing-midway.png -------------------------------------------------------------------------------- /web/style.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/style.png -------------------------------------------------------------------------------- /web/switcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/switcher.png -------------------------------------------------------------------------------- /web/tasks-providers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/tasks-providers.png -------------------------------------------------------------------------------- /web/tasks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/tasks.png -------------------------------------------------------------------------------- /web/unused-headers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/orta/AppCode/148ae524b13a72669a35a00ada626e448464591b/web/unused-headers.png --------------------------------------------------------------------------------