| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- // For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
- // https://github.com/microsoft/vscode-dev-containers/tree/v0.177.0/containers/dotnet
- {
- "name": "C# (.NET)",
- "build": {
- "dockerfile": "Dockerfile",
- "args": {
- // The VARIANT here must align with a dotnet container image that
- // is publicly available on https://mcr.microsoft.com/v2/vscode/devcontainers/dotnet/tags/list.
- // We'll default to `latest` as the default. Generally, the .NET version that is baked
- // into the image by default doesn't matter since we end up installing our own
- // local version and using that by default in the container environment.
- "VARIANT": "latest",
- // Options
- "INSTALL_NODE": "true",
- "NODE_VERSION": "lts/*"
- }
- },
- // Add the IDs of extensions you want installed when the container is created.
- "extensions": [
- "ms-dotnettools.csharp",
- "EditorConfig.EditorConfig",
- "k--kato.docomment",
- "dbaeumer.vscode-eslint"
- ],
- "settings": {
- // Loading projects on demand is better for larger codebases
- "omnisharp.enableMsBuildLoadProjectsOnDemand": true,
- "omnisharp.enableRoslynAnalyzers": true,
- "omnisharp.enableEditorConfigSupport": true,
- "omnisharp.enableImportCompletion": true,
- },
- // Use 'postCreateCommand' to run commands after the container is created.
- "onCreateCommand": "bash -i ${containerWorkspaceFolder}/.devcontainer/scripts/container-creation.sh",
- // Add the locally installed dotnet to the path to ensure that it is activated
- // This is needed so that things like the C# extension can resolve the correct SDK version
- "remoteEnv": {
- "PATH": "${containerWorkspaceFolder}/.dotnet:${containerEnv:PATH}",
- "DOTNET_MULTILEVEL_LOOKUP": "0",
- "TARGET": "net8.0",
- "DOTNET_WATCH_SUPPRESS_LAUNCH_BROWSER": "true"
- },
- // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
- "remoteUser": "vscode"
- }
|