### VBB App
The VBB App mode is selected using a custom editor.
![](vbb-app.png)
* [Sleep](#jvmsleep) : *Keep the JVM processor in sleep mode.*
* [Java Source](#javasource) : *Read Java source from local project folder*
* [Mixed Reality](#mixedreality) : *Mixes the IO with the real world.*
* [VSCode](#vscode): *Connect debugger to VSCode*
#### JVMSleep
![](JVM-SLEEP.png)
The JVM is put in sleep mode. The JVM becomes disabled and does not participate the runtime.
#### Java Source
![](JVM-JAVA.png)
In Java Source mode the project folder ( Requires a project mode ) is scanned for java source files which are composed into a Jav application, converted to java bytecode and executed in the JVM. The java source is typically edited using the Java Editor Design Sheet.
#### Mixed Reality
![](JVM-MIX.png)
In Mixed Reality mode an *Edge* firmware is downloaded into the real device. The *Edge* firmware exchanges IO with real and virtual IO as defined by the Virtual Breadboard design. The result is an In-Circuit emulator of the Virtual Breadboard hardware.
#### VSCode
![](JVM-VSCODE.png)
In VS Code mode the Virtual VBBMicro starts a service that listens for connections requests from the VBB-RT Plugin for VSCode available in the VSCode marketplace. This allows projects to be edited in VSCode and executed and debugged in VBB.
![](VSCode-VbbRT.png)
The \ is used in the launch.json "connectionId" property.
```json
{
"version": "0.1.0",
"configurations": [
{
"name": "VbbRT-Debug",
"type": "vbbrt",
"request": "launch",
"program": "${workspaceRoot}/JavaApp.java",
"stopOnEntry": true,
"connectionId": ""
}
]
}
```
> RoadMap : Create Full tutorial.