共計 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 插件的安裝與使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。