Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

DevContainers Setup in Visual Studio Code

DevContainers provide a pre-configured development environment for PyRIT that ensures consistency across all contributors. This is the recommended setup for contributors using Visual Studio Code.

Who Should Use DevContainers?

Use DevContainers if you:

Consider local installation if you:

Prerequisites

Before starting, install:

  1. Docker (Docker Desktop if you are using Windows)

  2. Visual Studio Code

  3. DevContainers Extension in VS Code

You can also follow the Installation section on Developing inside a Container for more details.

Setup Steps

1. Clone the PyRIT Repository

git clone https://github.com/Azure/PyRIT
cd PyRIT

2. Open in VS Code

Open the PyRIT folder in Visual Studio Code:

code .

3. Reopen in Container

Make sure Docker is running first, for example, by starting “Docker Desktop.”

Press Ctrl + Shift + P (or Cmd + Shift + P on macOS) to open the VS Code Command Palette, then type and select:

Dev Containers: Reopen in Container
DevContainer in VS Code Commands Menu

VS Code will:

  1. Build the development container (this may take several minutes the first time)

  2. Install all dependencies

  3. Configure the development environment

  4. Reopen VS Code inside the container

Working with Jupyter Notebooks

Selecting a Kernel

When working with Jupyter Notebooks (.ipynb files):

  1. Open a notebook file in VS Code

  2. Click the “Select Kernel” button in the top-right corner of the notebook

  3. Choose “Python Environments...”

  4. Select the pyrit-dev kernel

Alternatively, you can use the Command Palette:

This kernel will run all code examples in Python Notebooks.

Viewing Jupyter Variables

To view variables populated by code examples:

  1. Go to View > Output

  2. Select Jupyter from the dropdown menu

Populating Secrets

After setting up your DevContainer, configure your API keys and secrets:

See Populating Secrets for detailed instructions.

Common DevContainer Operations

Rebuild the Container

If you need to rebuild the container (e.g., after dependency changes):

  1. Press Ctrl + Shift + P (or Cmd + Shift + P on macOS)

  2. Type and select: Dev Containers: Rebuild Container

Reopen Locally

To exit the container and return to your local environment:

  1. Press Ctrl + Shift + P (or Cmd + Shift + P on macOS)

  2. Type and select: Dev Containers: Reopen Folder Locally

Troubleshooting

Container Build Fails

Problem: DevContainer fails to build

Solutions:

  1. Ensure Docker is running

  2. Check that you have sufficient disk space

  3. Try rebuilding: Dev Containers: Rebuild Container Without Cache

Extension Not Loading

Problem: VS Code extensions don’t load in the container

Solution: Check the .devcontainer/devcontainer.json file to ensure extensions are listed. Rebuild the container if needed.

Performance Issues

Problem: Container runs slowly

Solutions:

  1. Allocate more resources to Docker in Docker Desktop settings

  2. On Windows, ensure you’re using WSL 2 backend for better performance

  3. Close unnecessary applications to free up system resources