🚀 ChatGPT-易编程
[💻 前言](#💻 前言) [🌟 功能介绍](#🌟 功能介绍) [🛠️ 命令](#🛠️ 命令) [🖼️ 窗口](#🖼️ 窗口)
[📚 使用指导](#📚 使用指导) [📞 技术支持](#📞 技术支持) [❓ 常见使用问题](#❓ 常见使用问题)
💻 前言
特别提醒: 网页前端开发和markdown文本书写请先阅读“常见使用问题”中的特别提示。
重要发布节点: V3.0.0支持工程级代码导读和代码生成,跟随 [🌟 功能介绍](#🌟 功能介绍) 来探索这些新功能吧。
由OpenAI API赋能,全方位智能支持软件工程中的各项工作:
- 🔍 方案设计
- 📐 架构设计
- 💻 代码生成
- ❓ 导读代码
- 🛠️ 重构代码,修复bug
- 🧪 编写测试用例(比如单元测试)
- 📚 为代码生成文档(可要求文档格式asciidoc、markdown等)
- 🖼️ 对代码生成UML图(生成使用PlantUML描述的文本,再使用PlantUML GUI工具展示图形,更多其它种类图生成见“常见使用问题”)
使用chat,像使用ChatGPT一样问通用问题。
🤝 如在使用过程中遇到困惑,欢迎发送邮件至 chatgptoffice@foxmail.com。
🌟 功能介绍
🛠️ 命令
全部命令 ctrl+shift+p
:
ChatGPT易编程: 提问
—— 对选中代码段或当前代码文件提出您的任何问题(包括要求按特定格式书写文档以及图形描述,文档格式如asciidoc和markdown,图形格式如PlantUML)
ChatGPT易编程: 解释
ChatGPT易编程: 指出问题
—— 指出代码中的任何逻辑/语法错误
ChatGPT易编程: 重构
ChatGPT易编程: 根据注释实现代码(*)
—— 在代码编辑器中以代码注释形式写下代码需求,ctrl + space 快捷键可执行生成代码命令
ChatGPT易编程: 继续实现代码(*)
—— 选中未完成的代码片段,ctrl + n 可执行补全代码
ChatGPT易编程: 根据注释继续实现代码(*)
—— 在代码片段后添加注释写明代码需求,ctrl + shift + space 可继续根据需求完成代码
ChatGPT易编程: 设计测试用例、实现单元测试(*)
—— 根据选中代码段或当前代码文件设计测试用例、实现单元测试代码
ChatGPT易编程: 介绍工程
—— 当工作在打开的工程文件中时,使用该命令可获取工程概览信息
ChatGPT易编程: 介绍当前模块
—— 当工作在打开的工程文件中时,使用该命令可获取文件所在模块的概览信息
ChatGPT易编程: 解释当前函数(不展开调用栈)
—— 选中函数后,使用该命令分析当前函数,可配置打开 对指定内容进行分析 功能
ChatGPT易编程: 解释类(结构体)
—— 选中类或结构体定义后,使用该命令分析当前类或结构体,可配置打开 对指定内容进行分析 功能
ChatGPT易编程: 符号(函数、变量、类等)追踪(!)
—— 追踪符号在工程中的定义和使用,输入具体要求时进行特定追踪,追踪范围可配置可指定,该功能耗费token较多,未防限流请慎用
ChatGPT易编程: 术语、概念追踪(!)
—— 追踪术语、概念在工程中的相关内容,输入具体要求时进行特定追踪,追踪范围可配置可指定,该功能耗费token较多,未防限流请慎用
ChatGPT易编程: 解释函数及其调用栈(!)
—— 选中入口函数,分析最多两层函数调用,该功能耗费token较多,未防限流请慎用,支持typescript、javascript、python、go、haskell、java、kotlin、lua、ocaml、perl、ruby、rust、swift、c、cpp、php、bash
ChatGPT易编程: 查看函数及其调用栈(*)
—— 选中入口函数,平铺展开最多两层函数调用,该功能仅付费会员可用
鼠标右键命令:
ChatGPT易编程: 介绍当前模块
—— 当工作在打开的工程文件中时,使用该命令可获取文件所在模块的概览信息
ChatGPT易编程: 解释
ChatGPT易编程: 指出问题
—— 指出代码中的任何逻辑/语法错误
ChatGPT易编程: 解释当前函数(不展开调用栈)
—— 选中函数后,使用该命令分析当前函数
ChatGPT易编程: 解释类(结构体)
—— 选中类或结构体定义后,使用该命令分析当前类或结构体
ChatGPT易编程: 重构
ChatGPT易编程: 根据注释实现代码(*)
—— 在代码编辑器中以代码注释形式写下代码需求,ctrl + space 快捷键可执行生成代码命令
ChatGPT易编程: 继续实现代码(*)
—— 选中未完成的代码片段,ctrl + n 可执行补全代码
ChatGPT易编程: 根据注释继续实现代码(*)
—— 在代码片段后添加注释写明代码需求,ctrl + shift + space 可继续根据需求完成代码
ChatGPT易编程: 设计测试用例、实现单元测试(*)
—— 根据选中代码段或当前代码文件设计测试用例、实现单元测试代码
快捷键命令:
ChatGPT易编程: 根据注释实现代码(*)
—— 在代码编辑器中以代码注释形式写下代码需求,ctrl + space 快捷键可执行生成代码命令
ChatGPT易编程: 继续实现代码(*)
—— 选中未完成的代码片段,ctrl + n 可执行补全代码
ChatGPT易编程: 根据注释继续实现代码(*)
—— 在代码片段后添加注释写明代码需求,ctrl + shift + space 可继续根据需求完成代码
注意:如果遇到快捷键冲突,请按照 [❓ 常见使用问题](#❓ 常见使用问题) 的指导解决冲突。
下面是一些功能演示(请注意:不同版本界面风格会有所差异):
介绍工程 (ctrl + shift + p搜索、选择命令,更多用法见上文)
根据注释生成代码 (ctrl + space快捷键使用命令,更多用法见上文)
介绍当前模块 (右键单击选择命令,更多用法见上文)
生成测试代码 (右键单击选择命令,更多用法见上文)
补全测试代码细节
给出完整测试代码
🖼️ 窗口
命令及其反馈将在窗口中展示。
在窗口下方的输入框中,您可以输入任何关于编程的问题,按回车键或点击提问按钮获取答案。
点击清除对话按钮以清空窗口内容(不会删掉提问记录,再次登录后重新加载)。
以下是一些功能演示(请注意:不同版本界面风格会有所差异):
📚 使用指导
新安装用户注册、登录来使用。
加入会员使用全部功能。
📞 技术支持
如需支持,请联系 chatgptoffice@foxmail.com。
❓ 常见使用问题
- 使用的哪一个AI大模型?
答:持续使用最新GPT大模型。
- 可以画软件工程或工程设计中的图吗?
答:您可以尝试让GPT给出比如软件工程中的PlantUML这样的格式输入,然后使用特定的GUI工具打开,其他格式图形生成方式类似。
- ChatGPT分析代码的过程和人分析代码的过程相似吗?
答:以下内容由ChatGPT给出。
ChatGPT分析代码的过程与人分析代码的过程有一定的相似性,但也存在很大的差异。作为一个基于人工智能的自然语言处理模型,ChatGPT通过大量的训练数据,学会了理解和生成代码的能力。在分析代码时,它会尝试理解代码的结构、逻辑和功能,从而为用户提供有关代码的解释、建议或答案。
然而,人分析代码的过程更为复杂,涉及到丰富的背景知识、经验和直觉。程序员在分析代码时,通常会考虑代码的上下文、历史版本以及与其他模块之间的关系。此外,程序员在分析代码时,还可能会根据自己的经验和对项目的理解做出一些主观判断。
总的来说,ChatGPT分析代码的过程与人类的过程有一定的相似性,但它依赖于大量的训练数据来生成答案,而不是依赖于个体的经验和直觉。因此,在使用ChatGPT时,需要注意其局限性,并在关键决策时结合人的判断。
- 如何更好的提问,获得更准确的答案?
答:请将您使用中遇到的问题发送到 chatgptoffice@foxmail.com 来获得帮助。
- 快捷键冲突的解决办法
解决步骤:
通过以下步骤重绑定命令和快捷键:
(1) 打开 Visual Studio Code。
(2) 转到菜单栏中的 "文件"(File)选项,并选择 "首选项"(Preferences)。
(3) 在下拉菜单中选择 "键盘快捷方式"(Keyboard Shortcuts),或使用快捷键 Ctrl + K Ctrl + S。
(4) 这将打开键盘快捷方式编辑器,在编辑器中,您可以查看当前的键盘快捷方式设置。
(5) 在搜索框中,输入插件命令的名称 “ChatGPT易编程”,以找到您想要重新绑定的命令。
(6) 单击找到的命令,在右侧的快捷键列中,单击现有的快捷键(如果有的话)。
(7) 按下您希望绑定的新快捷键。例如,如果您希望使用 Ctrl + Shift + K 绑定命令,那么按下 Ctrl、Shift 和 K 键。
(8) 保存键盘快捷方式配置文件,并关闭编辑器。
现在,您已经将新的快捷键绑定到插件命令上。您可以使用新的快捷键来触发插件功能。
- 特定应用场景下字符显示上的一些偏差
(1) 使用命令 “对代码提问” 时,输入字符串中的html代码(选择的html代码块会被原样以代码形式显示出来)将被理解为html页面效果显示出来,如果html代码被```包裹,在下次登录加载对话时,html代码将以源码显示,否则仍被理解为html页面效果。
(2) 对话窗口中输入的html代码将被理解为html页面效果显示出来,如果html代码被```包裹,在下次登录加载对话时,html代码将以源码显示,否则仍被理解为html页面效果。
(3) 对话窗口中以markdown格式输入的代码(代码被```包裹)在本次问答中将原样以markdown源码形式显示出来,当下次登录加载对话历史时,它将以markdown文本效果显示出来,这种效果也适用于解释markdown文本被```包裹。
(4) ChatGPT输出内容包含html代码时,如果以markdown形式给出,则html代码会被原样以代码形式显示出来,否则将被理解为html页面效果显示出来,如果html代码嵌套在markdown文本(以```包裹)中,仍然将被理解为html效果。
以上偏差会干扰网页前端开发和markdown文本书写,这种情况下可使用 chatgptoffice.net 来开展工作,该网站问答将完全以源码形式给出html代码和markdown文本,使用易编程相同账号登录该网站。
- 账号通用网站
chatgptoffice.net