From 1c6462fb7627dff21fcf16bb559f09fa54bac90f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Odd=20Str=C3=A5b=C3=B8?= <oddstr13@openshell.no>
Date: Sun, 2 Jul 2023 00:26:27 +0000
Subject: [PATCH] Add devcontainer config

---
 .devcontainer/Python 3.11/devcontainer.json | 33 +++++++++++++++++++++
 .gitignore                                  |  3 +-
 .vscode/extensions.json                     |  5 ++++
 requirements-dev.txt                        |  9 ++++++
 4 files changed, 49 insertions(+), 1 deletion(-)
 create mode 100644 .devcontainer/Python 3.11/devcontainer.json
 create mode 100644 .vscode/extensions.json

diff --git a/.devcontainer/Python 3.11/devcontainer.json b/.devcontainer/Python 3.11/devcontainer.json
new file mode 100644
index 00000000..154e481d
--- /dev/null
+++ b/.devcontainer/Python 3.11/devcontainer.json	
@@ -0,0 +1,33 @@
+// For format details, see https://aka.ms/devcontainer.json. For config options, see the
+// README at: https://github.com/devcontainers/templates/tree/main/src/python
+{
+	"name": "Python 3.11",
+	// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
+	"image": "mcr.microsoft.com/devcontainers/python:1-3.11-bookworm",
+
+	// Features to add to the dev container. More info: https://containers.dev/features.
+	// "features": {},
+
+	// Use 'forwardPorts' to make a list of ports inside the container available locally.
+	// "forwardPorts": [],
+
+	// Use 'postCreateCommand' to run commands after the container is created.
+	"postCreateCommand": "pip3 install --user -r requirements-dev.txt",
+
+	// Configure tool-specific properties.
+	"customizations": {
+		"vscode": {
+			"extensions": [
+				"mikestead.dotenv",
+				"EditorConfig.EditorConfig",
+				"GitHub.vscode-pull-request-github",
+				"hbenl.vscode-test-explorer",
+				"redhat.vscode-xml",
+				"ninoseki.vscode-pylens"
+			]
+		}
+	}
+
+	// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
+	// "remoteUser": "root"
+}
diff --git a/.gitignore b/.gitignore
index a3b78682..0dec07e4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -66,7 +66,8 @@ Thumbs.db
 
 .idea/
 .DS_Store
-.vscode/
+.vscode/*
+!.vscode/extensions.json
 pyinstrument/
 
 # Now managed by templates
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 00000000..894e9d73
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,5 @@
+{
+    "recommendations": [
+        "ms-vscode-remote.remote-containers"
+    ]
+}
diff --git a/requirements-dev.txt b/requirements-dev.txt
index d17fb063..a6cd519a 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -15,3 +15,12 @@ coverage >= 5.2
 flake8 >= 3.8
 flake8-import-order >= 0.18
 websocket-client >= 0.57.0
+
+types-requests >= 2.31
+types-PyYAML >= 6.0.12
+types-six >= 1.13
+types-python-dateutil >= 2.8.1
+types-setuptools >= 44.1.1
+
+types-Pygments
+types-colorama