ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Baserow VS Code 开发环境完整配置指南:应用标准配置、跑通测试与调试

Baserow VS Code 开发环境完整配置指南:应用标准配置、跑通测试与调试 Baserow VS Code 开发环境完整配置指南应用标准配置、跑通测试与调试【免费下载链接】baserowBuild databases, automations, apps agents with AI — no code. Open source platform available on cloud and self-hosted. GDPR, HIPAA, SOC 2 compliant. Best Airtable alternative.项目地址: https://gitcode.com/GitHub_Trending/ba/baserow本文基于 Baserow 仓库中的 VSCode Setup 指南带你从零搭建一套完整的 Baserow 开发环境一键应用仓库自带的标准 VSCode 配置理解 settings.json、launch.json、env 三类配置文件的具体作用并按步骤完成 Python 虚拟环境、PostgreSQL、Node.js 与测试运行器的配置最终在编辑器内直接运行前后端单元测试与调试会话。一、指南定位与前提条件官方指南docs/development/vscode-setup.md的目标是让开发者在 VSCode 中运行和调试全部测试并启用所有相关的 linter 与自动格式化工具。指南假设你已具备 git、Python、virtualenv、PostgreSQL 和命令行工具的基本使用经验。开始之前需要安装两个命令行工具just— 命令运行器。Baserow 的构建/开发流程全部封装在 justfile 中例如just b init、just f install、just dc-dev等 recipe后文操作步骤会大量使用它uv— Python 包管理器用于创建虚拟环境并安装后端依赖。二、一键应用标准 VSCode 配置第一步是在克隆后的仓库中运行标准配置应用脚本./config/vscode/apply_standard_baserow_vscode_config.sh按提示输入Y并回车即可应用。该脚本 apply_standard_baserow_vscode_config.sh 的实际逻辑很直接——它启用set -euo pipefail严格模式后将脚本同目录下的.vscode隐藏目录整体拷贝到仓库根目录cp -a ${SCRIPT_DIR}/.vscode ${SCRIPT_DIR}/../../也就是说仓库中真正存放标准配置的位置是 config/vscode/.vscode 目录脚本会把其中三个文件落地为项目根部的.vscode/env、.vscode/launch.json、.vscode/settings.json。脚本会明确提示将覆盖你已有的 Baserow 仓库 VSCode 配置输入非 Y 字符则中止且不改动任何文件。完成拷贝后按指南继续操作打开 VSCode在欢迎页点击 Open选择你克隆的 baserow 目录确认已安装并启用 Python VSCode 插件。三、标准配置文件逐项解读3.1 settings.json测试运行器与 Linter 的核心配置落地后的 .vscode/settings.json 是整套体验的中枢关键配置可以分为四组1后端 pytest 配置python.linting.flake8Args: [--configbackend/.flake8], python.testing.unittestEnabled: false, python.testing.pytestEnabled: true, python.testing.pytestArgs: [backend]这里显式关闭 unittest、启用 pytest并指定测试根目录为backendflake8 按backend/.flake8的配置运行。2前端 Jest 配置jest.autoRun: off, jest.rootPath: web-frontend, jest.jestCommandLine: node_modules/.bin/jest --config jest.config.js --runInBand --watchAllfalseJest 根目录指向web-frontend即 web-frontend/jest.config.js 所在目录默认不自动运行--runInBand --watchAllfalse保证在编辑器测试面板中串行、非交互执行。3Mypy 静态类型检查mypy.targets: [backend/src/, premium/backend/src/, enterprise/backend/src/], mypy.configFile: backend/mypy.ini, mypy.runUsingActiveInterpreter: true三个后端源码目录开源后端、premium 后端、enterprise 后端都纳入 mypy 检查范围类型检查规则来自 backend/mypy.ini并强制使用当前激活的解释器即你后面选定的.venv。4数据库连接与编辑器行为sqltools.connections: [ { server: localhost, port: 5432, driver: PostgreSQL, name: baserow, database: baserow, username: baserow, password: baserow } ], editor.formatOnSave: true, stylelint.configFile: ${workspaceFolder}/web-frontend/.stylelintrc, stylelint.validate: [css, less, postcss, scss]SQLTools 预置了一个localhost:5432上的baserow库连接用户名/密码均为baserow与后文本地建库的用户名一致方便你在编辑器内直接查询数据库保存时自动格式化formatOnSave配合 ESLint、Stylelint、SCSS Formatter 插件构成保存即规范的工作流。此外配置还通过python.envFile指向.vscode/env并排除了.nuxt/、__pycache__/、.pyc等噪声目录。3.2 launch.json五个开箱即用的调试配置.vscode/launch.json 定义了五组调试/运行配置覆盖前后端全部场景配置名类型作用client: chrome/client: firefoxchrome / firefox启动浏览器调试前端url指向http://localhost:3000webRoot指向${workspaceFolder}/web-frontendbackend: djangopython (attach)附加到127.0.0.1:5678的 debugpy 调试端口并将本地${workspaceFolder}映射到容器内/baserowpathMappings用于在 Docker 开发环境中调试后端pytest coveragepython (launch)带覆盖率跑全部后端测试vscode-jest-current-filenode只运行当前打开文件的 Jest 测试vscode-jest-testsnode串行运行 web-frontend 全部 Jest 测试其中几个细节值得注意pytest coverage配置以模块方式启动 pytest参数为-n33 个并行 worker、--cov-reportxml:html_coverage/cov.xml、--cov-config${workspaceFolder}/backend/.coveragerc覆盖率规则见 backend/.coveragerc、--covbaserow测试目录覆盖backend/tests/、premium/backend/tests/、enterprise/backend/tests/三处环境变量中DJANGO_SETTINGS_MODULE被设为baserow.config.settings.devDATABASE_HOST指向localhost。两个 Jest 配置都声明了runtimeVersion: 16.15.0。这正是原文档提到的判断依据VSCode 的 Node 调试器会尝试用这个版本的 Node 运行 Jest。因此前端 Node 版本应以launch.json中的runtimeVersion为准当前为16.15.0。Jest 调试时注入PRIVATE_BACKEND_URLhttp://localhost:8000即前端测试默认假设后端服务运行在 8000 端口。3.3 env 文件PYTHONPATH 与 Django settings 的注入.vscode/env 只有两行但保证 IDE 的语言服务与调试会话能正确找到代码PYTHONPATHbackend/src:premium/backend/src:enterprise/backend/src:backend/flake8_plugins:$PYTHONPATH DJANGO_SETTINGS_MODULEbaserow.config.settings.test它通过 settings.json 里的python.envFile: ${workspaceFolder}/.vscode/env生效同时python.autoComplete.extraPaths/python.analysis.extraPaths也显式列出了backend/src、premium/backend/src、enterprise/backend/src三个包根目录——因为 Baserow 的后端包位于各子项目的src/目录下而非仓库根目录。四、分步搭建后端 Python 环境4.1 初始化虚拟环境在仓库根目录执行just b init该命令会创建虚拟环境.venv/并安装后端依赖justfile 中的顶层initrecipe 就是just b initjust f install的组合见 justfile。随后让 VSCode 使用这个解释器打开命令面板Ctrl Shift P输入Python: Select Interpreter选择虚拟环境中的解释器.venv/bin/python。如果在测试菜单中看不到 Python 测试再执行命令面板中的Python: Configure Tests让 Python 插件重新发现 pytest。4.2 准备 PostgreSQL两种方式任选其一方式 A推荐用 Docker 起数据库和 Redisjust dc-dev up -d db redisdc-dev是 justfile 中封装的 dev 版 docker compose 命令基于docker-compose.ymldocker-compose.dev.yml叠加只启动db与redis两个服务。方式 B本地安装 PostgreSQL本地安装后创建 baserow 用户与.vscode/settings.json中 SQLTools 预置连接的用户名、密码保持一致CREATE USER baserow WITH ENCRYPTED PASSWORD baserow; ALTER USER baserow CREATEDB;4.3 验证后端测试数据库就绪后应从 VSCode 的测试菜单直接运行后端 Python 测试指南建议先试跑backend/tests/baserow/core/test_core_models.py这一用例确认 pytest 运行器、解释器、数据库连接三者链路全部打通。五、分步搭建前端 Node 环境切换到前端目录cd web-frontend使用nvm或fnm安装正确版本的 Node。判断标准就是launch.json中 Jest 配置的runtimeVersion当前仓库为16.15.0例如nvm install 16.15.0 nvm use 16.15.0原文档同时提示可参考 docs/installation/supported.md 确认受支持的 Node 版本全局安装 yarnnpm install -g yarn安装依赖just f install或直接yarn install若 yarn install 后弹出 VSCode 的 Trust Project 提示选择信任项目若测试菜单中看不到 Jest 测试在命令面板执行Jest: Start All Runners与settings.json中jest.rootPath/jest.jestCommandLine的声明相呼应最后从 VSCode 测试面板运行一个 web-frontend 单元测试确认前端链路可用。六、推荐插件清单指南列出 11 个必装插件而仓库中的 config/vscode/vsc-extensions.txt 给出了完整 15 个扩展 ID两者对应关系如下指南中的插件名扩展 IDvsc-extensions.txtPythonms-python.python另含ms-python.vscode-pylanceVolarVue.volarEslintdbaeumer.vscode-eslintGitlab WorkflowGitLab.gitlab-workflowGitlenseamodio.gitlensJestOrta.vscode-jestSCSS Formattersibiraj-s.vscode-scss-formatterStylelintstylelint.vscode-stylelintMypymatangover.mypyDockerms-azuretools.vscode-dockerCoverage Guttersryanluker.vscode-coverage-gutters指南未单列aslamanver.vsc-export、mtxr.sqltools、mtxr.sqltools-driver-pg前三个补充项分别用于导出/导入 VSCode 扩展列表本身安装时可借助 VSC Export Import 插件批量安装vsc-extensions.txt的内容、在编辑器内查询 SQLTools 连接settings.json中已预置 baserow 数据库连接、PostgreSQL 驱动。七、验收清单搭建完成后可以按以下清单逐项自检仓库根目录存在.vscode/env、.vscode/launch.json、.vscode/settings.json三个文件由脚本从config/vscode/.vscode拷贝而来VSCode 解释器为.venv/bin/python且测试面板能列出backend下的 pytest 用例backend/tests/baserow/core/test_core_models.py能成功运行just dc-dev up -d db redis之后SQLTools 面板能连通baserowlocalhost:5432的baserow库调试配置中出现pytest coverage、vscode-jest-current-file等五组来自launch.json的条目在web-frontend下能跑通一个 Jest 单元测试保存文件时 ESLint/Stylelint/SCSS Formatter 自动修正格式formatOnSave生效。全部通过后你就得到了一份与 Baserow 团队自身开发环境一致的标准工作区测试、调试、类型检查、格式化和数据库查询都收敛在编辑器内后续开发可以完全脱离手工配置。【免费下载链接】baserowBuild databases, automations, apps agents with AI — no code. Open source platform available on cloud and self-hosted. GDPR, HIPAA, SOC 2 compliant. Best Airtable alternative.项目地址: https://gitcode.com/GitHub_Trending/ba/baserow创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表