Intellij 外掛新秀【CommentShell】, 讓你的註釋執行起來

anqiansong發表於2021-03-26

CommentShell

demo

CommentShell(CSL) 一個可以在註釋中執行 shell 命令的 intellij 外掛。

其可以幫助開發者快速在檔案內執行指定命令,而不需要在終端去敲打 shell 命令, 如:開發 golang 的 grpc 服務時,我們需要用 protoc 工具生成 pb.go,傳統做法是編寫完 proto 檔案後在開啟終端輸入 shell 命令去生成 pb 檔案, 但是現在,你可以用 CLS 去替代傳統做法提高你的開發效率,只需要在單行註釋中以 x:generate 開頭, 後面跟上你需要執行的 shell 命令即可,如:我期望通過 shell 命令列印 hello proto, 你可以通過 //x:generate echo hello proto 這樣一行單行註釋即可實現

支援的語言

  • .gitignore
  • Antlr(g4)
  • Api(go-zero)
  • Dart
  • Dockerfile
  • Drools
  • Gherkin
  • Gradle
  • Groovy
  • Html
  • Java
  • JavaScript
  • JFlex
  • JSPX
  • Kotlin
  • Lua
  • Markdown
  • Perl
  • PHP
  • Properties
  • Proto
  • Python
  • R
  • React
  • Ruby
  • Rust
  • Scala
  • SQl
  • TypeScript
  • Vue
  • XML
  • YAML

以上語言或者檔案已經經過測試,除此外,只要程式語言或者某型別檔案支援單行註釋語法且指定單行註釋型別和語法書寫規範理論均可使用(見下文)。

安裝方式

方式一: 下載地址 方式二: intellij plugin 倉庫搜尋 CommentShell install 即可,plugin 商店還在稽核中。

支援的註釋型別

  • Java 風格單行註釋 text //x:generate echo hello java
  • Yaml 風格單行註釋 text #x:generate echo hello yaml
  • SQL 風格單行註釋 text --x:generate echo hello sql
  • xml/html 風格單行註釋 text <!--x:generate echo hello xml--> ## 書寫規則

格式

[linePrefix]x:generate [shell] [arg...] [lineSuffix]
  • linePrefix 為單行註釋開始標誌,僅支援//#--<!--
  • lineSuffix 為單行註釋結束標誌,僅支援 --> 此為 html/xml 風格單行註釋特有
  • x:generate 為關鍵字

注意

  • linePrefix 與 x:generate 之間不能有任何其他內容

常量

  • %DIR% 代表當前檔案的檔案目錄,如:/foo/bar
  • %FILENAME% 代表當前檔案路徑,如:/foo/bar/foobar.txt
  • %PERCENT_SIGN% 代表百分號符號本身%
  • "%BASE%" 代表當前檔名稱,如:foobar.txt

示例

  • 在 Java 檔案註釋中輸出 hello java text //x:generate echo hello java output: text hello java
  • 在 proto 檔案中生成 pb.go text //x:generate protoc --go_out=plugins=grpc:. %FILENAME%
  • 在 Java 程式碼中輸出 PATH 環境變數值 text //x:generate echo $PATH

點選這裡檢視各主流程式語言的 shell 寫法。

更多原創文章乾貨分享,請關注公眾號
  • Intellij 外掛新秀【CommentShell】, 讓你的註釋執行起來
  • 加微信實戰群請加微信(註明:實戰群):gocnio

相關文章