mirror of
https://github.com/nonebot/nonebot2.git
synced 2024-11-24 00:55:07 +08:00
✨ Feat: 添加 devcontainer 支持 (#981)
This commit is contained in:
parent
540629aa7c
commit
70ddc634f6
20
.devcontainer/Dockerfile
Normal file
20
.devcontainer/Dockerfile
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.233.0/containers/codespaces-linux/.devcontainer/base.Dockerfile
|
||||||
|
|
||||||
|
FROM mcr.microsoft.com/vscode/devcontainers/universal:linux
|
||||||
|
|
||||||
|
# ** [Optional] Uncomment this section to install additional packages. **
|
||||||
|
# USER root
|
||||||
|
#
|
||||||
|
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||||
|
# && apt-get -y install --no-install-recommends <your-package-list-here>
|
||||||
|
|
||||||
|
USER codespace
|
||||||
|
|
||||||
|
# [Required] Poetry
|
||||||
|
RUN curl -sSL https://install.python-poetry.org | python - -y
|
||||||
|
RUN poetry config virtualenvs.in-project true
|
||||||
|
|
||||||
|
# [Required] Gitmoji CLI
|
||||||
|
# Deprecated: Maybe removed once nonemoji is done
|
||||||
|
RUN yarn global add gitmoji-cli
|
||||||
|
ENV PATH="$PATH:/home/codespace/.yarn/bin"
|
83
.devcontainer/devcontainer.json
Normal file
83
.devcontainer/devcontainer.json
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
|
||||||
|
// https://github.com/microsoft/vscode-dev-containers/tree/v0.233.0/containers/codespaces-linux
|
||||||
|
{
|
||||||
|
"name": "NoneBot",
|
||||||
|
"build": {
|
||||||
|
"dockerfile": "Dockerfile",
|
||||||
|
"context": ".."
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"go.toolsManagement.checkForUpdates": "local",
|
||||||
|
"go.useLanguageServer": true,
|
||||||
|
"go.gopath": "/go",
|
||||||
|
"python.defaultInterpreterPath": "/opt/python/latest/bin/python",
|
||||||
|
"python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8",
|
||||||
|
"python.formatting.blackPath": "/usr/local/py-utils/bin/black",
|
||||||
|
"python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf",
|
||||||
|
"python.linting.banditPath": "/usr/local/py-utils/bin/bandit",
|
||||||
|
"python.linting.flake8Path": "/usr/local/py-utils/bin/flake8",
|
||||||
|
"python.linting.mypyPath": "/usr/local/py-utils/bin/mypy",
|
||||||
|
"python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle",
|
||||||
|
"python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle",
|
||||||
|
"python.linting.pylintPath": "/usr/local/py-utils/bin/pylint",
|
||||||
|
"python.analysis.diagnosticMode": "workspace",
|
||||||
|
"python.analysis.typeCheckingMode": "basic",
|
||||||
|
"[python]":{
|
||||||
|
"editor.defaultFormatter": "ms-python.black-formatter",
|
||||||
|
"editor.codeActionsOnSave": {
|
||||||
|
"source.organizeImports": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"[javascript]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[html]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[typescript]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[javascriptreact]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"[typescriptreact]": {
|
||||||
|
"editor.defaultFormatter": "esbenp.prettier-vscode"
|
||||||
|
},
|
||||||
|
"lldb.executable": "/usr/bin/lldb",
|
||||||
|
"files.exclude": {
|
||||||
|
"**/__pycache__": true
|
||||||
|
},
|
||||||
|
"files.watcherExclude": {
|
||||||
|
"**/target/**": true,
|
||||||
|
"**/__pycache__": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"remoteUser": "codespace",
|
||||||
|
"overrideCommand": false,
|
||||||
|
"mounts": ["source=codespaces-linux-var-lib-docker,target=/var/lib/docker,type=volume"],
|
||||||
|
"runArgs": [
|
||||||
|
"--cap-add=SYS_PTRACE",
|
||||||
|
"--security-opt",
|
||||||
|
"seccomp=unconfined",
|
||||||
|
"--privileged",
|
||||||
|
"--init"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Add the IDs of extensions you want installed when the container is created.
|
||||||
|
"extensions": [
|
||||||
|
"GitHub.vscode-pull-request-github",
|
||||||
|
"ms-python.python",
|
||||||
|
"ms-python.vscode-pylance",
|
||||||
|
"ms-python.isort",
|
||||||
|
"ms-python.black-formatter",
|
||||||
|
"EditorConfig.EditorConfig",
|
||||||
|
"esbenp.prettier-vscode",
|
||||||
|
"bradlc.vscode-tailwindcss"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
||||||
|
// "forwardPorts": [],
|
||||||
|
|
||||||
|
// "oryx build" will automatically install your dependencies and attempt to build your project
|
||||||
|
"postCreateCommand": "poetry install -E all && poetry run pre-commit install && yarn install"
|
||||||
|
}
|
@ -34,6 +34,10 @@ yarn global add gitmoji-cli
|
|||||||
gitmoji -i
|
gitmoji -i
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 使用 GitHub Codespaces (Dev Container)
|
||||||
|
|
||||||
|
使用 GitHub Codespaces 选择 `NoneBot2` 项目,然后选择 `.devcontainer/devcontainer.json` 配置即可。
|
||||||
|
|
||||||
### Commit 规范
|
### Commit 规范
|
||||||
|
|
||||||
请确保你的每一个 commit 都能清晰地描述其意图,一个 commit 尽量只有一个意图。
|
请确保你的每一个 commit 都能清晰地描述其意图,一个 commit 尽量只有一个意图。
|
||||||
|
Loading…
Reference in New Issue
Block a user