返回课程总览

实验 03 · 编辑器

VS Code 编辑与终端工作流

在 VS Code 中编辑和运行脚本,并创建可供后续比较的 Git 基线。

完整讲义

实验 3:VS Code 编辑与终端工作流

目标

把 VS Code 作为主要工作区,用它编辑文件、保存文件,并通过集成终端运行命令。 后续实验默认你已经会完成这一套流程。

小知识:VS Code 不是编程语言

VS Code 的核心工作是读取、显示和修改文件,并把项目中的文件组织在一个窗口里。它不会因为 打开了 .py 文件就自动变成 Python,也不会替 MATLAB 完成矩阵计算。真正运行代码的是 Python 解释器或 MATLAB;VS Code 只是把编辑器、文件树和终端放在一起。分清这些角色后, 报错时就更容易判断问题来自文件、运行环境还是程序本身。

复用前面技能

  • 用 PowerShell 进入课程根目录。
  • 使用实验 2 创建的共享文件夹。
小知识:源代码为什么通常是纯文本?

纯文本只保存字符,不附带字体、分页或复杂排版,因此同一个文件可以被不同编辑器读取。 更重要的是,两份纯文本能够逐行比较:工具可以明确指出哪一行被增加、删除或修改,这使版本 控制和多人协作成为可能。代码块的颜色由编辑器临时添加,并不存储在文件中;换一个编辑器, 程序内容仍然相同。

任务

  1. 打开 PowerShell 并进入课程根目录:
cd (Join-Path ([Environment]::GetFolderPath("Desktop")) "opencode-matlab-class")
  1. 用 VS Code 打开该文件夹:
code .
  1. 在 VS Code 中创建 notes/lab03-notes.md
  2. 添加模板:
# Lab 3 Notes

## Commands I ran

## Files I edited

## Result

## Questions
  1. 通过 Terminal -> New Terminal 打开 VS Code 集成终端。
  2. 在终端中运行:
pwd
dir
mkdir labs\lab03
  1. 创建 labs/lab03/hello.py
print("hello from VS Code")
  1. 在 VS Code 终端中运行:
python labs\lab03\hello.py
  1. 将运行命令和输出记录到 notes/lab03-notes.md

创建第一个 Git 提交

Git 提交是项目在某一时刻的已记录状态。后面让 OpenCode 修改文件时,可以把新状态与这个基线 逐行比较。先为当前仓库设置只在本课程项目中使用的身份,把示例值替换成自己的姓名和邮箱:

git config --local user.name "Your Name"
git config --local user.email "your-email@example.com"

--local 表示设置只写入当前仓库,不会改变计算机上其他项目。然后查看、暂存并提交文件:

git status
git add .
git status
git commit -m "chore: establish course workspace"
git status

第一次 git status 显示尚未记录的文件;git add . 选择课程根目录中的当前内容作为提交 候选;git commit 保存这次状态。最后一次状态检查应包含 nothing to commit, working tree clean,表示工作区与最近一次提交一致。

Checkpoint

完成后确认:

  • VS Code 打开的是课程根目录。
  • notes/lab03-notes.md 已存在。
  • python labs\lab03\hello.py 能在 VS Code 终端中运行。
  • Git 已创建基线提交,最后一次 git status 显示工作区干净。

完成内容

  • notes/lab03-notes.md
  • labs/lab03/hello.py
  • VS Code 终端输出截图

到这里,你已经能在一个工作区中查看文件、编辑代码、运行程序并记录结果。下一次实验会让 OpenCode 在这个工作区中读取文件、修改代码并运行命令;你仍然使用本实验的文件树和集成终端 检查它完成了什么。

反思问题

notes/lab03-notes.md 中回答:

  1. 你如何确认 VS Code 打开的是课程根目录?
  2. 为什么运行前必须保存文件?
  3. 编辑文件和运行命令有什么区别?
  4. git addgit commit 分别完成什么?