Running iDempiere within VSCode
Status: This is Work is in Progress, but it may be useful as it is.
This guide explains how to run iDempiere within the VSCode, NOT AS A REPLACEMENT for the Eclipse IDE, but just as an alternative for developers that prefer this editor.
Another great possibility that this brings up is the hability to use modern remote workspaces features like Code Server or Eclipse Theia instead of using remote desktop software with graphical environments.
1 - Prepare a default working workspace for iDempiere development
code --install-extension vscjava.vscode-java-pack
code --install-extension yaozheng.vscode-pde
code --install-extension lgdd.vscode-osgi
4 - OPTIONAL (for Eclipse old people like me xD ): install the Eclipse Keymap extension
code --install-extension alphabotsec.vscode-eclipse-keybindings
5 - Open the $IDEMPIERE_REPOSITORY folder with VSCode and wait the Maven tasks to finish running. At the end your workspace will still have many errors, as we still need to load the Target Platform
6 - Now it's time to reload the Target Platform. For that you just need to right click on the org.idempiere.p2.targetplatform -> org.idempiere.p2.targetplatform.target file, select the Reload Target Platform option and wait until the task is done.
7 - After you finished to reload the target platform all your workspace erros should be gone (just warnings may be displayed) and you can configure you server with a right click on the org.adempiere.install -> install.app.lauch file, select the Debug PDE application option and then the install dialog will show up.
8 - With all information validated it's time to run/debug your iDempiere server by right clicking on the org.adempiere.server-feature -> server.product.launch file and select the Debug PDE application option. As with Eclipse, you can follow the execution logs in the Java Debug Console and whether everything has been fixed correctly or iDempiere can be accessed through your preferred browser.
9 - Jus for reference, this is a simple debug screen using VSCode
- All the steps listed here was executed using the current master branch (8.1 version)
- Special thanks to Jinbo Wang that helped with the PDE extension on latest Eclipse versions