Android Studio Tips Of the Day - Roundup #4

This is the fourth roundup of my Android Studio Daily Tips that I post on Google+
You can take a look at the previous post here.

About Keymaps

Android Studio provides different keymaps (the mapping between shortcut keys and an action). You can see which keymap you are using in Settings->Keymap.

It wouldn’t be practical to list the shortcuts for every keymap so the following will be used:

  • Windows: Default
  • Linux: Default
  • OSX: Mac OSX 10.5+

Analyze Data flow to Here

Analyze Data flow to Here

This will take the current variable, parameter or field and show you the path it has taken to get here! This is very useful when you are entering an unfamiliar place in the code base and you want to understand how this parameter got there.

There is also the reverse operation “Analyze Data Flow from Here” that will show you where your variable, field or return type will end up.

Shortcut : There is no keyboard shortcut for this…

  • Menu: Analyze → Analyze Data Flow to Here
  • Find action: Analyze Data Flow to Here

Sublime Text Multi Selection

Sublime Text Multi Selection

This one is particularly nice!
It will take the current selection, select the next occurrence and add a cursor there. This means that you can have multiple cursors in the same file! Everything you type will be written at each cursor.

Shortcut :

  • Mac : Ctrl+G
  • Windows/Linux: Alt+J

Column Selection

Column Selection

Enable column selections, also known as block selection. Basically, if you select down, it will go down and not bother wrapping to the end of the line.

This will also put a cursor after each line of the block selection from where you can type.

Shortcut :

  • Mouse: Alt+MouseDrag
  • Mac : Cmd+Shift+8
  • Windows/Linux: Shift+Alt+Insert

Postfix Completion

Postfix Completion

This one is not very intuitive but still pretty powerful. Basically, it is a way to wrap the current statement in something else without having to press the left key a bunch of times to get there.

E.g. to iterate a list, you could go “myList.for”, press tab and it would generate the for loop for you.

You can get a list of what you can type by typing a dot after a statement and looking through the options after all the possible completions.

Some of my personal favorites:

  • .for (for a foreach)
  • .format (wraps a string in String.format())
  • .cast (wraps a statement in a type cast)

Compare With Clipboard

Compare With Clipboard

This will take the current selection and do a diff with the content of your clipboard.

Shortcut:

  • Mouse: right-click the selection and select Compare With Clipboard
  • Find action: compare with clipboard

Stop Process

Stop Process

This will stop the currently running task or show a list of possible tasks to stop if there is more than one.

Pretty useful to stop debugging or abort a build.

Shortcut :

  • Mac : Cmd+F2
  • Windows/Linux: Ctrl+F2

Show Execution Point

Show Execution Point

This will put the cursor back to where you are debugging right now.

The usual case is:

  1. You break somewhere
  2. You start looking around in this file and then a bunch of other files
  3. You invoke this shortcut to return exactly to where you were in your step-by-step debugging session

Shortcut (when debugging) : Alt+F10


VCS Operations Popup

VCS Operations Popup

This will show you the most frequent version control operations. If your project is not under git or another sytem, it will at least give you a local history maintained by Android Studio.

Shortcut :

  • Mac: Ctrl+V
  • Windows/Linux: Alt+`

Compare With Branch (Git)

Compare With Branch (Git)

Assuming that your project is under Git, you can compare the current file or folder with another branch. Pretty useful to get an idea of how much you have diverged from your main branch.

Shortcut :

  • Menu (for git): VCS -> Git -> Compare With Branch
  • Find Actions: Compare With Branch