SQL开发的智能助手:通义灵码在IntelliJ IDEA中的应用

213 阅读7分钟

SQL 是一种至关重要的数据库操作语言,尽管其语法与通用编程语言有所不同,但因其在众多应用中的广泛使用,大多数程序员都具备一定的 SQL 编写能力。然而,当面对复杂的 SQL 语句或优化需求时,往往需要专业数据库开发工程师的协助。如今,通义灵码的出现为这一问题提供了全新的解决方案——通过 AI 技术辅助 SQL 脚本的编写和优化。

注意,本文介绍的 AI 介入是 SQL 脚本编写过程,而不是 SQLshell!

SQL 脚本的编写工具有很多,VSCode 和 JetBrains 系列的 IDE 都提供了 SQL 脚本编写的支持,本文以 IntelliJ IDEA 作为案例进行介绍!

一、通义灵码简介

通义灵码是阿里云技术团队精心打造的智能编码助手,它基于强大的通义大模型,具备以下实用功能:

  • **代码续写和优化 :**能够根据现有代码上下文,智能生成行级或函数级的代码建议,帮助程序员快速完成代码编写,并对代码进行优化,提高代码质量和执行效率。

  • **自然语言描述生成代码 :**程序员可以通过自然语言描述需求,通义灵码能够将其转化为相应的代码,大大简化了代码编写过程,尤其适用于复杂功能的实现。

  • **注释生成和代码解释 :**自动生成代码注释,方便程序员及团队成员更好地理解代码逻辑和功能;同时,能够对代码进行详细解释,包括数据库表结构分析、SQL 查询过程解析等,有助于代码的维护和优化。

  • **单元测试生成 :**根据代码自动生成单元测试用例,确保代码的可靠性和稳定性,提高测试效率。

  • **研发智能问答 :**作为基础和核心功能,程序员可以通过与通义灵码的问答对话,获取所需的技术支持和解决方案,就像拥有一位智能的编程助手。

  • **代码问题修复 :**能够识别代码中的潜在问题,并提供修复建议,帮助程序员及时解决代码错误和漏洞。

通义灵码支持多种开发环境,包括 JetBrains IDEs、++Visual Studio Code++、Visual Studio,以及远程开发场景(Remote SSH、++Docker++、WSL、Web IDE)。安装后登录账号即可开始使用。

二、安装步骤

以 IntelliJ IDEA 为例,介绍通义灵码的安装方法:

IntelliJ IDEA 的插件商店提供了通义灵码的插件,我们可以直接在插件商店下载:

  1. 点击顶部菜单栏的 File -> Settings(在 macOS 上为 IntelliJ IDEA -> Preferences)。

  2. 在设置窗口的左侧菜单中选择 Plugins,然后点击 Marketplace。

  3. 在搜索框中输入 “通义灵码”,找到插件后点击 Install 按钮进行安装。

1.png

  1. 安装完成后,重启 IntelliJ IDEA 以完成插件的加载。 

详细IDEA安装通义灵码教程请查看IntelliJ IDEA 中安装和使用通义灵码 AI 编程助手教程

三、登录操作

重启 IDEA 后,在右侧工具栏会看到 通义灵码 的图标。点击图标进入插件界面。

2.png

注意:
首次使用时,需要点击登录按钮,浏览器会自动打开阿里云登录页面,完成登录后即可返回 IDEA 使用通义灵码。

四、功能演示

(一)代码续写

通义灵码提供行级和函数级的代码补全功能。在 IDE 编辑器区编写代码时,开启自动云端生成模式,它会根据当前代码文件及相关代码文件的上下文,自动生成代码建议。

3.png

如果在代码开发过程中没有出现如上图所示的代码提示,可以通过快捷键 ​​+​P​手动触发生成代码建议。

程序员可以使用以下快捷键进行操作:

操作macOSWindows
接受行间代码建议TabTab
废弃行间代码建议escesc
查看上一个行间推荐结果⌥(option) + [Alt+[
查看下一个行间推荐结果⌥(option)+]Alt+]
手动触发行间代码建议⌥(option)+PAlt+P

如果某些文件不需要代码续写功能,可以参考++禁用行间生成++进行配置。

(二)代码注释

通义灵码能够根据代码生成对应的注释,方便代码阅读和维护。

使用时,先选中需要注释的代码,在右键菜单中找到通义灵码的代码注释选项,点击后右侧对话栏会生成带注释的代码,可直接合并到原文件或复制后自行操作。

4.png

也可以使用快捷键 Shift + Alt + V 快速使用该功能。

注释结果会在右侧显示

5.png

通过通义灵码返回的代码块右上角的按钮,可进行插入、复制、新建和合并(diff)等操作。

通常,注释是使用插入来把原代码替换成有注释的代码。

(三)代码解释

通义灵码提供了代码解释功能,该功能可用于分析数据库的表结构。

6.png

也可以用来分析SQL查询的过程。

7.png

帮助程序员深入理解数据库操作和优化查询性能。

8.png

测试用例代码一般是复制到一个专门的测试用例文件中,方便后续测试。

9.png

也可以用新建文件功能,让通义灵码帮你创建一个测试用例文件。

10.png

例如,在分析 SQL 查询过程时,通义灵码可以提供查询执行计划、索引使用情况等详细信息,为优化 SQL 语句提供有力支持。

(四)代码优化

通义灵码能够识别选中代码可能存在的问题,并进行优化。      

11.png

它会根据代码的逻辑结构、性能瓶颈等方面提出优化建议,如改进算法、调整 SQL 语句结构、增加索引等,从而提高代码的执行效率和质量。

(五)智能问答

智能问答是通义灵码的基础和核心功能。程序员可以通过与通义灵码进行问答对话,获取关于 SQL 编程、数据库设计、代码优化等多方面的技术支持和解决方案。

例如,在遇到复杂的 SQL 查询问题时,可以直接向通义灵码提问,它会根据问题提供详细的解答和示例代码,就像一位经验丰富的数据库专家在旁边指导。

12.png

(六)会话创建和清理

AI 会根据之前的对话来继续跟进与你的对话,也就是说,AI 会记住你之前的提问,这让 AI 变得更加聪明,但有时候我们需要适时结束会话。

此时可以用创建新会话或者清理会话来实现这个功能。

为了更好地管理与通义灵码的对话,可以使用以下功能:

  • **清理会话:**在对话框中输入 ​/clearContext​,然后点击确定,即可清除之前的对话记录,让 AI 重新开始对话。

  • **创建新会话:**点击右上角的加号(​+​),可以创建新的会话,用于讨论不同的技术问题或项目内容。

13.png

(七)AI程序员

通义灵码的 AI 程序员功能使 AI 能够像专业程序员一样协助进行代码的修改。

在项目开发中,面对多个 SQL 文件,AI 程序员可以辅助进行代码的检查、优化和修改。

例如,可以让 AI 程序员检查 SQL 脚本的语法错误、性能问题等,并根据检查结果进行相应的修改;

14.png

也可以根据已有的 schema 文件,生成测试数据,为项目的测试工作提供便利。

15.png

通义灵码作为一款智能编码助手,为 SQL 开发人员提供了全方位的辅助功能,从代码编写、注释、优化到智能问答,都能有效提高开发效率和代码质量。随着 AI 技术的不断发展,相信通义灵码会在未来的数据库开发领域发挥更加重要的作用。