如何进行SOAR IDE插件的安装与使用

55次阅读
没有评论

共计 2559 个字符,预计需要花费 7 分钟才能阅读完成。

这篇文章将为大家详细讲解有关如何进行 SOAR IDE 插件的安装与使用,文章内容质量较高,因此丸趣 TV 小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

下面将介绍 SOAR 插件的基本实现以及现在已经实现的插件的安装与使用。

SOAR(SQL Optimizer And Rewriter)是小米近期开源的 SQL 智能优化改写工具,开源第一周就取得了 2000+ 星的成绩。我们开发 SOAR 的目的并不仅仅希望对 DBA 能够提供帮助,也希望能够协助广大的 SQL 开发者更容易的写出高质量的 SQL。SOAR 借鉴了其他 SQLint[1]的思路,也提供了三种编辑器插件,可以用来集成到 Vim,Sublime Text,VS Code 等代码编辑器中。

关于 lint 功能

将 report-type 指定为 lint 时,SOAR 会将评审内容以 SQLint 的样形输出。为了便于展示,lint 模式下只保留了文件名、行号、建议类型和建议摘要等少数信息。下面是一个简单的例子。

$ cat file.sql select * from test $ soar -report-type lint -query file.sql file.sql:1:CLA.001

最外层 SELECT 未指定 WHERE 条件 file.sql:1:COL.001 不建议使用 SELECT * 类型查询

Vim 插件 Vim 插件我们选择了在知名的 Syntastic[2]插件基础上进行增补,这就要求用户首先安装 Syntastic 插件,它的安装方法在官方文档 [3] 中有详细描述,这里不再过多赘述。让我们来直接看看要怎样配置 SOAR 生效。

确保 soar 二进制文件在可执行文件查找路径 $PATH 下

确保 soar 二进制文件具有可执行权限,chmod a+x soar

将源码中的 doc/example/soar.vim 文件拷贝至 ${SyntasticInstalledPath}/syntax_checkers/sql 目录下,例如笔者使用 bundle 来管理 Vim 插件,于是将 soar.vim 文件拷贝至~/.vim/bundle/pristine/syntastic/syntax_checkers/sql 目录

修改 ${SyntasticInstalledPath}/plugin/syntastic/registry.vim 注册文件,增加 sql 类型文件的检查工具,如 sql :[soar , sqlint]

更新 Vim 配置~/.vimrc,允许 Syntastic 默认弹窗

set statusline+=%#warningmsg# set statusline+=%{SyntasticStatuslineFlag()} set statusline+=%*  let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0

一切顺利的话使用 Vim 打开一个文件每次保存时您就能看到 SOAR 给出的建议了。

Sublime Text3 插件

与 Vim 插件的思路相同,在 Sublime Text3 中,我们选择在 SublimeLinter[4]的基础上进行拓展。由于代码刚刚开源,SublimeLinter-soar[5]在 PackageControlChannel 相关 Pull Request[6]尚未被合并完成,所以目前暂时不能通过 Sublime Text3 自带的 PackageControl 进行安装。

虽然不能使用简便的方式进行安装,但是如果您想立刻体验 SOAR 的 Sublime Text3 插件,可以按照下列方式手动进行安装:

确保 soar 二进制文件具有可执行权限,chmod a+x soar

根据官方文档 [7] 安装 SublimeLinter

打开 Sublime Text3 的插件相关目录:Preferences – Browse Packages…

在该目录下载代码

git clone https://github.com/liipx/SublimeLinter-soar.git

配置个人相关参数:点击 Preferences – PackageSettings – SublimeLinter – Settings,将下列内容修改后加入到个人配置中

// SublimeLinter Settings - User{  linters : {  soar : {  soar_path : your_soar_path  }, }, }

重新启动 Sublim Text3 后,打开一个 SQL 文件就看到 SOAR 给出的建议了。

VS Code 插件

VS Code 的插件功能十分强大,对于语言类的功能拓展,微软采用了一种称为 Language Server Protocol(LSP)的实现方式。这种协议标准化了语言工具和代码编辑器之间的通信方式,感兴趣的同学可以通过官方文档 [8] 进行更深入的了解。

SOAR 的 VS Code 插件目前在 Github[9]上管理,尚未发布到微软的应用市场,无法直接在微软官方网页上点击安装。想尝鲜且拥有 TypeScript 及 VS Code 插件开发相关经验的同学可以通过以下方式来手动安装体验该插件。其他同学可以静静等待微软应用市场审批通过即可享受一键安装的便利了。

确保 soar 二进制文件具有可执行权限,chmod a+x soar

确保 soar 二进制文件在可执行文件查找路径 $PATH 下

找到 VS Code 插件安装路径,Mac/Linux 用户一般为 ${HOME}/.vscode/extensions,Windows 用户一般为 %USERPROFILE%\.vscode\extensions

进入该路径下载代码

git clone https://github.com/liipx/vscode-extension-soar

参考项目 README[10]编译 Client 与 Server 目录下的 TypeScript 程序

重启 VS Code,打开一个 SQL 文件查看是否生效

关于如何进行 SOAR IDE 插件的安装与使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-15发表,共计2559字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)