前言

本周所有基于 IntelliJ 的 IDE 和 .NET 工具的 EAP 版本都包含一个主要新功能:AI Assistant。本博文重点介绍我们基于 IntelliJ 的 IDE,并且即将推出专门的 .NET 工具博文。

生成式人工智能和大型语言模型正在迅速改变软件开发工具的格局,将这项技术集成到我们的产品中的决定对我们来说是理所当然的。我们构建人工智能助手功能的方法主要集中在两个方面:

  • 将 AI 辅助融入核心 IDE 用户工作流程。
  • 将 AI 功能与代码理解深度集成,这一直是 JetBrains IDE 的强项。

AI 功能由 JetBrains AI 服务提供支持。该服务将作为产品用户的您透明地连接到不同的大语言模型 (LLM),并在许多 JetBrains 产品中启用特定的 AI 驱动功能。该服务推出时支持 OpenAI,并另外托管 JetBrains 创建的许多较小模型。未来,我们计划将其扩展到更多提供商,让我们的用户能够获得最佳的选项和模型。

人工智能聊天

使用AI Assistant工具窗口与 LLM 进行对话、提出问题或迭代任务。IDE 将提供一些特定于项目的上下文,例如项目中使用的语言和技术。一旦您对结果感到满意,请使用“在插入符号处插入片段”功能将 AI 生成的代码放入编辑器中,或者直接复制它。

要向 AI 询问特定代码片段,请在编辑器中选择它,然后从AI 操作菜单(可在编辑器上下文菜单中使用或使用Alt+Enter快捷键访问)调用操作。使用选择操作的新聊天允许您提供自己的提示或请求。您可以根据需要选择“解释代码”“建议重构”或“查找潜在问题”来输入其他标准 AI 帮助提示。

文档生成

如果您需要使用 LLM 生成声明文档,请调用AI 操作菜单并选择生成文档操作。目前 Java、Kotlin 和 Python 支持此功能。

对于 Java 和 Kotlin,当您使用生成文档注释存根的标准方法时,建议生成文档: type /**。IDE 将生成注释的静态已知部分(例如@paramJava 中的标签),AI 将为您生成实际的文档文本。

名称建议

当您重命名 Java、Kotlin 或 Python 声明时,AI 将根据其内容建议声明的名称选项。可以在“设置”|“设置”中关闭此功能。工具| 人工智能助手

提交消息生成

提交消息对话框现在有一个使用 AI Assistant 生成提交消息按钮。单击它将您的更改的差异发送到 LLM,这将生成一条描述您的更改的提交消息。

AI助手的功能可能因产品而异。有关特定产品的更多详细信息,请查看以下专门帖子:CLionGoLandIntelliJPhpStormPyCharmReSharperRiderRubyMineWebStormFleet

本文翻译自IntelliJ IDEA官网博客:

https://blog.jetbrains.com/idea/2023/06/ai-assistant-in-jetbrains-ides/?_ga=2.75893333.1948469737.1693809418-1402842671.1693809418&_gl=11325glk_gaMTQwMjg0MjY3MS4xNjkzODA5NDE4_ga_9J976DJZ68*MTY5Mzg5MTU5Mi4yLjEuMTY5Mzg5MzMzNi41OC4wLjA.

【译】IntelliJ IDEA 2023.2 最新变化——JetBrains IDE 中的 AI 助手的更多相关文章

  1. Jetbrains IDE 中 compass sass 设置

    环境 Ubuntu 13.10 1. 安装ruby sudo apt-get install ruby 如果后面安装 compass 时遇到安装失败,提示:“[Ubuntu] ERROR: Faile ...

  2. JetBrains IDE 基本快捷键

    转载自:https://nextfe.com/jetbrains-ide-shortcuts/ 一个好的手艺人很熟悉他的工具.软件开发者也不例外.所以,在编程的过程中,值得了解一些键盘快捷键,以免因为 ...

  3. JetBrains IDE全新UI预览版来了,要做简洁与强大兼顾的IDE

    5月23日,JetBrains发布了一篇博文,透露他们正在实现一套全新的界面界面. 他们认为目前行业中的用户界面趋势已经发生了演变,很多新用户认为JetBrains IDE的界面过于笨重,而且过时.所 ...

  4. webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器

    #webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器 -- 工欲善其事 必先利其器 ##各工具介绍 `webstorm`是**JetBrains* ...

  5. WebStorm + JetBrains IDE Support 实现自动刷新功能

    WebStorm 7.0 + live eidt + JetBrains IDE Support 实现自动刷新功能, WebStorm 7.0 已自带live eidt扩展 并可更改端口,WebSto ...

  6. WebStorm使用JetBrains IDE Support调试

    1.安装WebStorm 2.安装谷歌的chome浏览器,并切换到开发者模式 3.下载并安装 JetBrains IDE Support(将2.0.7_0.crx文件直接拖到谷歌浏览器中就会自动安装) ...

  7. 关闭jetbrains ide support 正在调试此浏览器提示

    1 安装JetBrains IDE Support插件 插件地址 2 启用插件 3 设置访问端口 4 WebStorm中设置Live Edit 5 关闭"JetBrains IDE Supp ...

  8. Delphi 提示在Delphi的IDE中,按Ctrl+Shift+G键可以为一个接口生成一个新的GUID。

    对于Object Pascal语言来说,最近一段时间最有意义的改进就是从Delphi3开始支持接口(interface),接口定义了能够与一个对象进行交互操作的一组过程和函数.对一个接口进行定义包含两 ...

  9. 方案:在Eclipse IDE 中搭建Python开发环境

    Eclipse是一款功能强大的IDE,Python是一种功能强大的计算机语言,但是Python的IDE环境确实很缺乏,如果在强大的Eclipse中添加Python开发环境,那样就很完美了. 在这里,我 ...

  10. 2018-02-02-解决IDE中无法忽略的非代码文件

    layout: post title: 2018-02-02-解决IDE中无法忽略的非代码文件 key: 20180202 tags: GIT 版本管理 modify_date: 2018-02-02 ...

随机推荐

  1. 【python基础】新建/运行python项目

    1.新建python项目 在编写程序之前,我们需要新建一个项目(Project),在桌面双击PyCharm的快捷方式,等待片刻,打开如下所示的软件界面.点击New Project 在弹出的对话框中,需 ...

  2. 一分钟学一个 Linux 命令 - pwd

    前言 大家好,我是 god23bin.欢迎大家继续围观<一分钟学一个 Linux 命令>,每天只需一分钟,记住一个 Linux 命令不成问题.本篇文章将聚焦于 pwd 命令,一个超级简单又 ...

  3. 如何制作 Storybook Day 网页上的 3D 效果?

    Storybook 刚刚达到了一个重要的里程牌:7.0 版本!为了庆祝,该团队举办了他们的第一次用户大会 - Storybook Day.为了更特别,在活动页面中添加了一个视觉上令人惊叹的 3D 插图 ...

  4. Android APK 文件结构

    序言 APK(全称:Android application package,Android应用程序包)是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件. APK 文 ...

  5. Java中打印对象输出的字符串到底是什么?

    前言 我们在进行 Java 编程时,经常要打印对象,有的是查看是否拿到了该对象,有的是查看该对象中的数据.打印输出的却是一知半解的字符串,那么这个字符串是怎么来的?代表什么?我们如何打印出对象中的数据 ...

  6. [ARM汇编]计算机原理与数制基础—1.1.2 二进制与十进制数制转换

    在计算机中,我们通常使用二进制数制来表示数据,因为计算机的基本电平只有两种状态:高电平(通常表示为 1)和低电平(通常表示为 0).而在我们的日常生活中,我们习惯使用十进制数制.为了方便理解,我们需要 ...

  7. PostgreSQL 性能优化: 执行计划

    查询计划 扫描结点 顺序扫描 索引扫描 只用索引的扫描 位图堆扫描 位图索引扫描 公共表表达式的扫描 自定义扫描 外表扫描 函数结果扫描 子查询扫描 表样本扫描 行地址扫描 行集合扫描 工作表扫描 连 ...

  8. 基于JavaFX的扫雷游戏实现(一)——整体概述

    我在不要更新挑战中坚持了一年,你也来试试吧(咕咕咕)!   好言归正传,本次更新带来的是经典游戏扫雷,基于JavaFX实现.篇幅有限,文章主要介绍核心操作实现,不会列出所有代码.需要完整源码或是想预览 ...

  9. knn和线性分类器

    一.knn算法概述 knn首选是最简单的分类算法,其是有监督学习的分类算法之一. 二.knn算法过程 knn(k nearest neighbors k个最近的邻居):knn是当预测一个新的值x的时候 ...

  10. Unity UGUI的Mask(遮罩)组件的介绍及使用

    Unity UGUI的Mask(遮罩)组件的介绍及使用 1. 什么是Mask组件? Mask(遮罩)组件是Unity UGUI中的一个重要组件,用于限制子对象的可见区域.通过设置遮罩组件,可以实现一些 ...