在经过多个项目上的试用后,我们进入了持续的修修补补,以及功能的增强阶段。终于,我们发布了 Shire 1.1 版本,这个版本带来了更强大的交互支持, 多功能升级 AI 与 IDE 的整合体验。
交互:丰富与大量 IDE 插件的交互,可以支持部分三方插件的 UI 入口
语言:支持新的语言 ProtoBuf,以及对 JavaScript 的支持优化
功能:支持更多的代码度量,以及代码质量的检查等
详细可以见 GitHub 上的 CHANGELOG。
解锁更多交互入口,全面提升自定义灵活性
基于我们在不同项目的探索试验,我们增加了更多的交互入口,以便于借助 IDE 丰富的插件生态,来提升 Shire 的自定义灵活性。
RightPanel 输出展示
在这个版本中,我们增加了新的 Interaction
: 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 的支持。
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 。