11{
2- "name" : " dotnet" ,
3- // Set the build context one level higher so we can grab metadata like global.json
4- "context" : " .." ,
5- "dockerFile" : " Dockerfile" ,
6- "forwardPorts" : [
7- 0
8- ],
9- "extensions" : [
10- " ionide.ionide-fsharp" ,
11- " ms-dotnettools.csharp" ,
12- " editorconfig.editorconfig" ,
13- " ionide.ionide-paket" ,
14- " ionide.ionide-fake"
15- ]
2+ "name" : " dotnet" ,
3+ // Set the build context one level higher so we can grab metadata like global.json
4+ "context" : " .." ,
5+ "dockerFile" : " Dockerfile" ,
6+ "forwardPorts" : [
7+ 0
8+ ],
9+ "features" : {
10+ // https://github.com/devcontainers/features/blob/main/src/common-utils/README.md
11+ "ghcr.io/devcontainers/features/common-utils:2" : {
12+ "installZsh" : true ,
13+ "installOhMyZshConfig" : true ,
14+ "configureZshAsDefaultShell" : true ,
15+ "username" : " vscode" ,
16+ "userUid" : " 1000" ,
17+ "userGid" : " 1000" ,
18+ "upgradePackages" : true
19+ },
20+ // https://github.com/devcontainers/features/blob/main/src/github-cli/README.md
21+ "ghcr.io/devcontainers/features/github-cli:1" : {},
22+ // https://github.com/devcontainers-contrib/features/blob/main/src/starship/README.md
23+ "ghcr.io/devcontainers-contrib/features/starship:1" : {},
24+ // https://github.com/devcontainers/features/blob/main/src/dotnet/README.md
25+ "ghcr.io/devcontainers/features/dotnet:2" : {
26+ "version" : " 7.0" ,
27+ "additionalVersions" : " 6.0"
28+ },
29+ "ghcr.io/devcontainers/features/node:1" : {
30+ "version" : " 18"
31+ },
32+ "ghcr.io/devcontainers/features/python:1" : {
33+ "version" : " 3.10"
34+ }
35+ },
36+ "overrideFeatureInstallOrder" : [
37+ " ghcr.io/devcontainers/features/common-utils" ,
38+ " ghcr.io/devcontainers/features/github-cli" ,
39+ " ghcr.io/devcontainers-contrib/features/starship" ,
40+ " ghcr.io/devcontainers/features/dotnet"
41+ ],
42+ "customizations" : {
43+ "vscode" : {
44+ // Add the IDs of extensions you want installed when the container is created.
45+ "extensions" : [
46+ " ms-dotnettools.csharp" ,
47+ " Ionide.Ionide-fsharp" ,
48+ " tintoy.msbuild-project-tools" ,
49+ " ionide.ionide-paket" ,
50+ " usernamehw.errorlens" ,
51+ " alefragnani.Bookmarks" ,
52+ " oderwat.indent-rainbow" ,
53+ " vscode-icons-team.vscode-icons" ,
54+ " EditorConfig.EditorConfig" ,
55+ " ms-azuretools.vscode-docker" ,
56+ " GitHub.vscode-pull-request-github" ,
57+ " github.vscode-github-actions"
58+ ],
59+ "settings" : {
60+ "terminal.integrated.defaultProfile.linux" : " zsh" ,
61+ "csharp.suppressDotnetInstallWarning" : true
62+ }
63+ }
64+ },
65+ "remoteUser" : " vscode" ,
66+ "containerUser" : " vscode" ,
67+ "containerEnv" : {
68+ // Expose the local environment variable to the container
69+ // They are used for releasing and publishing from the container
70+ "GITHUB_TOKEN" : " ${localEnv:GITHUB_TOKEN}"
71+ },
72+ "onCreateCommand" : {
73+ "enable-starship" : " echo 'eval \" $(starship init zsh)\" ' >> ~/.zshrc"
74+ },
75+ "postAttachCommand" : {
76+ "restore" : " dotnet tool restore && dotnet restore"
77+ },
78+ "waitFor" : " updateContentCommand"
1679}
0 commit comments