Getting Started with IntelliJ IDEA - A more complete solution
Whether or not you've done applications programming you've probably heard about how the framework of choice is JavaFX. This isn't the most friendly approach for people who are just getting started, fresh out of Prog 1 or even Prog Fund.
Let me tell you that there's a better way.
IntelliJ Idea, for free with your university email does all the setup for you. It automatically installs the correct Java version. It gives you a starter project for JavaFX and has advanced features like automatic imports and inbuilt documentation.
Rather than spending weeks messing around trying to get the right versions of Java and antiquated versions of JavaFX to work together you can simply avoid all the fuss and get a better experience for it.
IDEA is a paid product that covers all the bases and has premium features you might've missed in a program like Netbeans.
The same goes for the rest of the Jetbrains products, PyCharm for Python and Webstorm for web development.
Whilst they may not be as flexible they can do one thing and do it well unlike VSCode or other plugin or extension-based editors which, while flexible might be missing some core and nice-to-have features that you can only find in an editor dedicated to what you're doing.
Here are some of my favourite features:
- Project Templates - JavaFX, SpringBoot, Android and many others.
- Dependency Indexing - VSCode tries to find what things you want to import on the fly but IDEA does it whenever you add a new dependency.
- Refactoring - Can refactor your functions and classes into new ones, keeping your code clean.
- Solid - Because it's purpose-built for Java it has many optimisations and customisations suited specifically for what you're doing.
- Version Management - Automatically installs whichever flavour of Java you need (along with the right dependencies)
If you've tried VSCode and feel that it's not up to scratch or found that Netbeans felt clunky and incomplete I would definitely recommend giving IntelliJ IDEA a go.