1 基本概念
VS Code(Visual Studio Code)是一个轻量级的开源代码编辑器,由微软开发。它支持多种编程语言,并提供了丰富的功能和扩展生态系统,使开发人员能够高效地编写和调试代码
- VS Code 是一个跨平台的代码编辑器,适用于 Windows、macOS 和 Linux 等操作系统
- 提供了丰富的编辑功能,包括语法高亮、代码补全、代码导航、代码重构等,以提高开发效率
- 支持集成终端、调试器、版本控制系统等工具,使开发人员能够在一个界面中完成大部分开发任务
主要优点:
- 轻量级和快速启动:启动速度快,对系统资源的占用较少
- 强大的扩展生态系统:VS Code 提供了丰富的扩展,可以根据开发人员的需求进行定制和扩展。这些扩展包括语言支持、主题、调试器、版本控制等,使得 VS Code 可以适应不同的开发场景
- 集成的调试功能:VS Code 集成了调试器,可以帮助开发人员进行代码调试和错误排查
- 跨平台支持:开发人员能够在多个操作系统/不同的环境中保持一致的开发体验
主要缺点:
- 缺少某些高级功能:对于特定的开发需求,可能需要额外的插件或者使用更专业的工具
- 学习曲线较陡:尽管 VS Code 提供了丰富的功能,但对于初学者来说,可能需要一些时间来熟悉和掌握这些功能。特别是对于没有使用过类似编辑器的开发人员来说,学习曲线可能较陡
2 基本功能
以 Python 环境为例,更多细节可参阅 官方文档
关于代码补全、代码格式化、代码提示等功能就不再赘述
2.1 环境和运行
首先确保 Python 环境和 VSCode 正确安装
在 VSCode 安装 Python extension 并选择合适的 Python 版本
正常情况下,点击右上角的运行按钮(红框)即可运行 Python 文件:
2.2 调试模式
在 VSCode 安装 Python Debugger 扩展
按 F5 初始化调试器,选择默认的 Python File
方式,开启调试
在代码中打"断点(下图代码第二行左侧的红色标记)"后,进入调试状态:
调试状态下的按钮功能说明:继续 (F5)、单步执行 (F10)、单步执行 (F11)、单步执行 (Shift+F11)、重新启动 (Ctrl+Shift+F5) 和停止 (Shift+F5)
2.3 调试的配置
打开调试的配置文件:launch.json
以 Flask 调试为例,对应的配置信息如下:
{
"name": "Python Debugger: Flask",
"type": "debugpy",
"request": "launch",
"module": "flask",
"env": {
"FLASK_APP": "app.py"
},
"args": [
"run",
"--no-debugger"
],
"jinja": true
},
配置文件可以设置参数和环境变量等信息,简化调用程序的操作过程
2.4 测试模式
首先创建测试所需的程序文件:inc_dec.py
def increment(x):
return x + 1
def decrement(x):
return x - 1
点击左侧的 烧杯
图标开启测试功能,并根据提示进行初始化配置
开启测试功能后,相关配置信息将存储在
settings.json
VSCode 支持两个测试框架:unittest
和 pytest
unittest
框架下的测试示例:
import inc_dec # The code to test
import unittest # The test framework
class Test_TestIncrementDecrement(unittest.TestCase):
def test_increment(self):
self.assertEqual(inc_dec.increment(3), 4)
# This test is designed to fail for demonstration purposes.
def test_decrement(self):
self.assertEqual(inc_dec.decrement(3), 4)
if __name__ == '__main__':
unittest.main()
pytest
框架下的测试示例:
import inc_dec # The code to test
def test_increment():
assert inc_dec.increment(3) == 4
# This test is designed to fail for demonstration purposes.
def test_decrement():
assert inc_dec.decrement(3) == 4
测试模式下,也是支持普通测试和调试测试的
3 插件推荐
3.1 基础环境部署
- 中文(简体)语言包 (必备)
- Remote - SSH 远程连接(必备)
- Docker 镜像容器管理
待实验:
- Git Graph (616w):通过按钮的方式轻易地创建、切换分支、merge等git操作
3.2 Python开发
- IntelliCode 代码补全(3480w):基于理解代码上下文和机器学习的代码补全
- autoDocstring Python文档生成器(675w):可快速生成 python 函数的文档字符串
- black formatter 自动格式化插件(144w):用于格式化python代码到pep8
- ruff 代码格式化 (77w):功能强大,速度快,可配置项丰富(可替代 black)
- flake8 问题检查插件(44w):用于提示 pep8,检查代码错误和代码复杂度
待实验:
- Python Preview(133w):实时可视化Python的代码结果
3.3 AI辅助工具
- GitHub Copilot(1840w):实时获取代码建议,支持注释转代码、创建单元测试、创建 SQL 查询、对话模式(Copilot Chat);生成质量较好,付费(10刀/月)
- Code GPT(132w):基于 GPT 类模型的对话式辅助编程,拓展性强但功能嵌入性不够
- Bito AI代码助手(60w): 基于 OpenAI 的对话式辅助编程(暂不需要额外提供 API 密钥),提供代码生成与优化、测试用例创建、代码编辑、代码解释等功能
- CodeGeeX(56w):基于
CodeGeeX2-6B
模型的 AI 编程助手,提供代码生成/补全、注释生成、代码翻译、AI 聊天、生成单元测试等功能;免费,Copilot 平替 - 通义灵码(50w):实时续写/生成代码、单测、注释;智能问答、报错排查(阿里旗下)
- CodiumAI(39w):提供代码分析、自动生成测试、代码修复与增强等功能
- 文心快码 (14w):代码补全和优化、单测/注释生成、代码对话(百度旗下)
- MarsCode(3w):提供代码解释、单测生成、问题修复、技术问答等辅助功能(字节旗下)
在网上调研了一下 v2ex 用户的使用习惯或推荐:首推 Copilot(但可能存在延迟问题),其次推荐较多的是 CodiumAI 和通义灵码(可能偶尔会出现 CPU 占用过高的问题)
待实验:
- I Don't Care About Commit Message(492):AI git commit 插件,但不需要手动确认