Microsoft Dev Box
The Microsoft Dev Box extension helps you connect to your Dev Box in VS Code. It also provides a set of actions to help you manage your Dev Box, including taking snapshots, restoring from snapshots.
It also helps you create customization files for your Dev Box. It provides assistance when creating your own original workload.yaml files through validation and allows you to see what customization tasks are available within your Dev Box.
How to use the extension
Open Dev Box in VS Code
Open the extension from the sidebar, select your project, and choose the Dev Box you want to connect to. If no tunnel is available, you can create a new one. Once the tunnel is enabled, you can open your Dev Box in a new VS Code window by connecting through the tunnel.
Customizations
- Open your existing
workload.yaml
file or create a new one from scratch. The name of the file is important because the extension will only validate files of that name.
- You will automatically see any errors in your file being called out, as well as hover boxes for each parameter that provide more information.
Integration with GitHub Copilot Agent Mode (PREVIEW)
The Microsoft Dev Box extension integrates with GitHub Copilot Agent Mode to provide advanced AI assistance for managing and customizing your Dev Box environments. This feature is currently in preview.
To use these features, you will need to set up agent mode. For more information, see official doc for GitHub Copilot Agent Mode.
- 📝 Customization YAML Generation Planner: Helps plan the structure and content of your
imageDefinition.yaml
file before generation.
- ✅ Customization YAML Validator: Validates your
imageDefinition.yaml
file using the Dev Box service to ensure it's correct.
- 📦 Customization WinGet Task Generator: Generates WinGet tasks for your Dev Box customization, allowing you to install software using a list of software names.
- 🔄 Customization Git Clone Task Generator: Generates Git clone tasks for your Dev Box customization, allowing you to clone repositories.
- 📜 Customization Powershell Task Generator: Generates PowerShell tasks for your Dev Box customization, allowing you to run custom scripts.
- 🔍 Customization Software Enumerator: Lists software available through WinGet that can be installed on your Dev Box.
Sample Prompts
Let agent decide tool calls:
Create an image definition for c# developers!
Can you help me create an image definition for the current repo codebase?
Can you create an image def using the software installed on my current local PC?
Can you update my existing imageDefinition.yaml and add more tools for python developers?
Explicitly reference tools using hashtags (#):
#devbox_image_definition_yaml_validator Validate my imageDefinition.yaml
#devbox_customization_winget_task_generator Generate WinGet tasks to install 'Git' and 'Python3'
Integration with GitHub Copilot Chat (PREVIEW)
The Microsoft Dev Box extension now offers an intergration with GitHub Copilot Chat to bring some AI features to help to create customization tasks. While this feature is in public preview, we welcome feedback about its usefulness and potential for improvement.
To invoke the Dev Box chat agent, enter @devbox in GitHub Copilot Chat.
Two commands are supported: customize and tasks:
"tasks":
Provides information about the available tasks in the current Dev Box. Sample comman:
@devbox /tasks Are there any tasks to clone a repo?
"customize": Generates customization tasks based on your commands and the available tasks. Sample command:
@devbox /customize I want to install notepad++ and vscode.
Learn More About Dev Box