Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AI 编程工具大盘点 (三) #139

Open
cssmagic opened this issue Dec 6, 2024 · 0 comments
Open

AI 编程工具大盘点 (三) #139

cssmagic opened this issue Dec 6, 2024 · 0 comments

Comments

@cssmagic
Copy link
Owner

cssmagic commented Dec 6, 2024

前两期文章介绍了适合新手入门的几种 AI 编程方式——智能对话助手+代码解释器网页创作平台+图生网站 等等。本期要介绍的工具就相对 “硬核” 一些了,我们将零距离观察和编辑这些代码。

主流的 AI 代码编辑器

当我们把 ChatGPT、代码解释器或 Bolt 生成的代码下载到本地以后,就要交给本地的代码编辑器来处理了。本期将要介绍的几款 AI 编程工具,要么是安装在代码编辑器里的插件,要么就是一款独立的编辑器,本文统称为 “AI 代码编辑器”。

GitHub Copilot

copilot-logo

GitHub Copilot 是 AI 辅助编程领域的标杆产品,最早在 2021 年以技术预览的方式发布,2022 年作为商业化产品正式发布,比 ChatGPT 的问世要早很多。

由 GitHub 和 OpenAI 共同研发,作为编辑器插件集成到开发环境中,支持 VS Code 和 JetBrains IDE 等主流开发工具。它提供代码补全、智能对话、项目编辑等功能(本文稍后会详细讲解),而且它的功能仍在不断升级和增强。

GitHub_Copilot界面

GitHub Copilot 需要付费订阅使用,每月 10 美元。学生用户可以免费使用,新用户也可以免费试用一个月。

Cursor

cursor-logo

Cursor 是 AI 辅助编程领域的后起之秀,在 2024 年下半年热度飙升。它是一款独立的编辑器产品,基于 VS Code 内核。除了基础的代码补全功能以外,Cursor 还提供了批量补全、预测下一步操作、智能对话、修改多个文件等高级功能。

Cursor界面

我们不难发现,Cursor 和 GitHub Copilot 的界面极为相似。它们的主要功能也如出一辙,我们在其中一款工具上学到的思路、方法和技巧,通常都可以平滑迁移到其他工具上。

Cursor 每月的订阅费用为 20 美元,不过它也为新用户提供了两周的免费试用期。

CodeGeeX

智谱旗下的智能编程助手,支持多种编程语言,以插件的形式适配 VS Code 和 JetBrains IDE 等主流开发工具。个人用户可免费使用,企业用户可选择私有化部署方案

其他

这个领域的产品还有阿里出品的通义灵码、字节出品的 MarsCode、海外的老牌产品 Tabnine、老树开新花的 Windsurf 等等。国内的互联网大厂几乎都推出了自己的 AI 编辑器插件,对个人用户也都免费,大家都可以尝试一下。

这些产品的功能特性与上述产品也都十分相似,这里就不一一展开了。

AI 代码编辑器怎么用?

准备工作

这里以 GitHub Copilot 为例来介绍使用方法。我们需要完成以下几项准备工作:

  1. 安装编辑器(建议 VS Code)
  2. 准备 GitHub 账号
  3. 安装插件
    • VS Code 中文语言包
    • GitHub Copilot 插件
    • Python 插件
  4. 配置编辑器和插件
  5. 安装 Python 运行环境

具体的操作过程这里就不展开了,大家可以参考《AI 辅助编程入门》这本书,里面有详细介绍。或者也可以求助 ChatGPT 或 Kimi 等智能助手,一步一步提问,通常也能得到合适的解答。

接下来,让我们感受 GitHub Copilot 的几项主要功能,体验它们的交互模式和使用技巧。

核心功能一:代码补全

代码补全是 GitHub Copilot 这样的 AI 辅助编程工具最初提供的功能,也是最基础的功能。我们在编辑器中输入代码的过程中,GitHub Copilot 会根据我们的输入,自动提供代码补全建议。

completion
(补全语句)

自动补全
(补全整个函数的实现)

因为是 “建议”,它并不影响我们自己输入代码的过程。在上面的截图中,灰色的斜体文字就是 GitHub Copilot 根据上下文生成的。不过这些文字暂时还不是正式的代码内容,因此,接下来:

  • 如果我们觉得这个建议靠谱,可以按 Tab 键接受,这样这些文字就会正式添加到代码中。
  • 如果这个建议不是我们想要的,可以按 Esc 键让它消失。
  • 也可以不管它,继续按自己的想法输入代码。
  • GitHub Copilot 也会持续地根据我们输入的新代码,生成新的建议。

这也是 “Copilot” 这个名称的由来,它就是一个副驾驶,为我们提供建议、帮我们生成代码,但不会干涉我们自己的驾驶决策。

这个功能直接在我们输入代码的编辑区发挥作用,所以交互成本极低。一旦养成习惯以后,这个功能可以极大地提升编程效率。

💡 在使用技巧方面,我们最常用的做法就是在编辑区直接写注释作为提示词,然后让 GitHub Copilot 生成对应代码。

但这里就有一个问题,代码补全一次所能生成的代码数量是有限的,它无法一次性生成一个完整的程序,也无法同时在多个文件中生成代码,这限制了它的应用场景。因此,它比较适合完成一些较小的编程任务,比如写一个函数、一个循环、一小段逻辑判断等等。

可以想像,有经验的程序员会比较喜欢这个功能,因为他们对整个程序有比较强的掌握力,大体知道整个程序是由哪些部分组成的,然后可以让 AI 来填充这些小块,最终构成一个完整的程序。

但对于零基础的编程新手来说,这个功能较为 “底层”,使用起来并不顺手。没关系,我们还有其他方法!

核心功能二:行内聊天

我们通过界面来展示它的主要功能:

inline-chat-try-1
(生成代码的场景)

inline-chat-try-3
(修改已有代码的场景)

这个功能可以在编辑区的光标位置召唤出聊天对话框,然后我们就可以提出问题或需求。图中浅绿色背景的代码是由 GitHub Copilot 生成的建议,如果我们点击 “接受” 按钮,这些代码就会正式添加到文件中。

大家可以感受到,这个功能适合在当前文件中生成代码或修改代码。“修改代码” 是一项非常重要的能力,上面介绍的 “代码补全” 暂时还做不到这一点。

核心功能三:边栏聊天

同样,我们还是先来看看它的界面:

GitHub_Copilot-边栏聊天
(通过对话生成代码的场景)

这个功能适合针对整个项目进行提问、生成代码、修改代码,也可以提出通用的技术问题。

这个对话面板就像是一个集成到编辑器中的 ChatGPT,可以随时解答我们的疑问。它背后的大模型就是我们熟悉的 GPT-4o 等旗舰模型。

新功能:项目编辑

GitHub Copilot 最近添加的功能。可以针对整个项目(多个文件)进行编辑,包括新增文件、新增功能、修改现有功能等操作。

GitHub_Copilot-edit

这是一项非常强大的功能。它表明 GitHub Copilot 现在已经可以针对整个项目的代码进行理解和操作。

虽然 “边栏聊天” 也可以完成类似的任务,但 “项目编辑” 功能针对多文件的编辑操作做了专门的优化,无论是概览全局,还是细致对比文件的变更,操作起来都更加便捷。

其他辅助功能

还有比较常用的功能,这里也通过截图简要介绍一下:

  • 运行当前 Python 文件,运行结果会出现在终端中。这种方式适合运行代码解释器或 GitHub Copilot 帮我们写的 Python 脚本。

    vscode-run-button

  • 运行当前选中的 Python 代码(Shift + 回车)。这种方式适合测试一个大文件中的某一小段代码。

    repl

  • 在终端生成命令。初学者一般都不太熟悉命令行的操作,而这个功能则可以把我们的自然语言转换成对应的命令并运行,实在是一个好帮手。

    terminal-inline-chat

  • 解释编辑区选中的代码。这是我们学习编程的重要手段之一。

    GitHub_Copilot-解释-编辑区

  • 解释终端选中的信息。帮助我们理解终端中的命令和输出信息,尤其是当脚本运行出错时,这个功能可以帮我们分析问题所在。

    GitHub_Copilot-解释-终端

  • Code Review。可以帮我们检查代码的质量,提出改进建议。

    GitHub_Copilot-Review

小结

看到这里,你已经完整体验了 GitHub Copilot 的主要功能。不过,光看这些讲解,还没有直观的感受?担心自己上手会遇到困难?

别着急,下期文章会通过一个小案例把上面介绍的 GitHub Copilot 核心功能串联起来,同时演示初学者容易遇到的问题如何化解。你可以把这些经验代入到自己的实际操作中。各位新朋友请关注公众号,下次更新不迷路

weixin-qrcode


cover-3d w1200

如果你希望 快速入门 AI 编程工具,掌握编程技能,在 AI 时代抢占先机,请务必拿下魔法哥的这本新书!目前京东自营全网底价,正是入手的好时机。

promo 2

祝阅读愉快!


📣 AI 魔法群开放啦!

扫码加群,领取魔法哥整理的常用 AI 工具包:

qun-qr


🔥 往期推荐

AI 应用开发指南:

ChatGPT 高级技巧:

AI 资讯与评述:


© Creative Commons BY-NC-ND 4.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant