ros2env is a Visual Studio Code extension that helps you manage isolated ROS2 environments with ease — start, stop, switch, and interact with them directly from your editor.
Whether you're working on multiple ROS2 projects or want to simplify environment switching, ros2env provides a seamless developer experience inside VS Code.
🎥 Step by Step Installation Video (Watch here)
- 🔍 Discover available ROS2 environments
▶️ Start or stop environments with one command- 🧠 Open a ready to use terminal inside the environment workspace (
ros2_ws) - 🪟 Launch GUI apps from your environment (via browser-based interface)
- ➕ Create or 🗑️ delete environments easily
- 🧭 Treat each environment like a virtual ROS2 workspace
Before using ros2env, ensure the following is installed on your system:
- Visual Studio Code ( >= v1.80.0)
- Docker (used under the hood)
💡 Docker is required to isolate and manage environments behind the scenes. You don't need to know Docker to use ros2env.
code --install-extension ros2env-0.0.4.vsixHere’s how to start using ros2env to manage your ROS 2 environments.
Open any folder where you plan to work on your ROS2 project.
If you don’t have a workspace yet, no problem —
ros2envcreates one for you.
- Open the Command Palette (
Ctrl+Shift+PorCmd+Shift+Pon Mac) - Run:
ROS2: Create Environment - Enter a name for your new environment (e.g.,
my_ros2env) - Choose a ROS 2 distro (e.g.,
humble,foxy, etc.) - Wait for setup to complete (you’ll see progress)
🎉 A new isolated ROS2 environment will be created with a ready to use workspace.
- Open Command Palette again
- Run:
ROS2: Load Environment - Select one of your previously created environments
This will:
- Start the environment (if stopped)
- Stop any running environment (if different)
- Attach an interactive terminal inside
ros2_ws
- Run:
ROS2: Open Terminal - This opens a terminal already inside your ROS2 workspace
You're ready to build, source, and run ROS2 nodes like usual.
- Run:
ROS2: Open GUI - This opens a browser tab with access to graphical tools (RViz, Gazebo, etc.)
GUI support is provided via an embedded desktop accessible through your browser.
- Run:
ROS2: Stop Environment - This shuts down the running environment and closes terminals
- Run:
ROS2: Delete Environment - Select one or more environments to remove permanently