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

Shire 1.1 发布:更强大的交互支持,升级 AI 智能体与 IDE 的整合体验

在经过多个项目上的试用后,我们进入了持续的修修补补,以及功能的增强阶段。终于,我们发布了 Shire 1.1 版本,这个版本带来了更强大的交互支持, 多功能升级 AI 与 IDE 的整合体验。

  • 交互:丰富与大量 IDE 插件的交互,可以支持部分三方插件的 UI 入口

  • 语言:支持新的语言 ProtoBuf,以及对 JavaScript 的支持优化

  • 功能:支持更多的代码度量,以及代码质量的检查等

详细可以见 GitHub 上的 CHANGELOG。

解锁更多交互入口,全面提升自定义灵活性

88039ea80de2f89f5a57691c15ee584a.png

基于我们在不同项目的探索试验,我们增加了更多的交互入口,以便于借助 IDE 丰富的插件生态,来提升 Shire 的自定义灵活性。

RightPanel 输出展示

109eff937e602df31e881d9e0d52347b.png

在这个版本中,我们增加了新的 Interaction: RightPanel,用于提供更好的输出显示。我们在设计 Shire 时,定位的是一个智能体编程语言,因此 在并不想让用户过多的关注到输出。但是在实际的使用中,右侧的输出展示是非常重要的,因此我们增加了这个功能。

尽管,我们还不打算在这个版本中添加聊天的功能,但是我们会考虑在后续的版本中增加这个功能。与 AutoDev 相似,RightPanel 也支持 Copy, Paste, Insert 三种操作(Action)。未来,我们也将提供自定义的操作能力。

更加丰富的 ActionLocation

相似的,在新的版本中,我们添加了四种新的入口(ActionLocation),以便于用户可以在不同的地方添加自定义的 Action。

  • DatabaseMenu:在 IDEA 的 Database 右键菜单列表( Ultimate 版本才支持)中添加的 Action。

f8856ea555bd2d78172deb90d80126e0.png

  • ConsoleMenu:在 IDEA 的执行结果右键菜单列表(Menu)中添加的 Action。

99e9998200f6b1ba542e1e0d56e4f9a0.png

  • VCSLogMenu:在 IDEA 的 VCS Log 右键菜单列表中添加的 Action。

b0f1454d3b78e1e46b1a03389be02ab5.png

  • ExtSonarQubeMenu:在 Sonarlint 插件的面板(Panel)中添加的 Action。

503905701e725100a175f24d99079b49.png

未来,我们将进一步对能力进行抽象,让你可以在任意的地方添加自定义的 Action。

外部函数交互

在 issue#146 和 issue#149 中,使用 Python 语言进行交互时,会出现一些问题。在这个版本中,我们优化了 thread 函数的逻辑,使得你现在,可以 直接调用外部的 Python UI 应用,诸如于 issue 中使用的 tk 框架。

266fc64a021183f1db72dfc370c17864.png

你可以在 Shire 中直接唤起这个应用,然后通过这个应用来进行交互。这样,你就可以在 Shire 中,直接调用外部的 Python 应用,来进行交互。

新语言支持:ProtoBuf

考虑到 ProtoBuf 在微服务架构中的重要性,我们在这个版本中增加了对 ProtoBuf 的支持。

ProtoBuf 是一个高效的 IDL(Interface Description Language)工具,它可以用于定义数据结构、服务接口等。通常,我们在微服务架构中会使用 ProtoBuf 来定义服务接口,以及数据结构。

由于 ProtoBuf 的语法比较简单,只需要提供定义 Message 和 Service 两个部分的支持,所以现有的版本支持:

  • Structure 分析:基于 File 和 Class 级别的结构分析

  • 工具上下文:提供 ProtoBuf 版本信息

  • PsiVariable:提供通用的语法支持

尽管,可能还存在一些其它使用 ProtoBuf 的场景,还需要进一步的支持,但是我们会在后续的版本中按需增加。

其它更新

提示词策略影响下的代码度量

考虑到代码的复杂度、行数、变更频率等会影响 Code Review 等策略,我们加入了对代码度量的支持。

  • changeCount:Git 统计当前文件的变更次数

  • complexity:计算当前元素/文件的复杂度

  • lineCount:统计当前元素/文件的行数

语法完善

  • 支持结合登录用户的信息,来生成代码提交信息。

  • 支持 if 语句的语法。

感谢

感谢 @liuk 提供的 PR,修复了一系列的报错,以及语法问题。

其它

从 GitHub 下载最新版本:https://github.com/phodal/shire 。


http://www.kler.cn/a/420908.html

相关文章:

  • 2024年12月3日Github流行趋势
  • 【python】列表
  • 计算机网络——不同版本的 HTTP 协议
  • Next.js 路由使用完整指南
  • 【Spring】Spring IOCDI:架构旋律中的“依赖交响”与“控制华章”
  • 探索仓颉编程语言:官网上线,在线体验与版本下载全面启航
  • 【Unity】WebGL全屏问题
  • 在Scala中栈的认识
  • A30 PHP+MYSQL+LW+工厂库存仓储订单销售后台管理系统的设计与实现 源代码 配置 文档
  • ROS2创建 base 包用于其他模块的参数配置和头文件依赖
  • 【计算机网络】实验1:访问WEB服务器
  • DBA面试题-1
  • 【大模型微调】pdf转markdown
  • QT-thread2种方式选择的优劣对比
  • uniapp 生成二维码
  • 量化交易系统开发-实时行情自动化交易-8.9.通达信平台
  • docker部署RustDesk自建服务器
  • 【自用】管材流转项目前端重部署流程 vue2 webpackage4 vuecli4
  • Webpack开发模式及处理样式资源
  • Hyperf jsonrpc
  • 利用 Redisson 实现分布式主键生成
  • echarts 实时 vue 使用方法
  • Python学习------第十五天
  • 12.02 深度学习-卷积
  • 东方隐侠网安瞭望台第8期
  • 手游手游手游手游手游手游手游