Skip to content

Commit 56804aa

Browse files
committed
Added extensions to python devcontainer
1 parent a7935fb commit 56804aa

File tree

3 files changed

+86
-3
lines changed

3 files changed

+86
-3
lines changed

README.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Devcontainer
2+
3+
[![GitHub stars](https://img.shields.io/github/stars/jmcombs/devcontainer)](https://github.com/jmcombs/devcontainer/stargazers) ![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/jmcombs/devcontainer/build-and-publish.yml?logo=github)
4+
[![GitHub issues](https://img.shields.io/github/issues/jmcombs/devcontainer)](https://github.com/jmcombs/devcontainer/issues)
5+
6+
A collection of [Development Container](https://containers.dev/) definitions for creating consistent, reproducible development environments. This repository provides pre-configured `devcontainer` images to streamline setting up development environments in tools like Visual Studio Code, GitHub Codespaces, or other container-based IDEs.
7+
8+
## About
9+
10+
A **development container** is a running [Docker](https://www.docker.com) container with a well-defined tool/runtime stack and its prerequisites. It allows you to use a container as a full-featured development environment which can be used to run an application, to separate tools, libraries, or runtimes needed for working with a codebase, and to aid in continuous integration and testing.
11+
12+
This repository contains a set of **dev container images** which are Docker images built with [dev container features](https://github.com/devcontainers/features).
13+
14+
## Contents
15+
16+
- [`src`](src) - Contains reusable dev container images.
17+
- [`scripts`](scripts) - Contains utility scripts, including `generate-docs.js` for updating documentation links in this README.
18+
19+
## Available Dev Containers
20+
21+
Below is a list of available Dev Container definitions in this repository:
22+
23+
| Name | Description | Base Image | Documentation |
24+
| -------- | ------------------------------------------------------------ | ------------------------------------- | ------------------------------------------ |
25+
| `python` | Python 3.x environment with common tools (e.g., pip, pylint) | `ghcr.io/jmcombs/devcontainer:python` | [Python Docs](src/python/README.md) |
26+
| `node` | Node.js environment with npm/yarn and VS Code extensions | `ghcr.io/jmcombs/devcontainer:node` | [Node Docs](src/node/README.md) |
27+
| `base-ubuntu` | Base Ubuntu 22.04 image with essential tools | `ghcr.io/jmcombs/devcontainer:base-ubuntu` | [Base Ubuntu Docs](src/base-ubuntu/README.md) |
28+
29+
## Usage
30+
31+
To use these dev containers in Visual Studio Code or GitHub Codespaces:
32+
33+
1. **Open your project** in VS Code or Codespaces.
34+
2. **Select the dev container**: Use the Command Palette (`Ctrl+Shift+P` or `Cmd+Shift+P` on macOS) and choose `Dev Containers: Reopen in Container`.
35+
3. **Choose a container definition**: Select one of the available dev containers from this repository (e.g., `python` or `node`).
36+
4. **Start coding**: Your environment will be set up with all the necessary tools and extensions.
37+
38+
For more detailed instructions, refer to the [Dev Containers documentation](https://code.visualstudio.com/docs/remote/containers).

src/base-ubuntu/README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Base Ubuntu Dev Container
2+
3+
This is a base Ubuntu 22.04 development container image, designed to provide a minimal, customizable environment for development tasks.
4+
5+
## Overview
6+
7+
- **Base Image**: `ubuntu:22.04`
8+
- **Image Name**: `ghcr.io/jmcombs/devcontainer:base-ubuntu`
9+
- **Features**: Includes common Linux utilities and tools.
10+
11+
## Usage
12+
13+
To use this dev container in Visual Studio Code or GitHub Codespaces:
14+
15+
1. Open your project in VS Code or Codespaces.
16+
2. Use the Command Palette (`Ctrl+Shift+P` or `Cmd+Shift+P` on macOS) and select `Dev Containers: Reopen in Container`.
17+
3. Choose the `base-ubuntu` container definition.
18+
19+
## Customization
20+
21+
This image serves as a foundation. You can extend it by adding additional features or tools in your own `devcontainer.json` configuration.
22+
23+
For more information on development containers, visit the [Dev Containers documentation](https://code.visualstudio.com/docs/remote/containers).

src/python/.devcontainer/devcontainer.json

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,32 @@
77
"customizations": {
88
"vscode": {
99
"extensions": [
10-
"ms-python.python",
10+
"ms-toolsai.jupyter-keymap",
11+
"ms-toolsai.vscode-jupyter-cell-tags",
12+
"ms-toolsai.vscode-jupyter-slideshow",
13+
"njpwerner.autodocstring",
14+
"ms-vscode.remote-server",
15+
"ryu1kn.text-marker",
16+
"ms-vscode-remote.remote-ssh-edit",
17+
"github.github-vscode-theme",
18+
"donjayamanne.python-environment-manager",
19+
"ms-toolsai.jupyter-renderers",
20+
"tamasfe.even-better-toml",
21+
"ms-toolsai.jupyter",
22+
"charliermarsh.ruff",
23+
"postman.postman-for-vscode",
24+
"ms-toolsai.jupyter",
25+
"redhat.vscode-yaml",
26+
"ms-azuretools.vscode-docker",
27+
"emmanuelbeziat.vscode-great-icons",
28+
"ms-vscode-remote.remote-containers",
29+
"ms-vscode-remote.remote-ssh",
30+
"github.copilot-chat",
31+
"github.copilot",
32+
"ms-vscode.remote-explorer",
1133
"ms-python.vscode-pylance",
12-
"ms-python.autopep8",
13-
"EditorConfig.EditorConfig"
34+
"ms-python.debugpy",
35+
"ms-python.python"
1436
]
1537
}
1638
}

0 commit comments

Comments
 (0)