vscode + deepseek 开发 python 程序

(date: 2025-09-11)

学习目标

说明: 本小节是一个采用 deepseek 人工智能辅助学习的按例。它首先安排了一个3天的学习计划,让我们知道达到一个目标的线路与计划。同时,通过该案例的学习和执行,我们可以了解到如何在 vscode 中使用 deepseek 插件,以及如何使用 git 管理代码。这个页面的后面就是由 deepseek 生成的全部内容。接下来,我们将在该计划的带领下前进,遇到不懂的问题,进一步和 deepseek 作更深入的交流。

注意: 因为 deepseek 是收费的,所以需要注册账户。对于需要免费学习的用户,可以改用免费的 Marscode (Trae) 豆包插件。将下面凡是提到 deepseek 插件时,都用 Trae 代替。


prompt: 我是一名大学生,希望学习使用vscode 开发程序,特别是 python 程序。还希望能够在 vscode 中使用 deepseek 辅助编程。另外,为了更好的管理程序代码和 ai 开发过程,要用到 git。请把我制定一个3天能学完的学习计划,大纲,并生成学习内容。


好的,同学!这是一个非常棒的学习目标。VSCode + Python + Git + DeepSeek 正是一个现代开发者高效、专业的工具链组合。

我为你量身定制了一个为期3天的学习计划。这个计划假设你每天有6-8小时的学习时间,内容紧凑但循序渐进,只要你跟着操作,3天后你就能掌握这套工作流的核心。

核心工具简介

  • VSCode: 微软开发的免费、轻量但功能强大的源代码编辑器,通过插件系统几乎可以变成一款IDE。

  • Python: 你将要使用的编程语言。

  • Git: 分布式版本控制系统,用于跟踪和管理你的代码变更历史。

  • DeepSeek (VSCode版): 一个强大的AI编程助手,能帮你写代码、解疑答惑、优化代码。


学习前准备 (Day 0)

  1. 安装 VSCode: 从官网 https://code.visualstudio.com/ 下载并安装。

  2. 安装 Python: 从官网 https://www.python.org/downloads/ 下载最新稳定版。注意! 安装时务必勾选 Add Python to PATH 选项,这非常重要!

  3. 安装 Git: 从官网 https://git-scm.com/ 下载并安装,大部分选项保持默认即可。

  4. 注册账户: 前往 https://www.deepseek.com/ 注册一个账户(如果需要)。


三天学习计划大纲

Day 1: 基础搭建与核心工具初探

  • 目标: 熟悉VSCode界面,配置Python环境,编写并运行第一个程序,安装AI助手。

  • 上午 (3-4小时)

    1. VSCode入门: 熟悉用户界面(资源管理器、侧边栏、终端、活动栏)。

    2. 安装必备插件: 学习在VSCode中搜索和安装插件。

      • Python (Microsoft官方出品)

      • Pylance (Python语言服务器,包含在Python插件中)

      • DeepSeek - 今天的关键!

    3. 配置Python解释器: 学习如何选择你安装的Python版本。

  • 下午 (3-4小时)

    1. 创建你的第一个项目文件夹

    2. 编写并运行“Hello, World!”程序

    3. 深入学习VSCode的集成终端: 在内部直接使用命令行。

    4. 重点: 安装和配置DeepSeek插件,学习如何使用它提问、生成代码。

Day 2: Git版本控制入门

  • 目标: 理解Git基本概念,学会常用命令,能将本地代码托管到远程仓库(如GitHub/Gitee)。

  • 上午 (3-4小时)

    1. Git核心概念学习: 工作区、暂存区、仓库、提交(commit)。

    2. 初始化Git仓库 (git init)。

    3. 学习基础命令:

      • git status (查看状态)

      • git add (添加到暂存区)

      • git commit (提交到仓库)

      • git log (查看提交历史)

  • 下午 (3-4小时)

    1. 注册GitHub或Gitee账户 (国内推荐Gitee,速度更快)。

    2. 学习连接远程仓库:

      • 创建SSH密钥并配置。

      • git remote add (关联远程仓库)

      • git push (推送到远程)

    3. 实战: 将Day1的项目推送到远程仓库。

Day 3: 高效开发工作流实战

  • 目标: 综合运用前三天的知识,完成一个小型Python项目,并体验AI辅助编程和版本控制的完整流程。

  • 全天 (6-8小时)

    1. 项目选题: 选择一个简单项目,例如:一个命令行版的“待办事项(Todo List)管理器”

    2. 功能设计:

      • 添加任务

      • 显示所有任务

      • 标记任务为已完成

      • 删除任务

      • 退出程序

    3. 开发流程:

      • 使用 git init 初始化新项目。

      • 使用VSCode创建 todo.py 文件。

      • 积极使用DeepSeek: 当你卡住时(例如“Python如何从命令行读取输入?”“如何用Python实现一个简单的菜单循环?”),直接向DeepSeek提问,并将生成的代码整合到你的项目中。注意:理解并调试AI生成的代码,这是学习的关键!

      • 每完成一个小功能,就执行 git addgit commit,并写好提交信息(如“feat: 添加了显示所有任务的功能”)。

    4. 最终推送: 项目完成后,在GitHub/Gitee上创建新的远程仓库,并将代码 push 上去。

    5. 总结与复习: 回顾三天所学,整理笔记。


详细学习内容与操作指南

Day 1 详细内容

  1. 安装插件:

    • 打开VSCode,点击左侧活动栏的“扩展”图标(或按 Ctrl+Shift+X)。

    • 搜索框内搜索 Python,找到Microsoft官方的那个,点击安装。

    • 搜索 DeepSeek,找到其VSCode插件,点击安装。安装后侧边栏会出现DeepSeek的图标,点击它,按提示登录你的账户。

  2. 选择Python解释器:

    • F1Ctrl+Shift+P 打开命令面板。

    • 输入 Python: Select Interpreter 并选择。

    • 从列表中选择你安装的Python版本(如 Python 3.11.4)。底部状态栏会显示当前选择的解释器。

  3. 创建并运行程序:

    • 新建一个文件夹,例如 my_python_project

    • 用VSCode打开这个文件夹(文件 -> 打开文件夹)。

    • 在资源管理器中新建一个文件,命名为 hello.py

    • 输入代码:print("Hello, VSCode and Python!")

    • 右键点击编辑器,选择 在终端中运行Python文件。你会在下方的终端看到输出结果。

  4. 使用DeepSeek:

    • 方法一 (聊天): 点击侧边栏DeepSeek图标,在聊天框输入你的问题,例如:“请用Python写一个计算斐波那契数列的函数”。

    • 方法二 (行内辅助): 在代码编辑器中,按下 Ctrl+I,直接在当前文件内提问,获得建议。

    • 尝试: 在 hello.py 里新建一行,用 Ctrl+I 问:“如何用Python获取当前时间并打印?”,看看它会如何帮助你。

Day 2 详细内容

  1. 初始化Git:

    • 打开VSCode的集成终端 (Ctrl+ `)。

    • 确保终端路径在你的项目文件夹下。

    • 输入命令:git init。这会创建一个隐藏的 .git 文件夹,Git开始跟踪这个项目。

  2. 基础Git工作流:

    • 修改你的 hello.py 文件,比如加一行代码。

    • 在终端输入 git status,你会看到 hello.py 被标记为“修改过的”文件(红色)。

    • 输入 git add hello.pygit add . (添加所有更改的文件)。git status 再看,文件变绿色了,表示已在暂存区。

    • 输入 git commit -m "添加了获取时间的功能"-m 后面是本次提交的说明,务必清晰简洁

  3. 连接远程仓库 (以Gitee为例):

    • 登录Gitee,点击右上角“+”号,新建仓库。

    • 仓库名输入 my_python_project,选择“公开”,不要勾选“使用Readme文件初始化”(因为你本地已有项目)。

    • 创建成功后,按照页面上的“已有仓库”的指引操作。

    • 在VSCode终端中依次输入:

      # 将你的本地仓库与远程仓库关联起来
      git remote add origin git@gitee.com:your_username/my_python_project.git
      # 将本地的 master 或 main 分支推送到远程仓库,并建立关联
      git push -u origin "master"
      
    • 刷新Gitee页面,你的代码就上去了!

Day 3 详细内容:Todo List项目思路

这个项目会综合运用函数、列表、循环和条件判断。

# todo.py
tasks = []  # 用一个空列表来存储所有任务,每个任务可以是一个字典

def show_menu():
    print("\n--- Todo List Menu ---")
    print("1. 添加任务")
    print("2. 显示所有任务")
    print("3. 标记任务为已完成")
    print("4. 删除任务")
    print("5. 退出")

def add_task():
    # 请DeepSeek帮你:如何让用户输入任务描述?
    task = input("请输入任务描述: ")
    # 如何把这个任务(比如作为一个字典,包含描述和完成状态)添加到tasks列表?
    new_task = {"description": task, "done": False}
    tasks.append(new_task)
    print(f"任务 '{task}' 已添加!")

def show_tasks():
    # 遍历tasks列表,漂亮地打印出来,并标序号
    print("\n--- 任务列表 ---")
    for index, task in enumerate(tasks):
        status = "✓" if task['done'] else "✗"
        print(f"{index + 1}. [{status}] {task['description']}")

def mark_done():
    show_tasks()
    # 请DeepSeek帮你:如何让用户选择要标记的任务?注意处理用户输入非数字或越界的情况
    try:
        task_num = int(input("请输入要标记为已完成的任务序号: ")) - 1
        if 0 <= task_num < len(tasks):
            tasks[task_num]['done'] = True
            print("任务已标记为已完成!")
        else:
            print("无效的序号!")
    except ValueError:
        print("请输入有效的数字!")

def delete_task():
    show_tasks()
    # 类似mark_done函数,让用户选择要删除的任务序号,然后从列表中移除它
    try:
        task_num = int(input("请输入要删除的任务序号: ")) - 1
        if 0 <= task_num < len(tasks):
            removed_task = tasks.pop(task_num)
            print(f"任务 '{removed_task['description']}' 已删除!")
        else:
            print("无效的序号!")
    except ValueError:
        print("请输入有效的数字!")

def main():
    while True:
        show_menu()
        choice = input("请选择操作 (1-5): ")
        if choice == '1':
            add_task()
        elif choice == '2':
            show_tasks()
        elif choice == '3':
            mark_done()
        elif choice == '4':
            delete_task()
        elif choice == '5':
            print("再见!")
            break
        else:
            print("无效选择,请重新输入。")

if __name__ == "__main__":
    main()

开发提示:

  • 你可以不一次写完所有函数。先写 show_menumain 的框架,然后一个一个功能实现。

  • 每实现一个功能(如 add_task),就 git addgit commit 一次。

  • 遇到不会写的函数(如 delete_task),不要直接复制上面的代码,而是先自己思考,然后去问DeepSeek:“如何在Python中从列表中按索引删除一个元素?”。

  • 最终完成后,push 到你的远程仓库。

祝你学习顺利!这三天会充满挑战但也非常有成就感,坚持下去,你就能打下坚实的开发基础。