# Will the code be organized as this is done in Arduino IDE? VS Code extension

**URL:** <https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135>\
**Category:** Development\
**Created:** [September 12, 2025, 2:24pm UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135 "2025-09-12T14:24:11Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)\
**Post date:** [September 18, 2025, 11:23pm UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/22 "2025-09-18T23:23:48Z")

</div>

I got to say, I always like the tabs.

I use it all the time and it helps me to jump fast to the right parts of the code.

I also use the right mouse button / local menu and the

- show usage and
- jump to declaration

---

<div class="post-metadata">

**Author:** ![stefterv](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/stefterv/32/21678_2.png) [@stefterv](https://discourse.processing.org/u/stefterv)\
**Post date:** [September 19, 2025, 5:19am UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/23 "2025-09-19T05:19:55Z")

</div>

I did my testing on Windows 11 and the issue is the same as yours

---

<div class="post-metadata">

**Author:** ![Aigars](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@Aigars](https://discourse.processing.org/u/Aigars)\
**Post date:** [September 19, 2025, 5:42am UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/24 "2025-09-19T05:42:27Z")

</div>

I use that too. But you cannot add tabs to processing ide indefinitely. If the number of tabs exceeds the limits of the working program, the tab names disappear.

---

<div class="post-metadata">

**Author:** ![sterretje](https://avatars.discourse-cdn.com/v4/letter/s/cdc98d/32.png) [@sterretje](https://discourse.processing.org/u/sterretje)\
**Post date:** [September 19, 2025, 6:49am UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/25 "2025-09-19T06:49:44Z")

</div>

> [@Aigars](#):
>
> the tab names disappear.

Can you explain?

There is the little down arrow at the right hand side next to the tabs to select any tab.

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/e/7/e7cc6f8174edd11bb95ea41b123359833adff543.png)  
Maybe not the most convenient way (I would prefer a tree view at the left).

---

<div class="post-metadata">

**Author:** ![Aigars](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@Aigars](https://discourse.processing.org/u/Aigars)\
**Post date:** [September 19, 2025, 6:56am UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/26 "2025-09-19T06:56:00Z")

</div>

VS Code

1. VS Code does not support Cyrillic

2. The “error highlighting (underlining)” function in the code works incorrectly.

~~3. I intentionally make an error, but VS Code still runs the sketch normally.~~

~~4. The interface is inconvenient; you need to install additional extensions.~~

5. It’s complicated to use.

 ![err_VSC](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/3/6/3682d092feaaaf252362b83eaf9cc866423987ec.png)

If you copy an error:

```auto

[{
	......
	"owner": "_generated_diagnostic_collection_name_#0",
	"severity": 8,
	"message": "Переменная \"Toggle\" не определена",
	"startLineNumber": 14,
	"startColumn": 1,
	"endLineNumber": 14,
	"endColumn": 2147483647
}]

```

Code:

```processing

import controlP5.*;
ControlP5 cp5;
Toggle state;
//boolean state;

void setup() {
  size(400, 200);  
  cp5 = new ControlP5(this);

 state = cp5.addToggle("button_clear")
     .setPosition(10,50)
     .setSize(80,20)
     .setMode(Toggle.SWITCH)
     .setState(true)
     //.getState()
     ;
     
  //cp5.end();

}

void draw() {
  background(200, 200, 200);

}

void button_clear(boolean theValue1){
  
//state = cp5.addToggle.getState("button_clear");
println(theValue1);

}

```

---

<div class="post-metadata">

**Author:** ![Aigars](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@Aigars](https://discourse.processing.org/u/Aigars)\
**Post date:** [September 19, 2025, 8:02am UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/27 "2025-09-19T08:02:05Z")

</div>

For example, in the Arduino IDE, if the tabs don’t fit, you can move them with the cursor or mouse wheel. The tab names don’t disappear. You can also rearrange them, which is quite convenient. In the Processing IDE, you have to shorten the tab names to keep the top panel useful.

![bandicam 2025-09-19 10-54-03-512](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/b/f/bf5ca6054a6e4635d99bab7bbdc56ab414da13d7.gif)

---

<div class="post-metadata">

**Author:** ![sterretje](https://avatars.discourse-cdn.com/v4/letter/s/cdc98d/32.png) [@sterretje](https://discourse.processing.org/u/sterretje)\
**Post date:** [September 19, 2025, 8:46am UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/28 "2025-09-19T08:46:36Z")

</div>

Ahh

I’ve never seen the name disappear except for for the tabs at the right. Never some of them in the centre.

I might not have been observant enough.

---

<div class="post-metadata">

**Author:** ![Aigars](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@Aigars](https://discourse.processing.org/u/Aigars)\
**Post date:** [September 19, 2025, 9:08am UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/29 "2025-09-19T09:08:20Z")

</div>

I agree that you can use the button to deploy the list of tabs. But this is inconvenient since the user gets used to the top panel during operation.

---

<div class="post-metadata">

**Author:** ![stefterv](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/stefterv/32/21678_2.png) [@stefterv](https://discourse.processing.org/u/stefterv)\
**Post date:** [September 19, 2025, 9:24am UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/30 "2025-09-19T09:24:34Z")

</div>

> <https://github.com/processing/processing4/pull/1251>
>
> Trigger locating the sketchbook folder so contributed libraries are loaded when …the java mode is loaded. 
> 
> Closes \[processing-vscode-extension#9\](https://github.com/processing/processing-vscode-extension/issues/9)

I had a moment to check and dive deep into the LSP, this will need to be merged into the next version of Processing so give us a moment to fix that one.

---

<div class="post-metadata">

**Author:** ![Aigars](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@Aigars](https://discourse.processing.org/u/Aigars)\
**Post date:** [September 19, 2025, 9:30am UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/31 "2025-09-19T09:30:54Z")

</div>

Thanks to Stefterv. We will wait )

---

<div class="post-metadata">

**Author:** ![glv](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/glv/32/18785_2.png) [@glv](https://discourse.processing.org/u/glv)\
**Post date:** [September 19, 2025, 2:33pm UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/32 "2025-09-19T14:33:51Z")

</div>

> [@Aigars](#):
>
> The “error highlighting (underlining)” function in the code works incorrectly.

It works incorrectly when importing a library from the sketchbook folder.  
This is being worked on as per previous posts. 🙂

I often include the library jar file in my code and the _**error highlighting (underlining)**_ works correctly:

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/7/0/705433b020994dae306bc4750371b6e0e38e4d39.png)

Testing different scenarios for my workflow and sharing! 🙂

`:)`

---

<div class="post-metadata">

**Author:** ![glv](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/glv/32/18785_2.png) [@glv](https://discourse.processing.org/u/glv)\
**Post date:** [September 19, 2025, 2:47pm UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/33 "2025-09-19T14:47:48Z")

</div>

> [@Aigars](#):
>
> For example, in the Arduino IDE, if the tabs don’t fit, you can move them with the cursor or mouse wheel.

> [@Aigars](#):
>
> You can also rearrange them, which is quite convenient.

_ **Processing IDE** _

The tabs do not accept a number as the first character in the Processing IDE.

Tips and tricks:

The tabs DO accept a character and you can use a letter of the alphabet as the first character to arrange or group them. They will automatically be placed in alphabetical order.

I often add a _ **z\_clutter** _ tab for code, comments, etc. that are not used but for my reference and this tab is the last one.

_ **Processing VS Code IDE** _

The tab name can start with a number. You won’t see them in the Processing IDE!  
They can be arranged as desired by moving them with the mouse.

`:)`

---

<div class="post-metadata">

**Author:** ![glv](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/glv/32/18785_2.png) [@glv](https://discourse.processing.org/u/glv)\
**Post date:** [September 19, 2025, 3:25pm UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/34 "2025-09-19T15:25:14Z")

</div>

> [@sterretje](#):
>
> You can use an external editor that supports code folding. My usual editor is Notepad++ (under Windows). Changes that you make (and save !!) will be reflected in the Processing IDE.

Cool beans!  
Changes in _ **Notepad++** _ are indeed reflected (updated) in the _ **Processing IDE** _ !  
I made a change in _ **Notepad++** _ and saw it change in the _ **Processing IDE** _ !

@sterretje Thanks for sharing this!

> [@Aigars](#):
>
> You should realize that Notepad++ will work better for reading, but for editing code this solution is not suitable.

_ **Notepad++** _ has numerous features and is very versatile and well suited for editing code and text.

_ **Notepad++** _ has been around for over 21 years, as it was first released on November 24, 2003.

I have been using for almost 2 decades!

A very short list of what I use it for:  
C and Java Language _which has code folding built in_.  
Compare plugin _which has proven very useful._  
Hex Editor _which was very useful in my embedded programming days._  
View Tab _has everything you could want in an editor!_

Reference:

> **[Notepad++](https://notepad-plus-plus.org/)**

`:)`

---

<div class="post-metadata">

**Author:** ![Aigars](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@Aigars](https://discourse.processing.org/u/Aigars)\
**Post date:** [September 19, 2025, 6:25pm UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/35 "2025-09-19T18:25:39Z")

</div>

Thank you. I’ll give it a try

---

<div class="post-metadata">

**Author:** ![glv](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/glv/32/18785_2.png) [@glv](https://discourse.processing.org/u/glv)\
**Post date:** [September 20, 2025, 12:38pm UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/36 "2025-09-20T12:38:26Z")

</div>

> [@Aigars](#):
>
> The lack of error underlining was related to the Processing IDE itself. A simple reinstallation didn’t help. The only solution was to manually delete all files, including C:\Users\User\AppData… and C:\Users\User\Documents.

Hi @Aigars,

Some guidance below for visitors to the topic. 🙂

There was a recent update and _error underlining_ was not working until the fix in Processing 4.4.7:

> [@Processing IDE 4.4.4 does not show line in error](https://discourse.processing.org/t/processing-ide-4-4-4-does-not-show-line-in-error/46915/24):
>
> Hi! We have just released version 4.4.7 which can be found here: [Release Processing 4.4.7 · processing/processing4 · GitHub](https://github.com/processing/processing4/releases/tag/processing-1307-4.4.7) This release features a fix to this error. Give it a try! Thank you and thank you @joshg for the fix! tadablue_heart blueberries Moon

Be careful not to delete the sketches you created!  
Create a backup if you choose to delete these.

User sketches are here:

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/e/b/ebdf3ae99dc283f227fdd0483ec66064422b4e3c.png)

I also had some error underlining issues too with VS Code and Processing 4.4.7 but it was related to _all my tinkering_ with VS Code settings! Entirely my fault in this case.

I did a VS Code restore for this and everything worked after:

> **[Uninstall Visual Studio Code](https://code.visualstudio.com/docs/setup/uninstall)**
>
> Uninstall Visual Studio Code and clean up.

I am careful now and document what works and able to restore easily to defaults.

VS Code is very much a learning curve for me as well!  
And still learning things about the Processing IDE.

I have multiple versions of Processing and it sometimes gets complicated.  
I have since learned to isolate each environment so they do not impact each other.

`:)`

---

<div class="post-metadata">

**Author:** ![Aigars](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@Aigars](https://discourse.processing.org/u/Aigars)\
**Post date:** [September 22, 2025, 7:59am UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/37 "2025-09-22T07:59:19Z")

</div>

![1+2](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/4/0/4045519acef36d58800cf291d23465f4d8e96b6b.png)

This did not help. +https://code.visualstudio.com/docs/setup/uninstall

---

<div class="post-metadata">

**Author:** ![Aigars](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@Aigars](https://discourse.processing.org/u/Aigars)\
**Post date:** [September 22, 2025, 8:13am UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/38 "2025-09-22T08:13:39Z")

</div>

What are your libraries installed? What is the operating system?

---

<div class="post-metadata">

**Author:** ![glv](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/glv/32/18785_2.png) [@glv](https://discourse.processing.org/u/glv)\
**Post date:** [September 22, 2025, 12:29pm UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/39 "2025-09-22T12:29:09Z")

</div>

Hello @Aigars,

> [@Aigars](#):
>
> This did not help. +https://code.visualstudio.com/docs/setup/uninstall

You did something very different in your pictures than I did.

> [@glv](#):
>
> I often include the library _controlP5.jar_ file in my code and the _**error highlighting (underlining)**_ works correctly:

The picture in that post showed where I put the _ **controlP5.jar** _ file:

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/0/e/0e2417cbafaf62263ea23e516f90ca3ca3df9920.png)

References:  
[Home · processing/processing4 Wiki · GitHub](https://github.com/processing/processing4/wiki) \< See library section for how to install a _ **JAR file** _.

My system:

- W10
- Processing 4.4.7
- _ **ControlP5** _ library is NOT installed in the _ **sketchbook folder** _ for this test.

 ![image](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/5/d/5d839b0f47943d60e646f915705e7298d4ca85a7.png)

`:)`

---

<div class="post-metadata">

**Author:** ![Aigars](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@Aigars](https://discourse.processing.org/u/Aigars)\
**Post date:** [September 22, 2025, 4:17pm UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/40 "2025-09-22T16:17:43Z")

</div>

You’re right, it works. I guess I didn’t wake up this morning. I misread the word “core” instead of “code”. 🥴

---

<div class="post-metadata">

**Author:** ![Aigars](https://avatars.discourse-cdn.com/v4/letter/a/47e85d/32.png) [@Aigars](https://discourse.processing.org/u/Aigars)\
**Post date:** [September 23, 2025, 11:52am UTC](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135/41 "2025-09-23T11:52:57Z")

</div>

I found another drawback. When changing the topic of the design to the bright one, information in the terminal is not visible.

 ![лаг VS code+processing](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/3X/e/7/e73ebcbec10dd9dab721c3fab4eaf97fd1370430.png)

[Previous page](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135.md?page=1)

[Next page](https://discourse.processing.org/t/will-the-code-be-organized-as-this-is-done-in-arduino-ide-vs-code-extension/47135.md?page=3)
