当前位置: 首页 > news >正文

IDEA 安装AI代码助手GitHub Copilot和简单使用体验

安装插件

File Settings Plugins

搜索copilot 选择如下GitHub Copilot

安装后重启IDEA

image-20250708145730-h6o89mb

登录

点击左下角的猿头,点击登录会自动打开github

登录github后输入粘贴板上的代码

image-20250708145906-dq12cdf

image-20250708150022-fc5rfkw

功能

image-20250708150218-h76rtvm

image-20250708150252-9z4bj7n

image-20250708150417-8ufdch0

再按下tab会自动添加,按ESC会取消

按alt + [或 alt + ] 会提示上一个或者下一个建议的代码

image-20250708150742-l42xa42

Github Copilot Chat 使用

可以直接插入代码到编辑区,可以解释代码区代码,代码进行优化等等

image-20250708150902-4po71jg

完整代码生成

基于金蝶云苍穹7.01 开发平台写一个操作插件,要求在当前操作保存完成后修改关联ID的另外一个单据标识为shkd_book的关联数据的状态改为已借出

image-20250708154346-0mi37o0

package shkd.learner20250703;import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.args.AfterOperationArgs;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import kd.sdk.plugin.Plugin;/*** 操作插件:保存完成后修改关联单据状态*/
public class UpdateRelatedBillStatusPlugin extends AbstractOperationServicePlugIn implements Plugin {@Overridepublic void afterExecuteOperationTransaction(AfterOperationArgs e) {// 获取关联单据DynamicObject relatedBill = BusinessDataServiceHelper.loadSingle("shkd_book", e.getDataEntity().get("relatedId"));if (relatedBill != null) {// 修改状态为 "已借出"relatedBill.set("status", "已借出");// 保存更新后的单据SaveServiceHelper.save(new DynamicObject[]{relatedBill});}super.afterExecuteOperationTransaction(e);}
}

使用技巧

image-20250708151132-m6ln2o3

image-20250708151224-1srpwhk

价格

免费的可以每月用2000次

image-20250708154237-64e11ho

总结

对于苍穹开发或者某些企业特定开发者来讲,开发的标准接口方法都是自己单独定义的方法,AI助手难以给出特定的建议和方法。

但是Copilot 它可以根据你其他包里面的类似的类和方法代码自动进行补全,并且能够根据你其他的包里面的类和方法作为参考,自动按照功能生成完整的代码。

比如说你以前写了一个校验器,现在要重新写一个校验器,他会把你在上次的校验器的代码自动补全出来。

比如上面的让它写个操作插件修改关联单据状态,也没什么大问题。

它不仅仅可以通过AI生成代码,也是一个代码搬运工。

http://www.lryc.cn/news/583908.html

相关文章:

  • 【科研绘图系列】R语言探索生物多样性与地理分布的可视化之旅
  • Jekyll + Chirpy + GitHub Pages 搭建博客
  • 微服务架构的演进:迈向云原生——Java技术栈的实践之路
  • 基于springboot的美食文化和旅游推广系统
  • 通过 .NET Aspire 使用本地 AI 模型
  • kotlin中集合的用法
  • 《信号与系统》学习笔记——第八章(补充部分)
  • Java多线程:核心技术与实战指南
  • 前端本地化存储数据方案详解
  • React 实现五子棋人机对战小游戏
  • 【TCP/IP】11. IP 组播
  • mvn能只test单独一个文件吗
  • Unity插件——ABC详解
  • pyqt-3(QSS、读取带qrc的ui、信号与槽函数)
  • 从面向对象编程语言PHP转到Go时的一些疑惑?
  • 文心一言4.5开源部署指南及文学领域测评
  • Go语言教程-变量、常量、命名规则
  • GO启动一个视频下载接口 前端可以边下边放
  • Django中序列化与反序列化
  • 实现源图像到目标图像的转换(提示:RGB值互换,新R=旧G,新G=旧B,新B=旧R)
  • Redis数据库基础
  • JSZip 使用详解
  • vue3 td 标签优化时间显示
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | DoubleVerticalSlider(双垂直滑块)
  • JavaScript 树形菜单总结
  • SoC程序如何使用单例模式运行
  • vue3 el-table 列汉字 排序时排除 null 或空字符串的值
  • 第二章-AIGC入门-AI视频生成:几款实用AI视频生成工具全解析(7/36)
  • 2025年软件测试面试题,精选33道,附答案
  • 数据结构笔记10:排序算法