[android-studio] How to automatically generate getters and setters in Android Studio

Is there a shortcut in Android Studio for automatically generating the getters and setters in a given class?

This question is related to android-studio shortcut

The answer is


  • create the variable
  • right click
  • select "Generate" and then select "Getter and Setter" option

Right click menu


You can generate getter and setter by following steps:

  • Declare variables first.
  • click on ALT+Insert on keyboard placing cursor down to variable declaration part
  • now select constructor and press Ctrl+A on keyboard and click on Enter to create constructor.
  • Now again placing cursor at next line of constructor closing brace , click ALT+INSERT and select getter and setter and again press CTRL+A to select all variables and hit Enter.

That's it. Happy coding!!


for macOS, ?+N by default.

Right-click and choose "Generate..." to see current mapping. You can select multiple fields for which to generate getters/setters with one step.

See http://www.jetbrains.com/idea/webhelp/generating-getters-and-setters.html


Position the cursor under the variables -> right-click -> Generate -> Getter and Setter -> Choose the variables to make the get and set

or

Alt + Insert -> Getter and Setter -> Choose the variables


You can use AndroidAccessors Plugin of Android Studio to generate getter and setter without m as prefix to methods

Ex: mId; Will generate getId() and setId() instead of getmId() and setmId()

plugin screenshot


Another funny way

Type the parameter name anywhere in the object after definition, you will see setter and getter, Just select and click enter :)

I tried with Android Studio 2.3


Use Ctrl+Enter on Mac to get list of options to generate setter, getter, constructor etc

enter image description here


Android Studio & Windows :

fn + alt + insert

Image of Menu


This answer deals with your question but is not exactly an answer to it. =) It's an interesting library I found out recently and I want to share with you.


Project Lombok can generate common methods, such as getters, setters, equals() and hashCode(), toString(), for your classes automatically. It replaces them with annotations reducing boilerplate code. To see a good example of code written using Lombok watch a video on the main page or read this article.

Android development with Lombok is easy and won't make your android application any 'heavier' because Lombok is a compile-time only library. It is important to configure your Android project properly.

Another example:

import lombok.Getter;
import lombok.Setter;

public class Profile {

  @Getter @Setter
  private String username;

  @Getter @Setter
  private String password;

}

Android development with Lombok is possible. Lombok should be a compile-time only dependency, as otherwise the entirety of Lombok will end up in your DEX files, wasting precious space. Gradle snippet:

dependencies {
    compileOnly "org.projectlombok:lombok:1.16.18"
}

In addition you may want to add the Lombok IntelliJ plugin to support Lombok features in your IDE at development time. Also there is Hrisey library which is based on Lombok. Simply put, it's Lombok + Parcellable support.


Android Studio & OSx :

Press cmd+n > Generate > Getter and Setter

Android Studio & Windows :

Press Alt + Insert > Generate > Getter and Setter


Just in case someone is working with Eclipse

Windows 8.1 OS | Eclipse Idle Luna

Declare top level variable private String username Eclipse kindly generate a warning on the left of your screen click that warning and couple of suggestions show up, then select generate.enter image description here


use code=>generate=>getter() and setter() dialog ,select all the variables ,generate all the getter(),setter() methods at one time.


Using Alt+ Insert or Right-click and choose "Generate..." You may easily generate getter and setter or Override methods in Android Studio. This has the same effect as using the Menu Bar Code -> Generate...

enter image description here enter image description here


Right click on Editor then Select Source -> Generate Getters and Setters or press Alt + Shift + S enter image description here


As noted here, you can also customise the getter/setter generation to take prefixes and suffixes (e.g. m for instance variables) into account. Go to File->Settings and expand Code Style, select Java, and add your prefixes/suffixes under the Code Generation tab.