Skip to content
← 返回编辑器与 IDE列表
编辑器与IDE完整实践与解答

编辑器与IDE:完整实践与解答 ​

需能阅读 Python、JSON 和文件路径。以求和工作区为例,先打开包含 total.py 与 input.json 的目录,再对照 tasks/launch 的参数与 cwd;程序依赖 Python 3.11+,调试另需 VS Code Python Debugger 扩展。 示例未在本轮执行;本页完整源码与README列出输入、阅读顺序和预期。

IDE 完整工作区 ​

IDE完整工作区包含settings、tasks、launch和一份纯Python计算程序。示例未执行;标准库可运行程序不等于调试扩展已可用,README分别说明这两个前置。

IDE 断点练习 ​

题目:任务从仓库根启动,输入文件在示例子目录,相对路径为何失败?

参考答案

相对路径由cwd解释,而不是代码文件位置;把输入路径作为显式参数,或配置cwd为该示例目录。

IDE 配置恢复 ​

IDE配置恢复先撤回自己的工作区设置差异,不重置所有用户设置。清理复制目录即可移除本例;检查.vscode文件是否含本机绝对路径,防止把可共享配置变成机器绑定。

完整源码、配置与输入 ​

下列文件与仓库同源,包含完整实现和输入;不是运行证明。部分练习只需人工阅读配置,不强制构造模拟器。

.editorconfig ​

text
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4

.vscode/settings.json ​

json
{
  "files.encoding": "utf8",
  "files.eol": "\n",
  "editor.insertSpaces": true,
  "editor.tabSize": 4,
  "files.exclude": {
    "**/__pycache__": true
  }
}

.vscode/tasks.json ​

json
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "course-total",
      "type": "process",
      "command": "python",
      "args": [
        "${workspaceFolder}/total.py",
        "${workspaceFolder}/input.json"
      ],
      "options": {
        "cwd": "${workspaceFolder}"
      },
      "problemMatcher": []
    }
  ]
}

.vscode/launch.json ​

json
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Inspect total",
      "type": "debugpy",
      "request": "launch",
      "program": "${workspaceFolder}/total.py",
      "args": [
        "${workspaceFolder}/input.json"
      ],
      "cwd": "${workspaceFolder}",
      "console": "integratedTerminal",
      "justMyCode": true
    }
  ]
}

total.py ​

python
import json
import sys
from pathlib import Path

def total(values):
    if not isinstance(values, list) or any(type(v) is not int for v in values):
        raise ValueError("expected a list of integers")
    return sum(values)

if __name__ == "__main__":
    try:
        if len(sys.argv) != 2:
            raise ValueError("usage: python total.py input.json")
        values = json.loads(Path(sys.argv[1]).read_text(encoding="utf-8"))
        print(total(values))
    except (ValueError, OSError) as exc:
        print(str(exc), file=sys.stderr)
        sys.exit(2)

input.json ​

json
[2, 3, 5]

requirements.txt ​

text
# Python 3.11+ standard library for total.py.
# VS Code Python Debugger extension (debugpy adapter) for launch.json only.
# No extension was installed or adapter run for this lesson.

项目README与完整依赖 ​

README提供前置、完整自跑或阅读方式、预期、失败案例与恢复清理。本轮没有执行任何示例、产品CLI、模型或外部API。

markdown
# 编辑器与IDE:完整教学包

示例未执行。全部输入为教学虚构资料,不能用于真实账号、生产数据或外部系统。

## 前置与依赖

Python3.11以上;任务用python,Linux需要时读者修改为python3;调试另需VS Code Python Debugger扩展。

## 文件与输入

- `.editorconfig`:本包完整文件。
- `.vscode/settings.json`:本包完整文件。
- `.vscode/tasks.json`:本包完整文件。
- `.vscode/launch.json`:本包完整文件。
- `total.py`:本包完整文件。
- `input.json`:本包完整文件。
- `requirements.txt`:本包完整文件。

## 读者将来自跑或阅读

复制本包所有文件到独立目录,在该目录作为当前工作目录。以下是读者自用资料,本轮禁止执行。

```text
python total.py input.json
```

## 正常预期

标准输出10;VS Code任务course-total使用工作区绝对输入,调试配置可在total函数设置断点。

## 失败案例与恢复

把input.json改为[2,true],预期退出2并报告expected a list of integers;debugpy未安装时调试会话不可用。

## 清理及能力边界

必须把本例目录作为工作区打开;撤回工作区设置差异即可恢复。无网络、无端口。

## 来源

- [官方依据](https://code.visualstudio.com/docs/reference/variables-reference)(2026-10-17资料核对;不是运行证明)

依据与适用范围 ​

本课完成的是列明任务的理论与静态资料,不代表产品全部能力或三平台运行通过。历史文档保留旧URL;涉及账号、版本、价格与界面位置时,以对应官方资料及实际授权环境为准。

继续阅读