IDEs and AI Workbench#

Overview#

You can use basically any IDE you want with AI Workbench.

Edit local projects with any IDE or file editor on your laptop.

Remote projects require connecting the IDE to the location, typically through SSH. The ease or difficulty of this depend on the IDE or text editor.

VS Code and its forks work easily with the project container, local or remote.

You can configure Cursor and Windsurf in a minute or two. VS Code is more streamlined.

IDE web apps should be installed in the project container.

Install web based IDEs like JupyterLab and Marimo directly in the container.

Key Concepts#

Dev container

Container being used for interactive development. Typically implies some type of IDE attaching to it. Used interchangeably with project container.

Remote connection

Configuring an IDE to access a remote machine through something like SSH. Allows you to edit files on the remote using the locally running IDE.

VS Code and Forks#

VS Code and its forks are all the same for AI Workbench.

The configuration patterns are same in VS Code, Cursor and Windsurf. The difference is the extent to which you need extensions vs the extensions being built in.

For example, Windsurf has SSH and dev container extensions built.

You do not need to use the devcontainer.json file with AI Workbench.

VS Code forks have a simple feature that let you connect them to a running container. This avoids the requirement of a devcontainer.json.

You can add the relevant server and extensions to the container build.

For various reasons, AI Workbench removes the project container when you stop it. Anything installed into the read/write layer will be gone the next time it starts.

You can avoid this by installing the server and extensions in a build script. This keeps everything visible, versioned and editable.

Web IDEs#

JupyterLab is often preinstalled in the project container.

If that’s the case, then you can configure the project to run it as a web application by adding it. After that you can start it from the project tab and get to work.

You can use any Python notebook web app that you can install in a container.

It’s the same as installing and configuring JupyterLab. Dependencies go in the container and you configure the applicaton management in the Desktop App.

After that, you manage the web IDE from the project tab.

You should install plugins or extensions during the container build.

This is similar to the situation for the IDE server and extension for VS Code forks.

You can install them at runtime, i.e. include the instructions in the app configuration but this will lead to longer start times.