How to use Visual Studio Code with Processing 3

I can’t find instructions how to use, for instance, Visual Studio Code as a replacement for the Java IDE.

I came to Processing after using P5.js,

The default IDE feels very out of date, and why spend resources on something that is not really part of Processing functionality?
Calling it “PDE” and not IDE seems like top of the iceberg of non-standard implementation.
Does not have intellisense, but an opt-in crude “code completion” that does nothing of the kind, method-completion at the most and even then does not seem to present the help information on mouse over?
Does not have dark mode by default (is it even selectable)?

possibly you use google and find:
https://marketplace.visualstudio.com/items?itemName=Tobiah.language-pde ,
https://github.com/TobiahZ/processing-vscode ,

please remember that with questions about using other IDE or editors
it might be difficult to find someone here who can respond.

also when you have coding questions
please post code ( as a MCVE )
only in a version what runs ( copy / paste ) in the Processing IDE 3.5.3
( or when required add files supplied as zip )

using external tools you might miss reference, examples, library help …
you might come back to PDE, ( even if just for learning )

anyhow have fun coding…

1 Like

If you are looking for a more competent ide I would recommend eclipse, which is has a far smaller footprint and can handle all your processing needs.

https://processing.org/tutorials/eclipse/

just remember to include the PApplet in all your classes, or the processing code wont work.

1 Like

Thanx, I will try. I was just looking for a more competent IDE.

Yes, the original ide is great for small sketches, but clearly has a lot of limitations.

The goal of PDE is to be a simple, introductory learning environment – and it supports the Processing .pde language / Java dialect by default. If you want to use the Processing API in Java then you should check out Eclipse – this setup doesn’t use the PDE compiler. If you want to compile .pde files and run sketches in a full programming editor, there are several choices with various bundles / plugins to handle sketch launching – Visual Studio Code, Atom, Sublime, Textmate…

https://www.google.com/search?q=processing.org+visual+studio+code

1 Like

Reading your answers again I found them useful.

In VS Code I struggled a while before I found a good example of what to include in the classpath, and how to structure the public class App extends PApplet.

I use Java and not the PDE extension.

good you found the working environment you like.

you started out here:

the next user with the same question might end up here at this topic
but still not find the answer

until you are willing to share what you have learned.

Here’s how to at least run a basic “script”, possibly with OpenGL:

Create Java project in VS Code.
ctrl + shift + P then Java: Create ...

In the VS Code projects .classpath file visible in the project tree to the left, add all of this for basic functions and OpenGL, check the folders for your architecture and processing library path:

	<classpathentry kind="lib" path="C:\Prog\processing-3.5.3\core\library\core.jar"/>
	<classpathentry kind="lib" path="C:\Prog\processing-3.5.3\core\library\jogl-all.jar"/>
	<classpathentry kind="lib" path="C:\Prog\processing-3.5.3\core\library\jogl-all-natives-windows-i586.jar"/>
	<classpathentry kind="lib" path="C:\Prog\processing-3.5.3\core\library\gluegen-rt.jar"/>
	<classpathentry kind="lib" path="C:\Prog\processing-3.5.3\core\library\gluegen-rt-natives-windows-i586.jar"/>

In the main class add (almost the same code can be found on the Eclipse tutorial from Processing, but the one there gave me compilation errors):

import processing.core.*;

public class App extends PApplet {

	public void settings() {
		size(500, 500);
	}

	public void draw(){
		background(64);
		ellipse(mouseX, mouseY, 20, 20);
	}
  
	public static void main(String[] passedArgs) {
		App mySketch = new App();
		String[] processingArgs = {"App"};
		PApplet.runSketch(processingArgs, mySketch);
    }
}
2 Likes

Thank you so much for sharing your solution.