chore(devcontainer): update configuration and lifecycle scripts
This commit is contained in:
@@ -1,65 +1,31 @@
|
||||
{
|
||||
"image": "ghcr.io/yanhao98/h-devcontainer:main",
|
||||
"runArgs": ["--name=${localWorkspaceFolderBasename}-devcontainer"],
|
||||
"forwardPorts": [4730, 4731], // vscode://settings/remote.localPortHost -> 默认只监听 localhost
|
||||
"runArgs": [
|
||||
"--hostname=devcontainer-host",
|
||||
"--name=${localWorkspaceFolderBasename}-devcontainer"
|
||||
],
|
||||
"forwardPorts": [4730, 4731, 5901],
|
||||
"portsAttributes": {
|
||||
"4730": { "label": "开发服务器端口", "onAutoForward": "notify" },
|
||||
"4731": { "label": "预览服务器端口", "onAutoForward": "notify" }
|
||||
},
|
||||
"remoteEnv": {
|
||||
"ANTHROPIC_AUTH_TOKEN": "${localEnv:ANTHROPIC_AUTH_TOKEN}",
|
||||
"ANTHROPIC_BASE_URL": "${localEnv:ANTHROPIC_BASE_URL}",
|
||||
"GEMINI_API_KEY": "${localEnv:GEMINI_API_KEY}",
|
||||
"GOOGLE_GEMINI_BASE_URL": "${localEnv:GOOGLE_GEMINI_BASE_URL}"
|
||||
},
|
||||
"containerEnv": {
|
||||
"NODE_OPTIONS": "--max-old-space-size=4096",
|
||||
"TZ": "${localEnv:TZ:Asia/Shanghai}"
|
||||
},
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
// AI
|
||||
"github.copilot-chat",
|
||||
"anthropic.claude-code",
|
||||
"google.gemini-cli-vscode-ide-companion",
|
||||
"vicanent.gcmp",
|
||||
// >>>>>
|
||||
// "eamodio.gitlens",
|
||||
"tu6ge.naive-ui-intelligence",
|
||||
"gruntfuggly.todo-tree",
|
||||
"lokalise.i18n-ally",
|
||||
"vitest.explorer",
|
||||
"antfu.unocss",
|
||||
"vue.volar",
|
||||
// <<<<<
|
||||
// 代码质量 / 格式化 / Lint
|
||||
"dbaeumer.vscode-eslint",
|
||||
"stylelint.vscode-stylelint",
|
||||
"oxc.oxc-vscode",
|
||||
"esbenp.prettier-vscode"
|
||||
],
|
||||
"extensions": ["prettier.prettier-vscode", "vue.volar"],
|
||||
"settings": {
|
||||
"editor.formatOnSave": true,
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": "explicit"
|
||||
},
|
||||
"chat.extensionUnification.enabled": true,
|
||||
"chat.tools.terminal.autoApprove": {
|
||||
"/.*/": true,
|
||||
"git push": false
|
||||
},
|
||||
// * 尽管使用了“/.*/”,但有些还是会失败,因为有几个错误的默认值:
|
||||
// * https://github.com/microsoft/vscode/issues/266651#issuecomment-3292581459
|
||||
"chat.tools.terminal.ignoreDefaultAutoApproveRules": true,
|
||||
"tasks": { "version": "2.0.0", "tasks": [] },
|
||||
"terminal.integrated.defaultProfile.linux": "zsh"
|
||||
// "tasks": { "version": "2.0.0", "tasks": [] },
|
||||
"github.copilot.chat.codeGeneration.instructions": [
|
||||
{
|
||||
"text": "This dev container includes a lightweight Fluxbox based desktop that can be accessed using a VNC viewer or the web. GUI-based commands executed from the built-in VS Code terminal will open on the desktop automatically."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"mounts": [
|
||||
// 不挂载还可能会遇到:`Cannot run macOS (Mach-O) executable in Docker: Exec format error`
|
||||
"source=${localWorkspaceFolderBasename}-node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume",
|
||||
"source=${localWorkspaceFolder}/.devcontainer/lifecycle-scripts.d,target=/usr/local/etc/lifecycle-scripts.d,type=bind,consistency=delegated"
|
||||
],
|
||||
@@ -69,7 +35,5 @@
|
||||
"updateContentCommand": "/usr/local/bin/run-lifecycle-scripts.sh updateContentCommand",
|
||||
"postCreateCommand": "/usr/local/bin/run-lifecycle-scripts.sh postCreateCommand",
|
||||
"postStartCommand": "/usr/local/bin/run-lifecycle-scripts.sh postStartCommand",
|
||||
"postAttachCommand": "/usr/local/bin/run-lifecycle-scripts.sh postAttachCommand",
|
||||
"waitFor": "updateContentCommand",
|
||||
"remoteUser": "usr_vscode"
|
||||
"postAttachCommand": "/usr/local/bin/run-lifecycle-scripts.sh postAttachCommand"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user