Skip to content

Commit 78a3cfc

Browse files
committed
Added a devcontainer to make the contributing experience easier.
1 parent f2000ec commit 78a3cfc

File tree

3 files changed

+80
-0
lines changed

3 files changed

+80
-0
lines changed

.devcontainer/Dockerfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.192.0/containers/dotnet/.devcontainer/base.Dockerfile
2+
3+
FROM mcr.microsoft.com/dotnet/sdk:8.0
4+
5+
# Set up machine requirements to build the repo
6+
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
7+
&& apt-get -y install --no-install-recommends curl git gnupg \
8+
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
9+
&& apt-get install -y nodejs

.devcontainer/devcontainer.json

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
2+
// https://github.com/microsoft/vscode-dev-containers/tree/v0.140.1/containers/dotnetcore
3+
{
4+
"name": "vscode-csharp",
5+
"build": {
6+
"dockerfile": "Dockerfile",
7+
// Set the context to the workspace folder to allow us to copy files from it.
8+
"context": ".."
9+
},
10+
"customizations": {
11+
"vscode": {
12+
"settings": {
13+
"files.associations": {
14+
"*.csproj": "msbuild",
15+
"*.fsproj": "msbuild",
16+
"*.globalconfig": "ini",
17+
"*.manifest": "xml",
18+
"*.nuspec": "xml",
19+
"*.pkgdef": "ini",
20+
"*.projitems": "msbuild",
21+
"*.props": "msbuild",
22+
"*.resx": "xml",
23+
"*.rsp": "Powershell",
24+
"*.ruleset": "xml",
25+
"*.settings": "xml",
26+
"*.shproj": "msbuild",
27+
"*.slnf": "json",
28+
"*.targets": "msbuild",
29+
"*.vbproj": "msbuild",
30+
"*.vsixmanifest": "xml",
31+
"*.vstemplate": "xml",
32+
"*.xlf": "xml",
33+
"*.yml": "azure-pipelines"
34+
},
35+
// ms-dotnettools.csharp settings
36+
"omnisharp.disableMSBuildDiagnosticWarning": true,
37+
"omnisharp.enableEditorConfigSupport": true,
38+
"omnisharp.enableImportCompletion": true,
39+
"omnisharp.useModernNet": true,
40+
"omnisharp.enableAsyncCompletion": true,
41+
// ms-dotnettools.csdevkit settings
42+
"dotnet.defaultSolution": "Roslyn.sln",
43+
// ms-vscode.powershell settings
44+
"powershell.promptToUpdatePowerShell": false,
45+
"powershell.integratedConsole.showOnStartup": false,
46+
"powershell.startAutomatically": false,
47+
// ms-azure-devops.azure-pipelines settings
48+
"azure-pipelines.customSchemaFile": ".vscode/dnceng-schema.json"
49+
},
50+
"extensions": [
51+
"ms-dotnettools.csharp",
52+
"ms-dotnettools.csdevkit",
53+
"EditorConfig.EditorConfig",
54+
"ms-vscode.powershell",
55+
"tintoy.msbuild-project-tools",
56+
"ms-azure-devops.azure-pipelines",
57+
"dbaeumer.vscode-eslint",
58+
"esbenp.prettier-vscode",
59+
"orta.vscode-jest"
60+
]
61+
}
62+
},
63+
"postCreateCommand": "npm ci && npx gulp installDependencies"
64+
}

.devcontainer/devinit.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"run": [
3+
{
4+
"tool": "require-dotnetcoresdk"
5+
}
6+
]
7+
}

0 commit comments

Comments
 (0)