I'm on Mac OS X and have a license for IntelliJ Ultimate. Is it at all possible to use IntelliJ as an IDE for Arduino projects?
6 Answers 6
You can now use Jetbrains' CLion to develop and run Arduino sketches. Just grab the Arduino plugin!
Open Clion and go to Configure/Settings/Plugins. Choose 'Browse Repositories' search for Arduino, and click install. (There are two. One is a fork of the other. I recommend picking the one that was updated more recently.) Then restart Clion.
You'll now see the option to create a new Arduino Sketch Project!
-
\$\begingroup\$ I think that Intellij IDEA Ultimate license doesn't cover CLion \$\endgroup\$Дмитро– Дмитро2022年08月14日 09:22:26 +00:00Commented Aug 14, 2022 at 9:22
-
1\$\begingroup\$ Ultimate covers Lion, but there is no Arduino plugin (2024.11) for CLion 2024年2月3日 on the marketplace. It looks like the plugin is dead. \$\endgroup\$Maciej Miklas– Maciej Miklas2024年11月08日 09:08:46 +00:00Commented Nov 8, 2024 at 9:08
-
1\$\begingroup\$ Yeah, oof. I downgraded to CLion 2022年3月3日 for now in order to continue using it 🤷♀️ \$\endgroup\$Aphex– Aphex2024年12月20日 02:48:14 +00:00Commented Dec 20, 2024 at 2:48
I've opted for using XCode, managed to find some templates online. Way better than using the standard Arduino IDE.
-
\$\begingroup\$ Eclipse (On windows) with AVRDUDE works well, eclipse can run on Mac, though I'm not sure if the AVRDUDE plugin will. \$\endgroup\$aaa– aaa2015年07月31日 14:41:47 +00:00Commented Jul 31, 2015 at 14:41
You can use PlatformIO together with any IntelliJ product. Here is an article about how to wire them together: http://jandevblog.blogspot.com/2016/01/how-to-use-intellij-idea-to-develop-and.html
You will only get limited support. There is a plugin available for C/C++, which will help you with stuff like code completion and syntax highlighting (you will need to define the sketches file type as C files). You also can integrate external tools (in the global settings), to add support for e.g. compiling and uploading sketches.
But you won't get any specialized support (like choosing which board you have, or browsing sketches), you need to configure everything manually. If you can live with that, IntelliJ IDEA might even be better for day-to-day editing work. 8Note that I didn't try anyone of these things...)
A late answer, but perhaps of help to someone:
IntelliJ ReSharper C++ comes quite close to supporting Arduino. Here's a ticket for the key tweak, supporting the .INO file extension: http://youtrack.jetbrains.com/issue/RSCPP-5683
As was mentioned in a previous answer, the best bet for someone who is already familiar with the IntelliJ family of products is to use CLion with the Arduino and Serial Port Monitor plugins. Here are the steps to get started:
(Preliminary - if you are on Windows 8 or 10, make sure you have installed the Arduino IDE using the full-download from https://www.arduino.cc/download_handler.php. Do NOT install it via the Windows Store because it will not install the SDK at the expected location.)
- Download CLion: https://www.jetbrains.com/clion/download/#section=linux-version
- Start CLion and open up the Settings->Plugins dialog, then click on the "Browse Repositories" button.
- Enter "Arduino" in the search field - this will result in two plugins being displayed: Arduino V2, and Serial Port Monitor. You will want to install both of them.
- (Arduino plugin can be downloaded separately here: https://plugins.jetbrains.com/plugin/9984-arduino )
- (SerialPortMonitor plugin can be installed separately here: https://plugins.jetbrains.com/plugin/8031-serial-port-monitor)
- Restart CLion.
When you have completed these steps, you can create a new Arduino Sketch project which will automatically create a CMake file for you, which you can edit to configure the type of board you are using and the serial port, etc. Here is an example:
cmake_minimum_required(VERSION 2.8.4)
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_SOURCE_DIR}/cmake/ArduinoToolchain.cmake)
set(PROJECT_NAME HelloArduino)
project(${PROJECT_NAME})
set(${CMAKE_PROJECT_NAME}_SKETCH hello_arduino.ino)
#### Uncomment below additional settings as needed.
# set(${CMAKE_PROJECT_NAME}_BOARD mega)
# set(${CMAKE_PROJECT_NAME}_PORT /dev/ttyACM0)
# set(mega.build.mcu atmega2560)
# set(mega.upload.protocol wiring)
# set(mega.upload.speed 115200)
generate_arduino_firmware(${CMAKE_PROJECT_NAME})