diff --git a/.devcontainers/Dockerfile b/.devcontainers/Dockerfile new file mode 100644 index 000000000..677558cf9 --- /dev/null +++ b/.devcontainers/Dockerfile @@ -0,0 +1,7 @@ +# [Choice] .NET version: 7.0, 7.0-bullseye-slim, 7.0-jammy, 6.0, 6.0-bullseye-slim, 6.0-jammy, 6.0-focal +ARG VARIANT="7.0-jammy" +FROM mcr.microsoft.com/dotnet/sdk:${VARIANT} + +# [Optional] Uncomment this section to install additional OS packages. +# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ +# && apt-get -y install --no-install-recommends \ No newline at end of file diff --git a/.devcontainers/devcontainer.json b/.devcontainers/devcontainer.json new file mode 100644 index 000000000..589f4641d --- /dev/null +++ b/.devcontainers/devcontainer.json @@ -0,0 +1,54 @@ +{ + "name": "DevContainer for .NET", + + "build": { + "dockerfile": "./Dockerfile", + "context": ".", + "args": { + // version: 7.0, 7.0-bullseye-slim, 7.0-jammy, 6.0, 6.0-bullseye-slim, 6.0-jammy, 6.0-focal + "VARIANT": "7.0" + } + }, + + "features": { + // GitHub CLI + "ghcr.io/devcontainers/features/github-cli:1": { + "version": "latest" + }, + + // Install common utilities + "ghcr.io/devcontainers/features/common-utils:1": { + "installZsh": true, + "installOhMyZsh": true, + "upgradePackages": true, + "username": "vscode", + "uid": "1000", + "gid": "1000" + } + }, + + "overrideFeatureInstallOrder": [ + "ghcr.io/devcontainers/features/common-utils" + ], + + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "ms-dotnettools.csharp", + "ms-vscode.PowerShell", + "VisualStudioExptTeam.vscodeintellicode" + ], + "settings": { + } + } + }, + + // Uncomment if you want to use bash in 'postCreateCommand' after the container is created + "postCreateCommand": "/bin/bash ./.devcontainer/post-create.sh > ~/post-create.log", + + // Uncomment if you want to connect other than 'root'. More info: https://aka.ms/vscode-remote/containers/non-root. + "remoteUser": "vscode" +} diff --git a/.devcontainers/post-create.sh b/.devcontainers/post-create.sh new file mode 100755 index 000000000..0a735f7d0 --- /dev/null +++ b/.devcontainers/post-create.sh @@ -0,0 +1,2 @@ +## Restore .NET packages and build the default solution +dotnet restore