Skip to content

Instantly share code, notes, and snippets.

@stkent
Last active March 4, 2024 11:32
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save stkent/069421ec4ba736915e23e8593d51f5ca to your computer and use it in GitHub Desktop.
Save stkent/069421ec4ba736915e23e8593d51f5ca to your computer and use it in GitHub Desktop.
IntelliJ configuration

I've tried to sync IntelliJ/Android Studio configurations across installs/machines using several different methods (including the built-in settings repository), and none seem to work as reliably as I would like.

This is a manual setup checklist that replaces those methods.

Last checked: Android Studio 2021.1.1 Patch 2

IntelliJ Configuration

In Appearance & Behavior -> Appearance:

  • Check Use smaller indents in trees.

In Editor -> Font:

  • Set Font to Droid Sans Mono Slashed.
  • Set Size to 18.
  • Set Line spacing to 1.

⚠️ Controversial
In Editor -> General:

  • Check Ensure every saved file ends with a line break.

In Editor -> General -> Auto Import -> Java:

  • Check Add unambiguous imports on the fly.
  • Check Optimize imports on the fly.

In Editor -> General -> Auto Import -> Kotlin:

  • Check Add unambiguous imports on the fly.
  • Check Optimize imports on the fly.

In Editor -> General -> Appearance:

In Editor -> General -> Editor Tabs:

  • Set Placement to None.

In Editor -> Color Scheme -> General -> Editor -> Guides -> Visual guides:

  • Set Foreground to 1A4A21.

In Editor -> Code Style -> Java -> Code Generation:

  • Check Make generated local variables final.
  • Check Make generated parameters final.
  • Set Default Visibility to private.

In Editor -> Inspections -> Java -> Class Structure:

  • Check Utility Class Is Not Final and set severity to Warning.
  • Check Utility Class With Public Constructor and set severity to Error.
  • Check Utility Class Without Private Constructor and set severity to Error.

In Editor -> Inspections -> Java -> Code style issues:

  • Check Field may be 'final' and set severity to Error.
  • Check Local variable or parameter can be final and set severity to Error.

In Editor -> Inspections -> Java -> Control Flow Issues:

  • Check Fall-through In Switch Statement and set severity to Error.

In Editor -> Inlay Hints -> Parameter names:

  • Uncheck Java.
  • Uncheck Kotlin.

In Editor -> Inlay Hints -> Code vision -> Code author:

  • Set Position to Right.

In Tools -> Terminal:

  • Uncheck Override IDE shortcuts.
  • Uncheck Run Commands using IDE.

In Keymap -> Main Menu -> Window -> Editor Tabs:

  • Set Split Right shortcut to Command-Shift-S.
  • Set Unsplit shortcut to Command-Shift-U.

⚠️ Only if using https://pasteapp.io/ to provide system-wide copy/paste history
In Keymap -> Main Menu -> Edit -> Cut/Copy/Paste Actions -> Paste:

  • Clear Paste from History...

In Keymap -> Main Menu -> View -> Appearance:

  • Set Toggle Distraction Free mode shortcut to Command-Shift-D.

In the Project tool window settings:

  • Deselect the Tree Appearance -> Compact Middle Packages option.

Highlight any usage of an overriding function:

  • Execute the shortcut ⌥ ⇧ ⌘ F7.
  • Uncheck Search for base method usages. (This setting then applies to other Find Usages commands, even though the docs indicate that it's not supposed to.)

macOS configuration

In Apple menu -> System Preferences -> Keyboard -> Shortcuts -> Services:

Android Studio extras

In Help -> Edit Custom Properties:

  • Add the line studio.projectview=true.

In Editor -> Design Tools:

  • Set Other Resources to Split.

In Keymap -> Tool Windows:

  • Set Logcat shortcut to Command-6.

Plugins

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment