You can use an IDE of choice on your host PC to connect to the Raspberry Pi remotely via SSH. Visual Studio Code is recommended as it supports collaborative development using [Visual Studio Live Share](https://visualstudio.microsoft.com/services/live-share/?rr=https%3A%2F%2Fwww.google.com%2F):
7. Configure Development Environment
You can **either** directly edit the source code locally on the RPi **or** edit it remotely through ssh or samba. Choose the preferred setup for you:
### Local on RPi
Visual Studio Code supports ARM devices and can directly be installed on a Raspberry Pi, depending on the RPi model this can be slow, but with RPi3 and newer models it should be ok.
The following [tutorial](https://pimylifeup.com/raspberry-pi-visual-studio-code/) describes the steps for Visual Studio Code installation on an RPi.
### Remote from PC/Laptop
You can use an IDE of choice on your PC to connect to the Raspberry Pi remotely via SSH. Visual Studio Code is recommended as it supports collaborative development using [Visual Studio Live Share](https://visualstudio.microsoft.com/services/live-share/?rr=https%3A%2F%2Fwww.google.com%2F) and remote development on a linux machine or container.
### Visual Studio Code
Visual Studio Code provides a Remote Development Environment using SSH to connect to a Linux machine (e.g. Raspberry Pi with SSH enabled).
You will need Visual Studio with [Java IDE Pack](https://marketplace.visualstudio.com/items?itemName=pverest.java-ide-pack) and [Remote Development Extension Pack](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack).
The following [tutorial](https://code.visualstudio.com/docs/remote/ssh) describes the steps for remote development with SSH.
### Eclipse with remote system explorer
Eclipse supports remote code editing, but with no IntelliSense support.
You will need Eclipse with Java language support and [Remote System Explorer extension](https://marketplace.eclipse.org/content/remote-system-explorer-ssh-telnet-ftp-and-dstore-protocols#group-details)
### IntelliJ IDEA
IntelliJ idea does not have direct remote development support, but IntelliJ IDEA can be used for remote editing if the source code on the remote machine is made accessible by samba share.
You can then open the source code project on the network share and edit the code as if it was local.
Have a look at the [Samba/CIFS tutorial raspberry pi tutorial](https://www.raspberrypi.org/documentation/remote-access/samba.md).
1. Visual Studio with [Java IDE Pack](https://marketplace.visualstudio.com/items?itemName=pverest.java-ide-pack) and [Remote Development Extension Pack](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack)
1. Eclipse with Java language support and [Remote System Explorer extension](https://marketplace.eclipse.org/content/remote-system-explorer-ssh-telnet-ftp-and-dstore-protocols#group-details)