Skip to content

Commit 323a94a

Browse files
committed
style: add development with vscode support
1 parent 915d32c commit 323a94a

File tree

4 files changed

+88
-0
lines changed

4 files changed

+88
-0
lines changed

.devcontainer/devcontainer.json

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"name": "Swift",
3+
"image": "swift:nightly-5.9-jammy",
4+
"features": {
5+
"ghcr.io/devcontainers/features/common-utils:2": {
6+
"installZsh": "false",
7+
"username": "vscode",
8+
"userUid": "1000",
9+
"userGid": "1000",
10+
"upgradePackages": "false"
11+
},
12+
"ghcr.io/devcontainers/features/git:1": {
13+
"version": "os-provided",
14+
"ppa": "false"
15+
}
16+
},
17+
"runArgs": [
18+
"--cap-add=SYS_PTRACE",
19+
"--security-opt",
20+
"seccomp=unconfined"
21+
],
22+
// Configure tool-specific properties.
23+
"customizations": {
24+
// Configure properties specific to VS Code.
25+
"vscode": {
26+
// Set *default* container specific settings.json values on container create.
27+
"settings": {
28+
"lldb.library": "/usr/lib/liblldb.so"
29+
},
30+
// Add the IDs of extensions you want installed when the container is created.
31+
"extensions": [
32+
"sswg.swift-lang",
33+
"vadimcn.vscode-lldb"
34+
]
35+
}
36+
},
37+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
38+
"forwardPorts": [8080],
39+
40+
// Use 'postCreateCommand' to run commands after the container is created.
41+
"postCreateCommand": "swift --version",
42+
43+
// Set `remoteUser` to `root` to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
44+
"remoteUser": "vscode"
45+
}

.vscode/extensions.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"recommendations": [
3+
"sswg.swift-lang",
4+
"vadimcn.vscode-lldb",
5+
"ms-vscode-remote.vscode-remote-extensionpack"
6+
]
7+
}

.vscode/settings.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"files.exclude": {
3+
"**/.build": true,
4+
"**/.swiftpm": true,
5+
"**/.docc-build": true,
6+
"**/node_modules": true,
7+
"Package.resolved": true
8+
}
9+
}

.vscode/tasks.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"version": "2.0.0",
3+
"tasks": [
4+
{
5+
"label": "swift: Build All",
6+
"detail": "swift build --build-tests",
7+
"cwd": ".",
8+
"type": "swift",
9+
"args": [
10+
"build",
11+
"--build-tests"
12+
],
13+
"problemMatcher": [
14+
"$swiftc"
15+
],
16+
"group": {
17+
"kind": "build",
18+
"isDefault": true
19+
},
20+
"presentation": {
21+
"reveal": "silent",
22+
"panel": "shared",
23+
"clear": true
24+
}
25+
}
26+
]
27+
}

0 commit comments

Comments
 (0)