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

B站影视 2024-12-03 09:07 2

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

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

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

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

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

详细可以见 GitHub 上的 CHANGELOG。

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

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

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

更加丰富的 ActionLocation

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

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

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

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

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

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

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

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

考虑到 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,修复了一系列的报错,以及语法问题。

来源:小千科技论

相关推荐