一个 Intellij 插件让你的单行注释内容跑起来! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
KesonAn
V2EX    Java

一个 Intellij 插件让你的单行注释内容跑起来!

  •  1
     
  •   KesonAn 2021-03-25 19:09:55 +08:00 1981 次点击
    这是一个创建于 1667 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 风格单行注释
      //x:generate echo hello java 
    • Yaml 风格单行注释
      #x:generate echo hello yaml 
    • SQL 风格单行注释
      --x:generate echo hello sql 
    • xml/html 风格单行注释
      <!--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
      //x:generate echo hello java 
      output:
      hello java 
    • 在 proto 文件中生成 pb.go
      //x:generate protoc --go_out=plugins=grpc:. %FILENAME% 
    • 在 Java 代码中输出 PATH 环境变量值
      //x:generate echo $PATH 

    点击这里查看各主流编程语言的 shell 写法。

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2833 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 02:57 PVG 10:57 LAX 19:57 JFK 22:57
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86