Dev Env Setup
Dev env setup is (at this stage) mainly about choosing a proper IDE for development. There is a large number of (free) IDEs around. You should make an "educated decision" about the right IDE for your needs.
Overview On Some Frequently Used (Free) IDEs
IDE | Description | Pros | Cons |
---|---|---|---|
Intellij IDEA Ultimate | Seeming the "de facto standard" amongst the heavy-duty IDEs. Ultimate version is not free in general, but free for academia and students | Very feature-rich and versatile, out of the box | Heavy, needs a lot of memory, takes a long time to start, only on project at a time open |
Eclipse Kepler | The godfather of rich IDEs | Similar to Intellij: Very powerful, very versatile, can handle several projects | A bit out of fashion, complex to learn, heavy memory footprint (as Intellij) |
Android Studio | Probably used in CE02, based on Intellij, focuses on Android development | see Intellij | see Intellij |
Visual Studio Code | Middle ground between the "heavy" and the "light-weight" IDEs; specially packaged version for Java available (only Windows!) | Main IDE features available, can be extended nearly indefinitely using plugins, starts up very quickly, great for Markdown editing | Not as powerful as Intellij (at least out of the box), plugin search is sometimes a bit annoying when you're not used to it |
Atom | Very light-weight editor, often used for IoT projects | Very fast to stard, small memory footprint | Feels a bit light-weight sometimes for large Java projects, misses many nice features |
Recommended IDE
In this course, the supervisors will use Intellij IDEA Ultimate. You don't have to follow this recommendation, but then you're on your own with IDE, we will probably not be able to help you there.#
See e.g. this post for a more in-depth comparison if IDEs.
Intellij Installation
Installation is easy, usually completed in minutes. A great installer offering you sensible defaults, package complete. Class and test setup in minutes. Everything that isn't self-explanatory (that is not much) can be found with first Google hit.
Please see IntelliJ for Students for the acadamia free version.
Example Intellij Features That Are Great In Development
- Refactor options (e.g. rename): shift-F6
- Presentation Mode
- run JUnit tests
- Auto-formatting: ctrl-alt-L
- Auto-formatting on save:
- Go to Edit > Settings > Plugins
- Click Marketplace
- Type "Save Actions" so that you see the plugin
- Install it (the IDE has to be restarted)
- Open Settings > Save actions
- Activate save actions on save: Reformat file
See here for a feature overview (disclaimer: Intellij marketing material, but nonetheless useful).
Code Documentation in Intellij
This article is an excellent summary of the various ways to access documentation on Java standard classes and data structures: https://www.jetbrains.com/help/idea/viewing-reference-information.html
At the bottom of the article, there is advice how to configure Javadoc out of the code.
Other IDEs
It is good practices to use several tools just where they shine. Example: Markdown editing with VS Code.