IDEs are used to make your life easier. You may do well, using text editors like vim, emacs, or sublime text, but you may want more (auto-completion, code hints, auto-import, syntax errors hints without needing to recompile the project, etc.), without too much configuration.

This course is about JetBrains's IDEs,

  • CLion: write C or C++
  • IntelliJ: Java, R, OCaml, SQL
  • PHPStorm: Write PHP, HTML/CSS/JS, Node/Typescript, SQL
  • WebStorm: same as PHPStorm without PHP and SQL support
  • PyCharm: Python
  • AndroidStudio: Write Kotlin/Java for Android, by Google and JetBrains

It's a feature of JetBrains: instead of providing an IDE that is only doing its job, their IDEs are providing advanced help, and language-specific features, without too much configuration. The best alternative in one IDE would be VSCode (free), you should try it too.

The IDEs are free for students (you may apply for GitHub Student Pack too here). You can download all their IDEs using the toolbox.

Note: this course was made before the major releases 2021.2 so a lot of things have yet to be updated.

What you can expect (or not) from their IDEs

  • Important size/ram consumption

You may install many IDEs, 3 of them are taking around 10Gb and around 700Mb per download. The RAM consumption is somewhat important (sometimes could take 1Go~2Go). If you do not have a good computer, you may use Projector, which allow you to use a remote IDE (not tested, it seems you need another computer "the server" running your IDE, while your slow computer will be "the client").

  • auto-install

The installation of Java, JavaFX, etc. is simplified and could be directly done inside the IDE (in like one or two clicks). You can easily install and update dependencies (and you got head-ups when they are not up-to-date).

  • consistency

Their IDEs are using the same interface, almost always the same shortcuts, and in all of them, you got the "CodeWithMe" feature (allowing you to invite a friend on your computer to code with you).

  • random features
    • the code hints/advice (that's the only reason why I would recommend their IDEs: their hints are quite good and better than in VSCode for instance)
    • git integration and colors for files
    • generating UML from your code
    • basic spelling checker
    • remote working (for a website, opening a project on a server)
    • refactoring (deep renaming)
    • file history (you got a history of your changes even without git)
    • database (you can access your database inside their IDE)
    • you can easily connect to SSH/explore a remote server (like in FileZilla or using the command line)

Interface presentation

JetBrains's IDEs are underlining in

  • red: errors
  • yellow: warnings
  • green: typos
  • or color in grey unused variables

You may click on an underlined word and press alt+enter to see a quick fix of it.

IntelliJ IDEA

Examples of cases where you might be using it

  • code in Java (with or not with Gradle and Maven)
  • code in Kotlin
  • code in R (with a plugin)
  • code in OCaml (with a plugin)
  • code in JavaFX and with Scene builder

One thing to note is the menu Project structure(CTRL+ALT+MAJ+S). You can

  • change your JDK
  • change your module configuration (set source folder, tests folder, output folder, ...)
  • add libraries (such as JUnit4, ...)

Then some tutorials


Examples of cases where you might be using it

  • code in PHP
  • code in HTML/CSS/JS or Boostrap (but WebStorm might be wiser)
  • code in Node.js

Please note that you can directly code on a server, which may be useful for those that were uploading their files each time they changed on a server.


Examples of cases where you might be using it

  • code in C
  • code in C++

CLion was using CMake to compile your project, but since 2021.2, it's now really easy to use a Makefile. Still, since CMake was not that hard, I'm letting it here.