OpenResty Lua 編輯器選擇

2021-09-14 16:52 更新

一個好用趁手的編輯器可以為我們帶來極大的工作效率提升,lua本身并不挑編輯器只是一個存文本. 但是如果有代碼提示,方便的goto跳轉(zhuǎn),在我們理解別人的代碼效率上將會有極大的提升.


我從最初的記事本編輯,vi,到后來的UE自定義語法高亮和函數(shù)列表,以及scite等尋找和嘗試過能找到的絕大部分的lua編輯器. 我想在編輯器選擇上面(linux下的不熟= =)應(yīng)該比較有發(fā)言權(quán).這里我主要講我的環(huán)境是如何的。


選擇過程我就不詳述了,這里只講解如果在你自己的windows上配置好ide。

下載idea并配置

idea是一個java語言非常受好評的編輯器,但是并不是只支持java.


目前通過開放的插件編寫已經(jīng)支持絕大部分語言且使用的非常好用順手,相信使用過的都會深有感受的。下載地址


其中Community版本是免費的,下載完后雙擊安裝即可.


安裝完成后打開File->Settings->Plugins在其中輸入emmylua點擊右邊的install安裝并重啟idea 

新建一個lua項目 在?File->Project Structure?里面配置好?modules?和?lib?,如下圖.  

至此一個包含lua語法提示和調(diào)整的編輯器環(huán)境就配置好了.

有關(guān)?emmylua?的詳細幫助文檔看這里

插件基本用法

1.方法提示

你可以在Setting里面配置鼠標(biāo)移動到方法上后一定時間自動彈出

  

也可以按?Ctrl+q?手動彈出,效果如下(= =目前我使用的版本文檔中的換行顯示還有問題)

 

2.快速跳轉(zhuǎn)

在任何已經(jīng)被定義的方法上按住Ctrl+鼠標(biāo)點擊該方法就可以自動打開和跳轉(zhuǎn)到方法定義上面,非常方便


3.方法提示

在你輸入識別的全局或者局部變量上面按點會自動出現(xiàn)可選方法做提示,不用記住所有的方法. 

進階配置

由于emmylua并沒有自帶openresty的庫函數(shù),所以我們需要自己寫函數(shù)提示,這里我提供我自己寫的供你們下載和豐富.請丟到你的lualib根目錄中

下面是一個簡單的庫函數(shù)定義示例

---語法: pid = ngx.worker.pid()
---
---語法: set_by_lua*, rewrite_by_lua*, access_by_lua*, content_by_lua*, header_filter_by_lua*, body_filter_by_lua*, log_by_lua*, ngx.timer.*, init_by_lua*, init_worker_by_lua*
---
---這個函數(shù)返回一個Lua數(shù)字,它是當(dāng)前 Nginx 工作進程的進程 ID (PID)。這個 API 比 ngx.var.pid 更有效,ngx.var.VARIABLE API 不能使用的地方(例如 init_worker_by_lua),該 API 是可以的。
---@return number
function ngx.worker.pid()
end

方法提示不一定要使用獨立的文件定義,可以直接在庫里面定義,如:

 

至于里面的含義就要去這里看和理解拉.


總之如果你的庫都定義好了方法提示,在你理解源碼的時候?qū)浅7奖憧焖?相信我


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號