diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..3ebe8139 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,61 @@ +{ + "name": "CopilotForXcode Development", + "image": "mcr.microsoft.com/devcontainers/base:ubuntu", + + "features": { + "ghcr.io/devcontainers/features/common-utils:2": { + "installZsh": true, + "installOhMyZsh": true, + "upgradePackages": true, + "username": "vscode", + "userUid": "1000", + "userGid": "1000" + }, + "ghcr.io/devcontainers/features/git:1": { + "version": "latest" + }, + "ghcr.io/devcontainers/features/node:1": { + "version": "lts", + "nodeGypDependencies": true + }, + "ghcr.io/devcontainers/features/homebrew:1": { + "version": "latest" + } + }, + + "postCreateCommand": "bash .devcontainer/post-create.sh", + + "customizations": { + "vscode": { + "extensions": [ + "sswg.swift-lang", + "GitHub.copilot", + "GitHub.copilot-chat", + "ms-vscode.makefile-tools", + "streetsidesoftware.code-spell-checker", + "eamodio.gitlens" + ], + "settings": { + "terminal.integrated.defaultProfile.linux": "zsh", + "editor.formatOnSave": true, + "editor.tabSize": 2, + "files.insertFinalNewline": true, + "files.trimTrailingWhitespace": true + } + } + }, + + "remoteUser": "vscode", + + "mounts": [ + "source=${localEnv:HOME}/.ssh,target=/home/vscode/.ssh,readonly,type=bind,consistency=cached" + ], + + "forwardPorts": [], + + "portsAttributes": {}, + + "postAttachCommand": "", + + "updateContentCommand": "git pull" +}