W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
一個(gè)好用趁手的編輯器可以為我們帶來(lái)極大的工作效率提升,lua本身并不挑編輯器只是一個(gè)存文本. 但是如果有代碼提示,方便的goto跳轉(zhuǎn),在我們理解別人的代碼效率上將會(huì)有極大的提升.
我從最初的記事本編輯,vi,到后來(lái)的UE自定義語(yǔ)法高亮和函數(shù)列表,以及scite等尋找和嘗試過(guò)能找到的絕大部分的lua編輯器. 我想在編輯器選擇上面(linux下的不熟= =)應(yīng)該比較有發(fā)言權(quán).這里我主要講我的環(huán)境是如何的。
選擇過(guò)程我就不詳述了,這里只講解如果在你自己的windows上配置好ide。
idea是一個(gè)java語(yǔ)言非常受好評(píng)的編輯器,但是并不是只支持java.
目前通過(guò)開(kāi)放的插件編寫(xiě)已經(jīng)支持絕大部分語(yǔ)言且使用的非常好用順手,相信使用過(guò)的都會(huì)深有感受的。下載地址
其中Community版本是免費(fèi)的,下載完后雙擊安裝即可.
安裝完成后打開(kāi)File->Settings->Plugins在其中輸入emmylua點(diǎn)擊右邊的install安裝并重啟idea
新建一個(gè)lua項(xiàng)目 在?File->Project Structure
?里面配置好?modules
?和?lib
?,如下圖.
至此一個(gè)包含lua語(yǔ)法提示和調(diào)整的編輯器環(huán)境就配置好了.
有關(guān)?emmylua
?的詳細(xì)幫助文檔看這里
你可以在Setting里面配置鼠標(biāo)移動(dòng)到方法上后一定時(shí)間自動(dòng)彈出
也可以按?Ctrl+q
?手動(dòng)彈出,效果如下(= =目前我使用的版本文檔中的換行顯示還有問(wèn)題)
在任何已經(jīng)被定義的方法上按住Ctrl+鼠標(biāo)點(diǎn)擊該方法就可以自動(dòng)打開(kāi)和跳轉(zhuǎn)到方法定義上面,非常方便
在你輸入識(shí)別的全局或者局部變量上面按點(diǎn)會(huì)自動(dòng)出現(xiàn)可選方法做提示,不用記住所有的方法.
由于emmylua并沒(méi)有自帶openresty的庫(kù)函數(shù),所以我們需要自己寫(xiě)函數(shù)提示,這里我提供我自己寫(xiě)的供你們下載和豐富.請(qǐng)丟到你的lualib根目錄中
下面是一個(gè)簡(jiǎn)單的庫(kù)函數(shù)定義示例
---語(yǔ)法: pid = ngx.worker.pid()
---
---語(yǔ)法: 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*
---
---這個(gè)函數(shù)返回一個(gè)Lua數(shù)字,它是當(dāng)前 Nginx 工作進(jìn)程的進(jìn)程 ID (PID)。這個(gè) API 比 ngx.var.pid 更有效,ngx.var.VARIABLE API 不能使用的地方(例如 init_worker_by_lua),該 API 是可以的。
---@return number
function ngx.worker.pid()
end
方法提示不一定要使用獨(dú)立的文件定義,可以直接在庫(kù)里面定義,如:
至于里面的含義就要去這里看和理解拉.
總之如果你的庫(kù)都定義好了方法提示,在你理解源碼的時(shí)候?qū)?huì)非常方便快速.相信我
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: