flutter intellij plugin: java language support?

In my setup the Intellij Flutter plugin doesn't support Java code. It treats Java classes like text files.

Is there any way I could get Intellij to support me with the Android specific Java code? (type checks, completion suggestion, imports, refactoring...)

Here is my flutter doctor output:

[✓] Flutter (on Linux, channel master)
• Flutter at /home/*****/flutter/flutter
• Framework revision 99ca38e988 (4 days ago), 2017-03-01 13:15:48
• Engine revision 74de13c0bd
• Tools Dart version 1.23.0-dev.2.0

[✓] Android toolchain - develop for Android devices (Android SDK 25.0.2)
• Android SDK at /home/*****/Android/Sdk
• Platform android-25, build-tools 25.0.2
• ANDROID_HOME = /home/*****/Android/Sdk
• OpenJDK Runtime Environment (build 1.8.0_121-b13)

[✓] Android Studio (version 2.2)
• Android Studio at /opt/android-studio
• Gradle version 2.14.1

[-] WebStorm (version 2016.3)
• Flutter plugin not installed; this adds Flutter specific functionality.
• For information about managing plugins, see
https://www.jetbrains.com/help/idea/managing-plugins.html

[✓] IntelliJ IDEA Ultimate Edition (version 2016.3)
• Dart plugin version 163.13137
• Flutter plugin version 0.1.11.1

[✓] Connected devices
• None


It's possible by opening the Android app folder within your Flutter app directory in a second IntelliJ window: So one window for your Dart/Flutter code, another one for the Android Java code.

Here is how it works: Make sure Android support is installed: File -> Settings -> Plugins -> Android Support.

Now do the following steps (tested on Linux):


Open the android folder of your Flutter app into a new project window. IntelliJ will detect that there is Android support, click on configure to use the existing manifest file.
You might get a warning: "Failed to sync Gradle project 'android'. Click "Migrate to Gradle wrapper and sync project".
If you get a Gradle error like: "Flutter SDK not found". Open the local.properties file in your Android project folder, and add the following configuration to it: flutter.sdk=/home/user/dev/flutter (using the correct folder on your system).


There should be 3 entries in the local.properties file:

sdk.dir=/home/raju/Android/Sdk
flutter.sdk=/home/raju/dev/flutter
flutter.buildMode=debug


Now the Gradle build should run through.



When you open the MainActivity.java in folder android/app/src/main/java/com.yourcompany.hello there should be full Java/Android support with autocomplete, etc.



You can launch the Flutter app out of the Android project window, but then you will not have hot reload support active. So always use the project window with the Flutter project to launch. Or flutter run from the command line, if you prefer that.

Comments

Popular posts from this blog

Meaning of `{}` for return expression

Get current scroll position of ScrollView in React Native

flutter websocket connection issue