① 配置源与落点
# 配置·源·改 /etc/nixos/modules/desktop/ide/vscode.nix
# 配置·托管段·标记 // >>> nix 管理 … // <<< nix 管理(段内键值每行带逗号)
# 配置·开关·关闭键 行首加 // ⇒ 该键回到运行时值(不再由 nix 托管)
# 配置·边界·段外 标记之外的键(UI 手改)永不被碰
# 配置·安全·非法 拒写 + 留备份 settings.json.vscode-bad-<时间>
# 配置·生效·rebuild source /etc/nixos/scripts/rebuild.sh && rebuild "描述"
② 回读与回滚
# 核验·看段 sed -n '// >>> nix 管理/,/<<< nix 管理/p' ~/.config/Code/User/settings.json
# 核验·防重复 grep -c '>>> nix 管理' ~/.config/Code/User/settings.json # 期望 1
# 核验·脏备份 ls ~/.config/Code/User/settings.json.vscode-bad-* | wc -l # 期望 0
# 回滚·世代表 rebuild list
# 回滚·切上一代 sudo nix-env --rollback -p /nix/var/nix/profiles/system
③ 解释器与 uv 环境
# 环境·uv·建 uv venv # 生成 .venv ⇒ 扩展自动命中
# 环境·uv·钉版本 uv python pin 3.13
# 环境·uv·看包 uv pip list
# 环境·uv·装私有包 uv pip install /s500data/softnixos/wheel/imagetools-1.0.1.tar.gz
# 环境·判定·自查 cat /s500data/envs/py313/pyvenv.cfg # 有它 ⇒ 认作 venv
# 环境·激活 source /s500data/envs/py313/bin/activate
# 环境·识别·已托管 python.venvPath / python-envs.globalSearchPaths / python.locator
# 环境·选解释器 Ctrl+Shift+P → Python: Select Interpreter → py313 /s500data/envs/py313/bin/python
# 环境·换后刷新 Ctrl+Shift+P → Developer: Reload Window
# 环境·坑·无 numpy 未选解释器 ⇒ 用 PATH 上的 python(无 numpy)⇒ Pylance 报 Import 无法解析
④ 扩展·网络·排障
# 扩展·装 code --install-extension ms-python.python # 非 nix 管(重装丢)
# 扩展·列/卸 code --list-extensions --show-versions | code --uninstall-extension
# 扩展·出网·代理 http_proxy=http://127.0.0.1:7890 code --install-extension
# 网络·遥测·代理拦 mihomo REJECT:*.vortex.data.microsoft.com / dc.services.visualstudio.com
# 排障·概览/日志 code --status | ls -dt ~/.config/Code/logs/*/window*/exthost/* | head
# 排障·崩溃上报 ~/.vscode/argv.json 的 enable-crash-reporter
# 打开·目录/新窗 code / code -n
⑤ 已托管键(隐私/遥测/AI/更新 + 环境识别)
telemetry.telemetryLevel=off # 隐私·遥测·总开关·关
telemetry.editStats.enabled=false # 隐私·遥测·编辑统计·关
telemetry.enableCrashReporter=false # 隐私·上报·崩溃·关(旧键)
workbench.enableExperiments=false # 隐私·实验·A/B·不参与
update.mode=none # 更新·本体·交给 nix
extensions.autoCheckUpdates=false # 更新·扩展·检查·关
extensions.autoUpdate=false # 更新·扩展·自动·关
chat.disableAIFeatures=true # AI·内置功能·总开关·关
security.workspace.trust.enabled=true # 安全·工作区信任·保留
python.venvPath=/s500data/envs # 环境·识别·父目录
python-envs.globalSearchPaths=[/s500data/envs] # 环境·识别·绝对路径(只加不减:空 ⇒ 列表全空)
python.locator=native # 环境·发现器·原生