当前位置: 首页 > 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.dtcms.com/a/271979.html

相关文章:

  • Apache http 强制 https
  • 百度文心ERNIE4.5部署与性能白皮书:FastDeploy加速方案+全系列模型实测数据对比
  • DVWA靶场通关笔记-弱会话IDs(Weak Session IDs Medium级别)
  • mmu 是什么?core和die是什么?
  • 计算机网络实验——无线局域网安全实验
  • UE 植物生长 Motion Design
  • 深度学习-正则化
  • 【SkyWalking】服务端部署与微服务无侵入接入实战指南
  • 【spring boot】三种日志系统对比:ELK、Loki+Grafana、Docker API
  • 【世纪龙科技】汽车信息化综合实训考核平台(机电方向)-学测
  • 零基础入门物联网-远程门禁开关:云平台创建
  • selenium中xpath的用法大全
  • anchor 智能合约案例5 之 vesting
  • 汽车加气站操作工历年考试真题及答案
  • CSS表达式——下篇【selenium】
  • WebSocket实战:实现实时聊天应用 - 双向通信技术详解
  • 【C++】——类和对象(上)
  • C 语言基础:操作符、进制与数据表示通俗讲解
  • AI【应用 03】Windows环境部署 TTS CosyVoice2.0 详细流程记录(Matcha-TTS、spk2info.pt等文件分享)
  • Qt中处理多个同类型对象共享槽函数应用
  • git多分支管理
  • 缺陷的生命周期(Bug Life Cycle)是什么?
  • Java 正则表达式白皮书:语法详解、工程实践与常用表达式库
  • WWDC 25 风云再起:SwiftUI 7 Charts 心法从 2D 到 3D 的华丽蜕变
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(四十二) -> 动态修改编译配置
  • 全面解析 wxPython:构建原生桌面应用的 Python GUI 框架
  • 【计算机基础理论知识】C++篇(二)
  • [python] 数据拷贝浪费内存,原地修改暗藏风险:如何平衡内存使用效率与数据完整性?
  • 【SpringBoot实战系列】SpringBoot3.X 整合 MinIO 存储原生方案
  • C++类对象多态底层原理及扩展问题