Showing posts with label IntelliJ IDEA. Show all posts
Showing posts with label IntelliJ IDEA. Show all posts

15 March 2018

How to set groovysdk on mac in IntelliJ IDEA

The solution works for:
Groovy 2.4.12
IntelliJ IDEA 2017.2.6
macOS 10.12.6
Homebrew 1.5.10
It should work with other versions too.


STORY:
    I tried to Config groovy SDK to use in IntelliJ IDEA ... but you need specific path which is .. something like that: /usr/local/Cellar/groovy/x.y.z/ libexec but I couldn't see usr folder. 
As it turns out you need to use a magical shortcut to enable a view of hidden files/folder in Finder on Mac.
How?

SOLUTION:
  1. Go to Project Structure
  2. Go to Global Libraries
  3. Press +
  4. Select Java 
  5. In Finder, press  ⌘⇧. ( Command key, SHIFT key  dot key a the same time ) to enable 'view hidden files' mode
  6. Go to top level (MachintoshHD)
  7. go to /usr/local/Cellar/groovy/x.y.z/libexec and press open if you don't see usr folder... perform step 5 (and ensure you have all privileges required) 
  8. Press create
  9. Done :)

13 November 2017

How to find Gradle home path inc on Mac if you install it using homebrew ?

It works on:
  • MacOS Siera 10.12.6
  • IntelliJ IDEA 2017.2.5
  • Gradle 4.3
    It turns out in my new work I will enjoy my development on macOS that is loved by hipster developers. As expected I needed to adjust mindset to macOS universe as I used to develop on Windows.

After you installed Gradle using homebrew,
Go to project in IntelliJ IDEA:
In Gradle SDK you simply type:
    /usr/local/Cellar/gradle/4.3/libexec
and it works... sort of.

Obviously replace 4.3  with version you are using.


24 May 2017

How run test multiple times in IntelliJ IDEA ?

Solution works for :  IntelliJ IDEA 2016.3 and later, but I don't know when it was added.

Ages ago, IntelliJ IDEA added really cool feature to repeat test.
If for whatever reason you need repeat test x amount of times then follow these steps:

  1. Run test (tests) first.
  2. Go to Edit Configuration
  3. In configuration tab, in top right corner, you can specify repat test


Apply and run it :)

Small warning!  For very large amount of test IntelliJ IDEA start works very very slowly. I usually I don't have problem with running more than around 65535  and more tests,but it depends on tests amount and size of the project :).



6 January 2017

How to get colourful console logging output in Spring Boot using IntelliJ IDEA?

A nice little tip for IntelliJ IDEA users who are using Spring Boot.

I discover some time ago that by default IntelliJ IDEA will display logging output in classic way. However Spring Boot support colourful output.
In order to enable colourful output then in Srping Boot Application you need add below line to  application.properties (in resources ):

spring.output.ansi.enabled=ALWAYS
Done :)

BEFORE:

AFTER:


Enjoy Rainbow style logs :)

16 June 2016

How to replace command line with git bash in IntelliJ ?

IntelliJ  has an ability to run terminal inside ,but it uses cmd.exe but most of us ,specially these people who use git ,use git bash instead . So you ask yourself; can I replace it ?

Yes, you can!

You just need do few simple steps:
  • Press Ctrl+Alt+S (Open settings)  (anywhere on main screen)
  • Search for terminal in search-box (top left)
  • change path to : C:\Program Files (x86)\Git\bin\sh.exe" --login -i [change path to yours, this is default one for 32 bit version of git bash on Windows)
  • Done :)
  • Open terminal and ... ta daam Git bash is there instead of cmd.exe :)

    22 December 2015

    How to solve problem with error "CreateProcess error=2, The system cannot find the file specified" in IntelliJ IDEA and Git ?

    Solution works for
    Windows
    IntelliJ IDEA (I tested on v14  and v15 but you may try it on earlier version too)
    git (I tested on version 2.x ,but I am sure,it will work with earlier version)

    PROBLEM:
    You install git,IntelliJ
    You tried to open

    ERROR:
    "CreateProcess error=2, The system cannot find the file specified"

    SOLUTION:
    There can be 2 possible cause of this problem:
    A. You install git in unusual place, so IntelliJ cannot find it.
    B. You are behind proxy that blocks git


    If you see above error ,it means that IntelliJ doesn't know where git was installed,so you need set it.
    However, before you follow below setup:
    • Make sure that git is installed (Download from: https://git-scm.com)
    • Make sure you set path in Windows environment (Go to Control Panel -> All Control Panel Items -> System -> Advance System Settings -> Environment Variables -> Select  System Variables and in the end add ; and path path to cmd folder of git ... for example 
      • ;C:\Program Files (x86)\Git\cmd)
    • If you error appear during creating a project (for example if you create a new project using existing resources using Gradle) ,then you need create new empty project .
    • Are you at work ? Don't forgot set proxy in IntelliJ IDEA (below is instruction where to find proxy)
    So... to solve problem you need:
    1. Open project 
    2. Go to Settings (File -> Settings or press Ctrl+alt+s (on Windows and Linux)) 
    3. In setting search for git or go to Version Control and select Git 
    4. set Path to Git in  "Path to Git executable :"
    5. Apply and OK:)

    How to setup proxy
    1. Go to Settings (File -> Settings or press Ctrl+alt+s (on Windows and Linux)) 
    2. Search for proxy or go to Appearance & Behavior -> System settings -> HTTP proxy
    3. Set your proxy (ask DevOps or IT support ,if you don't know :)

    Problem solved.

    In 99% of cases :
    "CreateProcess error=2, The system cannot find the file specified"
     it means, that you didn't setup path to executable to some plugin/module or you didn't install software that IntelliJ needed to run or you didn't setup a proxy

    If your proxy setup is correct ,then  open IntelliJ 's log file and see error message where you should see which program caused problem (for example git),then check IDEA support website how to install specific module/plugin and it should solve problem.

    Have an epic development!

    10 December 2015

    How to trigger automatic restart in IntelliJ IDEA when you are using spring boot's devtools plugin ?

    Spring boot 1.3 introduced a new feature called automatic restart (if you are familiar with hot swap or JRebel , you may more less guess what is about). In shortcut ,it reload class after you saved changes so you don't need restart whole application.As result, it  speeds-up process of feedback when you are developing a software.

    Normally automatic restart is triggered when you saved a file.
    However ,because  IntelliJ IDEA does this automatically , you will expect that restart is triggered too.
    Well, bad news is .. it doesn't work that way in  IntelliJ IDEA. Good news in order to trigger restart you need press Ctrl + F9  (on Windows and Linux )  ,if you have allergy to shortcuts simply go to menu  and select Build and then press Make Project.

    Enjoy your lighting fast development!


    Source: 

    7 April 2015

    My top useful shortcuts in IntelliJ IDEA


    FUNCTION MAC(new) MAC(old) WIN
    Review recent changes in project ALT+SHIFT+C ALT+SHIFT+C ALT+SHIFT+C
    Generate CMD+N CMD+N ALT+INSERT
    Find an action SHIFT+CMD+a ? SHIFT+CTRL+a
    Format code CMD+ALT+l ? CTRL+ALT+l
    Smart completion ? ? CTRL+SHIFT+SPACE
    Next/previous problem F2/SHIFT+F2 F2/SHIFT+F2 F2/SHIFT+F2
    Select clipboard SHIFT+CMD+v ? ALT+SHIFT+C
    Open current opened file
    in the separate window.
    SHIFT+F4 SHIFT+F4 SHIFT+F4
    Complete method SHIFT+CMD+ENTER ? SHIFT+CTRL+ENTER
    Show project structure CMD+7 ? ALT+7
    Show project CMD+1 ? ALT+1
    Toggle full mode SHIFT+CMD+F12 ? SHIFT+CTRL+F12
    Refactoring menu 
    (it is context aware)
    ? ? CTRL+SHIFT+ALT+T
    Find class in project. CMD+o CMD+n CTRL+n
    Find file in project. CMD+SHIFT+o CMD+SHIFT+n CTRL+SHIFT+n
    Search everywhere. SHIFT (press twice) SHIFT (press twice) SHIFT (press twice)
    Evaluate expression
    ALT+F8ALT+F8 ALT+F8
    Extract method. ALT+CMD+m ALT+CMD+m CTRL+ALT+m
    Find word(s) in project. CMD+SHIFT+f ? CTRL+SHIFT+f







    "? - I couldn't find shortcut .. or it doesn't work on my machine "

    TIPS and Resources

    20 August 2014

    How to solve error: Error:Unable to start the daemon process. This problem might be caused by incorrect configuration of the daemon. For example, an unrecognized jvm option is used. Please refer to the user guide chapter on the daemon at http://gradle.org/docs/1.12/userguide/gradle_daemon.html Please read below process output to find out more: ----------------------- Error occurred during initialization of VM Could not reserve enough space for object heap Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.

    Solution for Android Studio 0.8.6 STORY: I recently back to developing some android application. Unfortunately Google as usual do lots of changes and decided to move admob library to Google play services and this forced me to use Android Studio with Gradle. It means ,I needed to migrate my IntelliJ IDEA to Android Studio,but this cause some problems. When you create build.gradle file and then Android Studio detect that and it tries convert project into Gradle project but it welcomed me with error :
    Error:Unable to start the daemon process. This problem might be caused by incorrect configuration of the daemon. For example, an unrecognized jvm option is used. Please refer to the user guide chapter on the daemon at http://gradle.org/docs/1.12/userguide/gradle_daemon.html Please read below process output to find out more: ----------------------- Error occurred during initialization of VM Could not reserve enough space for object heap Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit."If you see this error, Try these possible solutions.
    SOLUTION: If you see this depressing error:
    • Remember to have enough free memory on your device.( I had problem if i didn't have 1GB of free memory)
    • Run Android Studio as Administrator
    If this doesn't help,then you need increase (or set ) maximum Java heap size. In other to do that you need :
    1. (optional) Run Android Studio as Administrator
    2. Go to File and press Settings (or use shortcut: Ctrl+Alt+S)
    3. Go to Compiler
    4. Find VM Options and put -Xmx512m.
    5. Press Apply
    6. Press OK
    7. restart IDE

    It should works now.
    I hope, it helps .Good luck and have fun with development.

    1 November 2013

    Android Studio 0.3.0 Released

    A new Android Studio 0.3.0 Released

    Quick Table of content.
    1. Intro
    2. My observations
    3. Release notes from Android Studio 0.3.0
    4. Release note from  IntelliJ IDEA  13  EAP 132.556 and 132.637
    5. Source links

    1) Intro
    This entry is not just copy and paste of release notes.
    It includes my observations about changes also.
    If you are interesting in plain  release notes ,open links from Source link (bottom of entry).
    Keep in mind,that this blog entry is usually update few times (when i made more observations).

    2) My observations

    Tests:
    1. Updating IDE (It went smoothly)
    2. Install IDE  from fresh  (It went smoothly)
    3. Creating new project (I had a few problem)
    4. Import project (I had tiny problem)
    Update went smoothly (from 0.2.9 to 0.3.0). It didn't cause any problems or side effects.

    Install IDE from starch went smoothly too.

    It seems this week update is bit bigger than usually and contains few changes that are interesting for me.
    They improve 2 things

    They add lots of useful  Improvements for Quick Documentation and they improve running process is improved as you can now  automatically show logcat window on run and they fix bug with "Clear log before launch" checkbox as it didn't works in past,so my last 2 problems which I had with running process are fixed.

    As I do not use Gradle in my project as my projects are very simple,but from what I heard and I experienced so far .Using Gradle with Android Studio is still big Pain in the ass.
    For example:
    In this version .I had a problem with import project using gradle plug-in as I saw error:  "Cannot create directory path.to.myideaproject.idea"    but .. apparently ,it is known issue
    "Importing a project using the Android Gradle plug-in 0.6.1 and Gradle 1.6 or 1.7 will show the error: "Cannot create directory <path>.idea". The real cause of the project import failure is that this version of the Android Gradle plug-in only supports Gradle 1.8 or later." Source: https://sites.google.com/a/android.com/tools/knownissues
    Creating a new project went with various problems with Gradle, but I constantly see this error,when I create projects.
    Gradle: A problem occurred configuring project ':DomsLearnchineseRadicals'.
    > Failed to notify project evaluation listener.
       > Could not resolve all dependencies for configuration ':DomsLearnchineseRadicals:_DebugCompile'.
          > Could not find any version that matches com.android.support:appcompat-v7:+.
            Required by:
                DomsLearnchineseRadicalsProject:DomsLearnchineseRadicals:unspecified

    That's all  problems i spotted,but stay tuned for more updates about changes.
    Android Studio works great until you start Grandle.


    3) Release notes from Android Studio
    Release notes from Android Studio
    • Gradle Builds
      • Much faster gradle project import: Importing one of our apps went down from two and a half minutes to fourteen seconds. This speedup also applies to syncing your existing project with Gradle, reopening existing projects, etc. Furthermore, we now only run the build target to generate sources, not a full compilation.
      • The improved performance is made possible by changes in Gradle 1.8 and Android Gradle plugin version 0.6.+, which are now the minimum supported versions.
        If you open an already imported project that uses the Gradle wrapper pointing to an old version of Gradle you will be able to automatically fix the wrapper properties and re-import the project.
      • The Gradle 0.6.3 plugin is now also available (or soon available; it is staging on maven central, so should be available in the next few hours), which improves resource merging handling (better error handling, more accurate error locations, source element references no longer merged into the R class documentation, etc).
      • NOTE: Earlier today we published plugin 0.6.2 with incorrect dependencies. Make sure you're using 0.6.3 (or 0.6.1). To be sure, you can explicitly specify "0.6.3" instead of "0.6.+" in your build.gradle files, or run gradlew on the command line with --refresh-dependencies to ensure that Gradle looks up the most recent available version.
    • Template Support
      • Revised new blank activity template with support for action bars on older versions of Android (via the appcompat library), and new navigation styles
    • Layout Rendering
      • Support for xliff strings. It will now insert id (or if available example) attributes into the layout editor preview strings.
    • As usual, many bug fixes.
      • From b.android.com: 60801, 60823,  59444, 60848, 57904, 60266, 60893, 60879, 60820, 61050, 61113, 60894
      • Other bugs and crashes not tracked in the issue tracker


    4)  Release note from  IntelliJ IDEA EAP ( Android,Java and Gradle related changes only)   

    IDEA

    IDEA-114273 (Usability Problem) "restore old layout" tip is misleading for new users and for those, who had tool window stripes hidden
    IDEA-114143 (Bug) Sometimes tool window widget popup stays visible even if mouse is out of the window
    IDEA-114287 (Bug) Search control in toolbar disappears when second project is open
    IDEA-114288 (Bug) New search button in toolbar doesn't behave like rest of the buttons
    IDEA-114190 (Bug) Navigation bar font too small
    IDEA-114294 (Bug) BackSpace key doesn't work in GoTo Class/File/Action
    IDEA-114015 (Bug) Scrollbar preview is twice as big as it should be
    IDEA-113938 (Feature) "Submit feedback" should pre-fill project and affected version
    IDEA-93868 (Usability Problem) No option to zoom in editor with keyboard
    IDEA-113594 (Usability Problem) Please document OpenJDK problems or remove the warning
    IDEA-74140 (Usability Problem) Improve support for large screens: Better Docking framework
    IDEA-113826 (Bug) MismatchedCollectionQueryUpdateInspection – calling methods which accept callbacks should be treated as queries
    IDEA-114130 (Bug) Compile failure using IntelliJ IDEA (Cardea) IU-132.325 due to Lombok annotations
    IDEA-114198 (Bug) @SuppressWarnings("javadoc") does not work
    IDEA-114393 (Bug) Play 2.0 plugin for IDEA 13 is missing dependency on Scala plugin
    IDEA-114514 (Cosmetics) Grammar error in "Library already exists" dialog
    WEB-9169 (Bug) Map help ID for Settings | Handlebars/Mustache
    IDEA-114186 (Bug) Copyrights are not added automatically into new files
    IDEA-113506 (Bug) view context info fails with nullpointerexception
    IDEA-113961 (Bug) Could not save project: java.io.IOException: /path/to/file/.idea/scopes not found when using read-only directory
    IDEA-114736 (Bug) Bug in code completion inside instanceof block
    IDEA-114694 (Usability Problem) Shift-Space is a terrible default shortcut for Search Everywhere
    IDEA-57747 (Bug) Idea X - CTRL+SHIFT+Left/Right Arrow functionality
    IDEA-114850 (Bug) Unreadable 'No files are open' text

    Android

    IDEA-67759 (Feature) Make possible to access Adnroid SQLite databases from within Idea
    iDEA-67747 (Feature) Add [Fragment] as a Android Component Kind
    IDEA-53990 (Feature) IDEA should show red underline when valid id is expected
    IDEA-102167 (Feature) Android XML: sort attributes in completion in layout files
    IDEA-102165 (Feature) Android XML: show icons for views in code completion
    IDEA-65787 (Feature) Notification: Android SDK not configured
    IDEA-67759 (Feature) Make possible to access Adnroid SQLite databases from within Idea
    IDEA-60280 (Feature) Option to create a layout file and specify it as content view when activity is created
    IDEA-68373 (Feature) Navigate from android components to AndroidManifest.xml like for Spring beans
    IDEA-91552 (Feature) Support activity-alias for launch activity chooser
    IDEA-89857 (Feature) Automatically add android:layout_width and android:layout_height. Close with correct tag.
    IDEA-99045 (Usability Problem) IDEA keeps R.java empty.
    IDEA-92500 (Usability Problem) 'Clear all' button only enabled after clicking in content area of logcat view.
    IDEA-102906 (Performance Problem) Provide option to disable automatic generation of R.java and other files
    IDEA-94431 (Task) Support configuring several proguard files
    IDEA-114339 (Bug) IDEA doesn't recognize ID for preference headers in res/xml folder
    IDEA-114463 (Bug) Inspect code (Lint) doesn't work with maven project
    IDEA-87215 (Bug) Android: Quick Documentation from Code Compeltion popup shows "No documentation found", though without the popup quick doc works fine
    IDEA-109206 (Bug) Auto-magically added content roots is wrong
    IDEA-113328 (Bug) Android Run Config does not see MAIN action in intent-filter
    IDEA-90654 (Bug) Android: TableRow as a root tag is error-highlighted with 'layout_height, layout_width attributes should be defined'
    IDEA-113689 (Bug) Cannot disable logcat from appearing when launching app
    IDEA-113446 (Bug) Android maven project import broken again in 132.106
    IDEA-113647 (Exception) Android: AE at AndroidLightClassBase.processDeclarations()


    Gradle

     IDEA-113874 (Bug) Gradle tool window: horizontal scrollbar is incorrectly displayed
    IDEA-113053 (Bug) Gradle: Quick Documentation for standard gradle plugins is not shown if invoked from Code Completion popup
    IDEA-113930 (Bug) External System: please rename 'Refresh external project' action in Keymap (currently it is named just 'Refresh')
    IDEA-113935 (Bug) Gradle: Import Gradle Project adds a new module to the last imported project
    IDEA-114534 (Bug) Gradle: cancelation of gradle tasks for "out-of-process" mode
    IDEA-114766 (Bug) Gradle: module dependency scope ignored while project info resolving
    IDEA-113935 (Bug) Gradle: Import Gradle Project adds a new module to the last imported project


    Java

    IDEA-114317 (Bug) Can't word-complete inside a string literal
    IDEA-114408 (Bug) Local variables should be preferred in Math.min call
    IDEA-113698 (Bug) Getter code generation removing "is" from getter method name.
    IDEA-114256 (Bug) Completion popup should prefer option without prefix
    IDEA-114280 (Bug) Compiler allows use of uninitialized member
    IDEA-114169 (Bug) unreachable code inspection mistakenly highlighting outer exception
    IDEA-113710 (Bug) Complete Current Statement broken for generic methods
    IDEA-114314 (Bug) "Convert to variable argument method" action removes "final", if present
    IDEA-114292 (Feature) Extract method: The option to set up the default visibility
    IDEA-114102 (Bug) Extract method: better automatic name suggestion basing on comment before
    IDEA-114737 (Bug) Incorrect "effectively final" warnings for lambda expressions.
    IDEA-114528 (Bug) Invalid highlighting range when overridden method mismatches parameter annotation
    IDEA-57252 (Bug) Error 'cannot find symbol class B' is not highlighted
    IDEA-57274 (Bug) Error 'types pck.I and pck.A are incompatible; both define foo(), but with unrelated return types' is not highlighted
    IDEA-67518 (Bug) Error 'cannot find symbol class C' is not reported
    IDEA-67591 (Bug) Error 'cannot find symbol class B' is not detected
    IDEA-114557 (Bug) JavaDoc: variable name in param tag is copied from interface

    5. Source links :

    4 October 2013

    Android Studio 0.2.11 Released

    A new Android Studio 0.2.11 Released

    Quick Table of content.
    1. Intro
    2. My observations
    3. Release notes from Android Studio 0.2.11
    4. Release note from  IntelliJ IDEA  13  EAP 132.425 
    5. Source links

    1) Intro
    This entry is not just copy and paste of release notes.
    It includes my observations about changes also.
    If you are interesting in plain  release notes ,open links from Source link (bottom of entry).
    Keep in mind,that this blog entry is usually update few times (when i made more observations).

    2) My observations

    Tests:
    1. Updating IDE (It went smoothly)
    2. Install IDE  from fresh  (It went smoothly)
    3. Creating new project (TODO)
    4. Import project (I had tiny problem)
    Update went smoothly (from 0.2.10 to 0.2.11).
    It didn't cause any problems or side effects.

    It seems this week update is bit bigger than usually and contains few changes that are interesting for me.
    They improve 2 things

    They add lots of useful  Improvements for Quick Documentation and 
    they improve running process is improved as you can now  automatically show logcat window on run and they fix bug with "Clear log before launch" checkbox as it didn't works in past,so my last 2 problems which I had with running process are fixed.


    As I do not use Gradle in my project as my project are very simple,but from what i heard and I expeirenced so far .Using Gradle with Android Studio is still big Pain in the ass.
    For example:
    In this version .I had a problem with import project using gradle plug-in as I saw error:  "Cannot create directory path.to.myideaproject.idea"    but .. appertaly,it is known issue
    "Importing a project using the Android Gradle plug-in 0.6.1 and Gradle 1.6 or 1.7 will show the error: "Cannot create directory <path>.idea". The real cause of the project import failure is that this version of the Android Gradle plug-in only supports Gradle 1.8 or later." Source: https://sites.google.com/a/android.com/tools/knownissues



    That's all changes that i spotted,but stay tuned for more updates about changes.



    3) Release notes from Android Studio
    Release notes from Android Studio
    • Updated the IDE base to the IntelliJ EAP build #132.425 sources.
    • Layout rendering
      - Support for designtime attributes, which allow you to show sample data in your layouts without affecting the runtime app. For more details, see Designtime Layout Attributes.

      Included layouts now render the edited (unsaved) contents of other editor buffers
      The layout preview is smarter about when to trigger a re-render; for example, it will ignore edits that affect only whitespace or comments, edits to an attribute that does not yet have a value, etc.
      There's now a large progress indicator in the center of the view for the first render, and a smaller indicator in the upper right corner when re-rendering after editor switches.
      Fixed issue where the render preview window sometimes didn't open automatically on IDE restart, and fixed issue where switching between files would sometimes briefly show the old layout contents.
      Improved error message when you accidentally use a drawable resource in place of a color resource 
    • Text editing
      Resource inlining: Dimension and integer resources are now also inlined, as well as string resources outside method calls. Perhaps more importantly, the long standing issue of resource folds showing stale contents or appearing on the wrong code statement has been fixed (see bug 60529).

      The editor spell checker is now aware of the target language used in a Android string resource file, and will no longer use the English dictionary to flag "errors" in for example Spanish text in values-es/strings.xml. If your base values/ folder is not in English, use the tools:locale attribute on the root <resources> element to let the tools know what your default language is.
      Theme resolution chain display (added in 0.2.10, see Android Studio 0.2.10 Released) now also handles theme attributes (such as ?foo)
      Fixed XML validation for dimensions to allow floating point numbers
    • Android Device View, LogCat
      Console code folding for elided stack frames. When an exception is nested, the VM will truncate the stack display of the inner exception. It does this when it gets to a point where the rest of the stacktrace is the same as in the outer stacktrace, but many users were not aware of that and thought they were missing vital information. In LogCat inside Android Studio, we now create a fold region on the "4 more ...lines" section, and when you expand it we reconstruct the full stack trace.

      You can now view the logcat output of a particular process by just clicking on the process in the device panel. If you don't want this behavior, you can deselect the toggle button "Only show logcat from selected process" on the logcat toolbar.
    • Lint:
      New check for duplicate words in strings

      Fixed some bugs (which had resulted in false positives in source code involving enums or string arrays)
      New projects: Improved package validation. Android application package names have stricter package name requirements than Java packages: Package segments cannot start with an underscore, and only ASCII letters (and digits, dots and underscores) can be used.
      Misc bug fixes in the gradle build area.


    4)  Release note from  IntelliJ IDEA EAP ( Android,Java and Gradle related changes only)   

    Android
    No android specific changes.
    Java.
    Code Completion
    IDEA-114037 (Bug) Code completion should prefer variable names to unimported class names
    IDEA-96713 (Bug) Incorrect options shown for 'implements'
    IDEA-90294 (Bug) Don't use substring match in word completion
    IDEA-112820 (Bug) Console completion popup shouldn't select the first item by default
    Java. Error Highlighting
    IDEA-85961 (Bug) Pattern BACKSLASH_PATTERN = Pattern.compile("
    ", Pattern.LITERAL) is always marked red.
    Java. Intention Actions
    IDEA-113785 (Bug) "Delegate methods" generates duplicate method annotations
    Java. Refactoring
    IDEA-113352 (Bug) Introduce Parameter is brokenIDEA itself fix few things :This fixes the dark theme todo-token color many users reported
    IDEA-85457 (Feature) Android. Add option to automatically show logcat window on run
    IDEA-102165 (Feature) Android XML: show icons for views in code completion
    IDEA-89390 (Feature) Proguard heap size setting
    IDEA-102167 (Feature) Android XML: sort attributes in completion in layout files
    IDEA-91552 (Feature) Support activity-alias for launch activity chooser
    IDEA-101683 (Feature) Add possibility to exclude R class from "Insert imports for inner classes" setting
    IDEA-94431 (Task) Support configuring several proguard files
    IDEA-112932 (Task) Android attribute sorting: "width" should be before "height"
    IDEA-80976 (Bug) Android Logcat "Clear log before launch" checkbox in run configuration doesn't actually clear the log
    IDEA-100046 (Bug) BuildConfig.DEBUG shouldn't be marked as always true/false
    IDEA-102180 (Bug) Android XML: markup nested to string resources should not be reformatted
    IDEA-112979 (Bug) Spellchecker inspection should be suppressed for symbols user cannot edit
    IDEA-87215 (Bug) Android: Quick Documentation from Code Compeltion popup shows "No documentation found", though without the popup quick doc works fine
    IDEA-112293 (Bug) APKLIB modules with incorrect dependencies
    IDEA-113689 (Bug) Cannot disable logcat from appearing when launching app
    IDEA-100044 (Bug) Parceable.CREATOR shouldn't be marker as unused
    IDEA-113328 (Bug) Android Run Config does not see MAIN action in intent-filter
    IDEA-113138 (Bug) Cannot run single method test in android
    IDEA-113446 (Bug) Android maven project import broken again in 132.106
    IDEA-113647 (Exception) Android: AE at AndroidLightClassBase.processDeclarations()

    Gradle

    IDEA-113910 (Feature) Gradle: code insight; dependencies DSL resolving
    IDEA-113861 (Usability Problem) Gradle: it could be possible to hide 'Gradle: download' progress to the background
    IDEA-111335 (Bug) Gradle: task tree is incorrectly displayed if tasks are added to sub-projects via 'subprojects' method

    5. Source links :
    http://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+13+132.425+Release+Notes
    https://sites.google.com/a/android.com/tools/recent/androidstudio0211released

    25 September 2013

    Android Studio 0.2.10 Released

    A new Android Studio 0.2.10 Released

    Quick Table of content.
    1. Intro
    2. My observations
    3. Release notes from Android Studio
    4. Release note from  IntelliJ IDEA EAP  
    5. Source links

    1) Intro
    This entry is not just copy and paste of release notes.It includes my observations about changes.
    If you are interesting in plain  release notes ,open links from Source link (bottom of entry).
    Keep in mind,that this blog entry is usually update few times (when i made more observations).

    2) My observations

    Update went smoothly (from 0.2.9 to 0.2.10).It didn't cause any problems or side effects.

    It seems this week update is bit bigger than usually and contains few changes that are interesting for me.
    They improve 2 things

    They add lots of useful  Improvements for Quick Documentation and 
    they improve running process is improved as you can now  automatically show logcat window on run and they fix bug with "Clear log before launch" checkbox as it didn't works in past,so my last 2 problems which I had with running process are fixed.


    As I do not use Gradle yet(as my project are very simple) ,so my experience is basics,but  However I noticed that it works faster.I am sure for bigger projects, it will be more noticeable than for me.

    That's all changes that i spotted,but stay tuned for more updates about changes.


    3) Release notes from Android Studio
    Release notes from Android Studio
    • Updated the IDE base to the IntelliJ EAP build #132.325 sources. 
    • New integrated performance trace file viewer.
    • Improved Quick Documentation (View > Quick Documentation, or F1)  like ,it resolves framework resources as well, shows the resource resolution chain,is able to preview colors (previously we only showed drawable bitmaps, and textual resources such as strings and dimensions). , for array resources, we now display the elements of the arrays and more :)
    • Layout Rendering improvements like : Layout rendering now detects <include> cycles in layout dependencies and displays the invalid chain ; Added new Nexus 7 device specs to the preview render device list ; and if you have the Android source code installed for the Android version currently being rendered, and a custom view throws an exception during painting, the stack frame displayed in the error output will hyperlink directly to the relevant code in the Android source code for frames in the android package. 
    • Indirect AAR library dependencies are now handled correctly.
    • As usual ,there is bunch of improvements for Gradle Integration too. Much faster project import! ; Android Studio now saves Gradle's VM options across sessions ;
    • Further improvements to the Gradle output parser: it now recognizes duplicate resource errors specifically, and adds separate error messages pointing directly to each of the declaration locations in the separate files
    • Fixed bug where it was not possible to import a project using the Gradle wrapper with Gradle 1.6
    • Fixed miscellaneous bugs, including a deadlock (Sounds interesting ,but no details provided :( )


    4)  Release note from  IntelliJ IDEA EAP ( Android related changes only)   

    IDEA itself fix few things :This fixes the dark theme todo-token color many users reported
    IDEA-85457 (Feature) Android. Add option to automatically show logcat window on run
    IDEA-102165 (Feature) Android XML: show icons for views in code completion
    IDEA-89390 (Feature) Proguard heap size setting
    IDEA-102167 (Feature) Android XML: sort attributes in completion in layout files
    IDEA-91552 (Feature) Support activity-alias for launch activity chooser
    IDEA-101683 (Feature) Add possibility to exclude R class from "Insert imports for inner classes" setting
    IDEA-94431 (Task) Support configuring several proguard files
    IDEA-112932 (Task) Android attribute sorting: "width" should be before "height"
    IDEA-80976 (Bug) Android Logcat "Clear log before launch" checkbox in run configuration doesn't actually clear the log
    IDEA-100046 (Bug) BuildConfig.DEBUG shouldn't be marked as always true/false
    IDEA-102180 (Bug) Android XML: markup nested to string resources should not be reformatted
    IDEA-112979 (Bug) Spellchecker inspection should be suppressed for symbols user cannot edit
    IDEA-87215 (Bug) Android: Quick Documentation from Code Compeltion popup shows "No documentation found", though without the popup quick doc works fine
    IDEA-112293 (Bug) APKLIB modules with incorrect dependencies
    IDEA-113689 (Bug) Cannot disable logcat from appearing when launching app
    IDEA-100044 (Bug) Parceable.CREATOR shouldn't be marker as unused
    IDEA-113328 (Bug) Android Run Config does not see MAIN action in intent-filter
    IDEA-113138 (Bug) Cannot run single method test in android
    IDEA-113446 (Bug) Android maven project import broken again in 132.106
    IDEA-113647 (Exception) Android: AE at AndroidLightClassBase.processDeclarations()


    5. Source links :
    http://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+13+132.325+Release+Notes
    https://sites.google.com/a/android.com/tools/recent/androidstudio0210released

    6 June 2013

    how to solve android-apt-compiler: Cannot run program " \Android\android-sdk\platform-tools\aapt.exe": CreateProcess error=2, The system cannot find the file specified problem ?

    INFORMATION and SOLUTION for people who suffer from compiler do not run after   update Android SDK tools to  22.0.1

    Solution for  Intellij IDEA 12.1 after update Android SDK tools to  22.0.1

    STORY:

    After I updated Android SDK tools to  22.0.1 . My Intellij IDEA IDE refuses to work with error:
    android-apt-compiler: Cannot run program "C:\Program Files (x86)\Android\android-sdk\platform-tools\aapt.exe": CreateProcess error=2, The system cannot find the file specified

    Firstly ,I  panicked ,then i read with understanding error message... and then i quick look into android folder and I discover that Android folks changes path where some stuff are and for example aapt.exe is in build-tools\17.0.0\ not platform-tools as was before.

    WHAT HAPPEN:
    Since  Android SDK tools  22.0.x ,there was path changes for bulid tool.Now,each build tools has own folder  under build-tools folder.I assumed it has to do with possible allowance to have a multiple build tool versions for whatever* reasons.

    TEMPORARY SOLUTION

    While you waiting  new release of IntelliJ IDEA (or your IDE) ... you need copy 1 folder(lab with dx.jar) and 1 file( aapt.exe)

    from: (instalation path)\Android\android-sdk\build-tools\17.0.0\ to
    to: (installation path)\Android\android-sdk\platform-tools
    and
    from: (instalation path)\Android\android-sdk\build-tools\17.0.0\aapt.exe
    to: (instalation path)\Android\android-sdk\platform-tools\aapt.exe

    if in windows your default path is C:\Program Files (x86),then

    from: C:\Program Files (x86)\Android\android-sdk\build-tools\17.0.0\lib\
    to:  C:\Program Files (x86)\Android\android-sdk\platform-tools

    from: C:\Program Files (x86)\Android\android-sdk\build-tools\17.0.0\aapt.exe
    to: C:\Program Files (x86)\Android\android-sdk\platform-tools\aapt.exe

    after that everything will works again :)...

    UPDATE(11.6'2013): Problem is solved in Intellij IDEA 12.1.4 (they have done 70 various fixes)

    * I am sure that Android folks has official explanation for that ,but I didn't find it (by i didn't i mean too lazy to find)  .

    20 April 2013

    Netbeans vs Eclipse vs IntelliJ IDEA 2013 Edition


    Warnings:
    • This is extremely subjective review.
    • I am junior software developer (5 years experience), not a expert.
    • I am not professional blogger
    • I focus on usability and everyday experience rather than technical data
    • It contains sarcasm

    Info:
    • This review based on  Netbeans 7.3, Eclipse 4.2.1, IntelliJ IDEA 12.1 
    • I suggest prepare strong coffee (double or quad expresso)
    Suggestion:

    • Make a strong coffee as it is rather long article


    Table of content:
    1. Introduction
    2. Installation
    3. Changes since last year
    4. GUI Usability
    5. Everyday usage
    6. Stability Plugins
    7. Others
    8. Android Development
    9. Conclusions
    INTRODUCTION
     
    I wrote an article 1 year ago about comparison between Netbeans vs. Eclipse. I updated few times since then (I added IntelliJ IDEA and I updated again, when I gain more experience with IntelliJ IDEA). It was a most popular post. Eclipse, IntelliJ IDEA and Netbeans got few updates over year. I decided to re-write last year post and update information about my experience with Netbeans, Eclipse and IntelliJ IDEA.



    INSTALLATION PROCESS


      I installed all three new IDEs from beginning. Installation of Netbeans and IntelliJ was boring as everything went smoothly and program run without any complain. Eclipse's installer could not find JDK and did not want run. It does not matter it was 32bit/64bit. It did not run Eclipse is extremely fragile for path settings in Windows 7, which all other programs seems to have no problem with that.
    If you want use Eclipse on Windows, 64bit but you need do stuff in 32bit world, then.... GOOD LUCK as it will be pain in the ass, specially, if you are beginner.
    With Eclipse, I must mention another thing. Update. It can be nightmare as randomly, you cannot update something because problem occurred (usually, due null pointer exception reasons). Most funny part is that problems disappears usually after few attempts, project clean up, restart IDE, restart PC or next day. I still remember disaster with update STS from 2.7.2 to 2.8.0 that cause big problems (mess up Maven, project configuration files etc.). It was a nightmare for software developers who need reverse destructions caused by STS. (It took in my case half day, but I heard some people need 2 days!).
    Another surprise is that Eclipse Juno examples  ... has not signed certificate for own sample project :).
    I need to mention that. It seems recent  STS updates do not cause too many problems, but  I have heart attack every time I think about update Eclipse/STS.(Android IDE is a exception from this rule).
    When I installed STS (one of the most popular Eclipse IDE mods (modification)) on my laptop with Windows 7, Windows Compatibility Assistant said, that settings are wrong and asked for ... reinstall. I did and then … STS runs.
    This is a reason, why I have advice. Do NOT update, if you are in the middle of development or your deadline is soon. Eclipse/STS can doom you!


    CHANGES SINCE LAST YEAR:


    Netbeans did not change too much since last year. They improved  performance and improve  a lot stuff in Java ,html, CSS (I don't about stuff in PHP, Groovy and C/C++ ,so I can't write anything ). Biggest difference can be seen in HTML5/CSS. That is it.


    Eclipse has major change from Eclipse 3.7 to 4.2 it looks a bit less horrible, but on my Windows 7 Eclipse’s GUI on like mix of... windows XP with Windows 95. GUI seems to be more flexible that before, but it cause weird problems as things like to disappear and few more problems. I still cannot find  many things in  this IDE. It is a total chaos. It looks like room after big student party  .mess and chaos that is impossible to describe as it beyond of scale. For whatever reason, everything is put in random places. For example. What you need to do in order to uninstall plug-in? Is it in plug-in options? No. You need go to about, etc. There a plenty examples of mistakes in GUI design, which confuses many users.
    Eclipse remains as IDE with worst GUI, Usability (and many more, as you will discover later)

    STS changes a lot since last year.I can see  major performance and stability improvements related to Spring projects. I am slowly start likes STS again after serious of crap releases that causes lots of trouble .It is better than Eclipse for Spring stuff.


    IntelliJ IDEA. It changed quite a lot. They make lots of changes with frameworks support, but it requires an ultimate edition, but because I am using Community Edition, so I can’t test  too much.
    Most important for me was feature Android UI Designer, which maybe it does not looks as nice as Eclipse ones but is very handy and do stuff ... well. (I think Eclipse implementation is  much better).
    They change lots of stuff with code completion and with many developer tools and these changes make IntelliJ IDEA much better.


     GUI 

     Eclipse looks ascetic and primitive. It seems like Eclipse designers has allergy on colours and does not like using colours. Worst and ugliest GUI among IDEs.

    Netbeans is opposite. It is most beautiful in my opinion. Simplicity and usability of GUI is one of the strongest points of this IDE.

    IntelliJ IDEA 12 looks much better compare to previous versions. It looks much better than Eclipse and worse than Netbeans. The main problem with GUI is that it reminds me a mix of modern design with elements of Windows 3.11 theme in few places.  Code highlight is so-so. Otherwise, it is OK.


    STABILITY


    Netbeans simply works and almost everything seems to works. I have maybe few issues with this IDE but I am impressed with stability of this IDE.

    With IntelliJ IDEA was bit worse and I had few minor problems during 11.x series, but since IntelliJ IDEA 12.x. I did not have any problems. Installation and updates works. All features do jobs. There is No reason to complain.

     Eclipse is like fanatically moody girl before period. When you update an Eclipse, You know , that often , magic various shit happens and you need restore your project from backup .Quite often is better to reinstall Eclipse rather than update. Various elements in eclipse love to crash for no reason. It happen often and you need spend half day to solve problem (with Eclipse plugins is even more funny).
    If you see error and it is unexpected and looks weird, then press clean build and from time to time is good to restart Eclipse .It should helps with unexpected error messages that disappear after restart of IDE.I must admit that recent updates of Eclipse are better.





    DEVELOPER TOOLS

    Refactoring, build manager, vcs and etc.


    Most features are built-in in IntelliJ IDEA and it works very well. Git, Maven and other tools works well and as expected. I think developer tools implementation in IntelliJ IDEA is the best among all IDE’s.

    Eclipse supports almost everything. It is first IDE that got support for new 'technology' (language, framework, etc.). This is great. Problem is that these plugins are most buggy and has worst implementation .It takes ages before plug-in works, as it should.
    Many people who has privilege to use Eclipse fit into this description.  "I  wanted to  Eclipse because it has support for all languages and their frameworks , version control systems , build managers and other system which I needed in my project .Unfortunately I gave up using plugins as used command line as plug-in they was too buggy , unreliable slow and too primitive to perform most tasks".
    It applies to me as well. I still using command line for Maven, Git, and Groovy instead of plugins in Eclipse to achieve most task. I do not do that, when I use IntelliJ IDEA or Netbeans.

    I did not use Netbeans for complicated project, but standard tools and features works smoothly. Netbeans is usually last to get support for framework and it is quite behind with support many features that plugins should offer.  It is only one thing, which I do not like  ... spellchecker, which is useless. I found Netbeans is very good for web based project and unit testing.

    USABILITY  AND EVERYDAY USAGE


    I really enjoy time with Netbeans. It looks nice, it is stable and it is very simple in use. It lacks of various plugins and support cause some problems with using for specific projects. Always, when I use Netbeans, I focus on produce code and I think this is best in Netbeans .Simplicity and nice GUI. It makes development... nicer, but lack of support can be a problem in complex project.

    In other hand, Eclipse has support for almost all java (and non-java) technologies. It is unbeatable in amount of plugins and powerful IDE .However, using Eclipse is like swimming in septic tank. It is big, clumsy and stinky. Solving simply problem takes hundreds steps to do. I use Eclipse only I must as I am get annoy by amount of fake problems raised by Eclipse and time wasted on solve them. If weird error occurred, then follow this procedure. First what you need to learn is … that, if you see error, then try performing last task again. If not helps. Go to Project, choose “Clean project”, and if problem still exists. Try restarting IDE. It solve 99% unexpected and mysterious bugs (created by Eclipse and it exists in Eclipse only). I waste many hours to fix bugs that … exists only in Eclipse .It can be a nightmare using Eclipse from time to time.



    Work on IntelliJ IDEA is great and my experience with this IDE is better and better. It does not look as good as Netbeans. Code highlight is uglier too, but when you start using auto-completion and other features and developer tools, then you quickly, notice that IntelliJ IDEA is unbeatable .I can say that IntelliJ IDEA is my favourite IDE right now for everyday usage. It is very helpful in development.


    SEARCH:

    Search is one of most confusing feature in Eclipse .First mission is to learn ctrl+f, because it will pop-up a normal search that doing search. Eclipse has search in top menu is powerful but it cause many troubles and many result end up with error pop-up message with "encored problem".
    Netbeans and IntelliJ IDEA has good search feature that allow you to find all sorts of things in way that you understand and I never seen error message with nonsense.


    AUTO-COMPLETION:

    IntelliJ IDEA is very smart with auto-completion.it is a best implementation .Netbeans is OK, but is bit simpler.  Eclipse. ... well. Recently, I was surprised by Eclipse and way how it helps me solve problems .This is example of suggestion of ‘quick fix': 


    I have a method

       public void testAEcwid(){
    ... I have 2 methods that throws a Exception
    }
    so I press quick fix. This is what happen in Eclipse:
    public void testAEcwid() throws Exception, Exception{
      ...
    }


     As result shocked me,so I tried the same stuff in  Netbeans and IntelliJ IDEA. Result was:
     
    public void testAEcwid() throws Exception{
      ...
    }
    As expected. As wanted.

    REFACTORING:


    I must say that all IDE do their job well.
    IntelliJ IDEA seems to be most advance and most smart. Eclipse is smart too, but for few cases, it has done terrible bad, which cannot be undone. Therefore, it was few cases, when I swear a lot to undo manually what Eclipse cannot do.
    I did not do too much refactoring in Netbeans, so I cannot write too much. Basic features seems to works well.



    OTHER:
    Another annoying thing with Eclipse are tabs.It keeps deleted file with message (this file doesn't exist any more),so why bother? if you detect

    ANDROID DEVELOPMENT

     
    Last year Eclipse was one of two options for android development and Eclipse despite official support was piece of junk.
    In old version things does not like to works.  I tried adding tabhost ...but eclipse occurred problem, so I restart Eclipse. Problem with tabhost disapear, but it has problem with something else. I press 'clean build'. Problem disappears but after 4 minutes, another problem appears and disappears randomly repeatedly. After 20 minutes of being pissing off for random reasons, I just gave up using Eclipse. You  needed to use 'clean build' constantly and deal with unexpected  mess up everything for no reason that prevent you to create new build.

    However android support plug-in for Eclipse was updated few times since then, it changed a lot, and it is much better but be honest use ADT Bundle from Google instead of plain Eclipse ones. It is very good tool for Android development.

    IntelliJ IDEA 12
    supports Android development too. If you starts project from scratch, then it will be a nice and smooth starts. (It may require bit of fun with settings), but things get quite complicated. If you after install IntelliJ IDEA 12.You want to continue  project which you created before, then I get into few problems due problems with java jre, Android ski and libraries. Easiest solution was. Create a new project for Android. Setup everything .Run "hello world". In addition, import project, then things seems to work (except with add library projects into project).
    So first impression varies depends on how you start. Devloping Android app with this IDE is amazing, because IntelliJ IDEA has much better tools that helps development. Making app for Android is quicker and painless.
    Last year. Biggest problem with IntelliJ IDEA was a lack of proper GUI Builder .IntelliJ IDEA 12 solves this problem but it is not that great as Eclipse one. However is much more stable than Eclipse.
    Netbeans. I know, that Android plug-in for Netbeans exists and it was bit problematic, but I never used, so I cannot make any opinion about it. Yet. I have plan to do quick project soon, so I will test Netbeans and android plug-in and update this section

      On Google IO 2013,they showed Andorid Studio IDE based on  IntelliJ IDEA !
    I am very glad with that announcement. It means  IntelliJ IDEA  will have better quiality features for Android ! My first impression  with Android Studio was very good.It works,more-less and it works almost   the same as on  IntelliJ IDEA with Android plugin at the moment..




    PLUGINS , EXTENSION , ADDONS AND ETC.


    Eclipse has much more plug-ins than Netbeans and IntelliJ Idea, but install them can be quite difficult, because Automatic update quite often does not work due "No f... reason”. Manual updates in theory is easy but it sometimes works and sometimes not, because ... again. .. "No f... reason”. It works and does not work... randomly, but if Eclipse almost first that get plugin for new frameworks and technologies.
    Netbeans has smallest number of extensions and there are behind in terms of available functionality, compare to plugins in other IDE. Good news is that they works very well (Automatic and manual installation did not cause any problems (apart some minor).Some third party plugins are easy to install as well.
    IntelliJ IDEA has much built-in functionality so it does not require too many plugins (Problem is that many of these built-in features are available for ultimate (paid) version only.
    .I installed few plugins and they works fine.


    CONCLUSIONS. 


     IntelliJ IDEA .
     
    It is a great IDE.  It has many useful tools and features that make developing a great experience. More experience I have with IntelliJ IDEA, then bigger fan of I am. It makes my Android development a pleasure experience. (Although, I still miss few android tools from Eclipse). I get use it that it looks bit ugly.


    Best for: professional use.
    I like MOST for:  developer tools (refactoring, auto-completion and etc. )

    Summary bullet-points for  IntelliJ IDEA:
    • + Rich built-in functionality.
    • + Good Android support.
    • + Excellent built-in developers tools
    • + Great impleementation of basic features like auto-completion ,refactoring and search
    •  - You need paid version for many useful functionality
    • - Import Android project as first Android project started after install  IntelliJ IDEA can be a nightmare.(Workaround exists).


    Netbeans ... I still like you! It is a best-looking GUI and best java highlight.  I using Netbeans for prototyping some of my project, update website and for write examples for this blog. This job is done very well. It is a bit problematic to develop very advance project with big complexity, but with some workaround. It is a very good IDE.


    Best for:  beginners.  Java projects Website (html, css, javascript ,php ) projects
    I like MOST for:  GUI, highlighting, simplicity.

     Summary bullet-points for Netbeans:
    • + GUI
    • + highlights
    • + Simplicity
    • + Great HTML , CSS ,PHP , JAVASCRIPT support
    • + Good basic features
    • + Stable
    • + 64bits works without problem.
    •  - plugins (low number,not up to date,functionality)
    •  - Stays very behind other IDEs in add new technologies 
    •  - Spell check

    Eclipse


    I use term 'Eclipsify' borrowed from play framework to describe: change simple/useful now is clumsy and complicated. If you hate your live as java developer, Eclipse is good to improve your hateness. If you like to see error message ,that appear from nowhere ,you couldn't solved and disappear magically after few clean project Eclipse are like my project that I didn't design them first. They are clumsy and overcomplicated. I hate you. For no reason you can waste 20% of your time, that you will spend on ... solving bizarre problem with Eclipse. It has biggest plug-in support, but they cause troubles that I end up with using command line instead (Git, Maven, etc.)
    Why I hate Eclipse?
    It fails and it disappoints me all the time. I import eclipse project from someone and for complex project that using  weird stuff it is 90% chance that will not work with my Eclipse and IDE doesn't give any sensible explanation ... why. Recently after  It was some technical issue with libraries I spent 1,5 day to solve problem and I give up So I import project into Netbeans I needed .... It takes 15 minutes to solve all dependencies and other issues and make ...Eclipse project works smoothly in Netbeans. It happens few times already, when I need to prove is imported Eclipse project works I use Netbeans to check out. Second thing. Eclipse is great because has plugins for newest hot stuff very quickly. Problem is that I end up with using command line (for git maven and other things), because plugins or does not works or cause problems. Third. When I update Eclipse (or specially STS), then I do backup, because it happens few times that my project was destroyed by mess made by Eclipse/STS
    Best for:  It has largest amount of plug-in. It is almost first IDE that support new technologies .If you want improve patience .If you like waste lots of time on solve mystery problems.
    I like MOST for: amount of plugins available and this is first platform, which usually get plug-in from new technology.

    • + Biggest number of plugins
    • + First IDE that get support from new language, framework and technologies
    • + Ability to create custom IDE based on Eclipse (like Android IDE,STS)
    •  + Great Android support. 
    • - Ugliest GUI
    • - Unreliable 
    • - Usability
    • - Stability
    • - Stability
    • - Stability
    • - Plugins quality
    • - Slowness
    • - buggy
    • - buggy
    • -  DEVELOPER TOOLS
    • - 1000's spontaneous fake error messages
    • - 100's problems caused by "encountered error" or  " null pointer exception"
    • - update system cause disasters
    • - time wasted on poor performance,solving un-existing problems created by Eclipse
    • - Installation can be tricky for 64bits
    I think Eclipse is like Justin Bieder for music. Popular but ...

    STS still so weird to use.
    It has lots useful stuff,but amount of 'bizarre problems occur' is really annoying.
    It is a incredible slow too.

    Android IDE works quite well and Android Development is cool. It suffers from few usual Eclipse clumsiness but ..in general is good.


    SUGGESTIONS ,which IDE is good for:

    Remember! This is my suggest based on my experience and preferences.
    Don't follow them blindly.


    If you are beginner?

    Netbeans.
    If you learn Java.Netbeans is great.
    Nicest GUI. Most readable highlights for Java.
    It makes your learning programming experience most enjoyable.

    I made massive improvements after switch from Eclipse.
    BlueJ was a first tool to learn Java for me.

    At work?

    If is no any company's policy for that,then follow golden rule.
    Use IDE that fit best for the job.
    If your favourite IDE can do 95% of job, then try use your  favourite IDE first.

    If you continue project started by somebody,then....

    1. Use IDE that fit best for the job. (Convert, if necessary or make project IDE independent,if you can or you are allow to it!)
    2. If your favourite IDE can do 95% of job, then try use your  favourite IDE first.
    3. If program is completely depends on specific IDE.

    If you temporary join to project , use this person's IDE (except if you have good reason to change , like u know that other IDE will works much better and much more efficient and you take over somebody else project ).

    For your private project.
    If you can,use your  favourite IDE, if not then  IDE that fit best for the job.
    For example for quick Java project, php and etc. use  Netbeans.
    If you using cutting edge stuff ,then Eclipse will have quickest support for that.
    For Android IntelliJ IDEA  or Android IDE.


    Update 1 22.7'2013
    I added tiny paragraph to Android development

    Any interesting feedback and comment  are warm welcomed.