IDEA之PostfixCompletion和实时代码模板

原文链接:https://github.com/judasn/IntelliJ-IDEA-Tutorial/blob/master/postfix-completion-introduce.md

Postfix Completion 的使用

Postfix Completion 的介绍

Postfix Completion 功能本质上也是代码模板,只是它比 Live Templates 来得更加便捷一点点而已。具体它是做什么的,我们通过下面一张 Gif 演示图来说明:

Postfix Completion 的介绍

  • 如上图标注 1 所示,非空的判断在 Java 代码中应该是非常常见的一句话代码,如果用 Live Templates 当然也是可以快速生成,但是没有上图 Gif 这种 Postfix Completion 效果快。也许只是快了那么 0.01 秒,但是有如此好用的功能不用也是一种浪费。

Postfix Completion 的设置

Postfix Completion 的设置

  • 如上图红圈所示,IntelliJ IDEA 只提供了是否启用的开关,其他的设置就没了。所以如果目前的版本中你还无法想对该功能进行自定义。IntelliJ IDEA 也对常用到的一些固定格式的代码进行了归纳,基本目前也够用了。

原文链接:https://github.com/judasn/IntelliJ-IDEA-Tutorial/blob/master/live-templates-introduce.md

实时代码模板的使用

实时代码模板的介绍

实时代码模板的介绍

  • 上图 Gif 演示为最好的介绍 Live Templates
  • 实时代码模板需要字符串前缀,如 Gif 演示中,在输入 sys 后生成一段输出语句,其中 sys 前缀是我自己设置的。
  • 实时代码模板支持变量参数设置,如 Gif 演示中,在输入 temp1 的时候,后面自动也生成了一个 temp1,这是因为两者的变量名是一致的,所以我设置了一个变量值内容之后,相同变量值的内容也会跟着出现。
  • 实时代码模板支持最后位置的定位,如 Gif 演示中,在输入完 temp1 之后,按 Enter 后自动跳转到语句末。虽然默认没有设置的时候也是在这个位置,但是我是通过设置来定位到此位置的。
  • 实时代码模板支持获取当前类名和当前方法名(本质是内置函数),如 Gif 演示中,在输入完 sys 生成输出语句中自动带有当前类名和方法名。
  • 综上效果:实时代码模板只是为了让我们更加高效的写一些固定模式的代码,以提高编码效率,同时也可以增加个性化。比如 Gif 演示中,我在开发中如果需要写输出的话,我个人习惯输出语句中前缀是自己的标记:横线和域名,以区分其他人输出,方便做全文搜索。
  • 官网介绍 Live Templates:https://www.jetbrains.com/idea/help/live-templates.html

实时代码模板的介绍

  • 如上图标注所示,实时代码模板本质是用 XML 文件来保存的,所以传播自己的实时代码模板只要传播对应的文件即可。
  • IntelliJ IDEA 的实时代码模板保存在 /templates 目录下,其他系统目录位置如下:(因为目录名在各个系统上是一致的,建议用硬盘搜索工具搜索即可)
  • Windows: C:\Users\youmeek\.IntelliJIdea2017.2\config
  • Linux: ~/.<product name><version number>/config/templates
  • OS X: ~/Library/Preferences/IdeaIC2017.2/templates

调用常规的实时代码模板主要是通过两个快捷键:TabCtrl + J。虽然 IntelliJ IDEA 支持修改此对应的快捷键,但是默认大家都是这样使用的,所以没有特别原因就不要去改。

该两个快捷键的使用方法:如第一张 Gif 演示图所示,在输入 sys 后按 Tab 键,即立即生成预设语句。如果按 Ctrl + J 则会先提示与之匹配的实时代码模板介绍,然后还需按 Enter 才可完成预设语句的生成。

自带变量参数介绍

在文章开头我们已经有提到 IntelliJ IDEA 实时代码模板是有变量参数设置的,其中 IntelliJ IDEA 自带了两个变量参数:

  • $END$,表示最后都编辑完后光标所处的位置
  • $SELECTION$,表示设置环绕实时代码模板,环绕功能下面会模板专门进行介绍。
  • 除了上面两个变量参数外,其他一律都会自定义变量。
  • 官网介绍:https://www.jetbrains.com/idea/help/live-template-variables.html
  • $END$ indicates the position of the cursor after the template is expanded.
  • $SELECTION$ is used in surround templates and stands for the code fragment to be wrapped.

实时代码模板的设置

实时代码模板的设置

  • 如上图标注 1 所示,除了 IntelliJ IDEA 预设的模板之外,我们还可以创建新组和新实时代码模板,其中组是用来包含实时代码模板的。
  • 如上图标注 2 所示,output 是组名,告诉开发者,这组里面实时代码模板都是用来做输出的。serr 表示实时代码模板输出 System.err 的简称,所以这个不是一个完整的单词,不需要读懂,只需要记忆。
  • 如上图标注 3 所示,实时代码模板的内容,其中用到了预设的变量 $END$
  • 如上图标注 4 所示,可设置该实时代码模板的试用范围,比如图上的 serr 这是 Java 代码,所以试用范围我们就应该只是 Java 文件上或是 JSP 这类文件上,设置在 HTML 或是 CSS 文件上就完全没有多大意义了。
  • 如上图标注 5 所示,勾选了辅助的功能:
  • Reformat according to style 对生成的代码进行格式化。
  • Shorten FQ names 表示缩写类的全称限定名。这个一般需要勾选,帮助你把模板里的全称限定名对应的类 import,然后使用的地方改成缩写。

实时代码模板的设置

  • 如上图标注 1 所示,我们可以对实时代码模板进行组的转移。

变量参数和函数的介绍

如文章开头演示的 Gif 实时代码模板,其实时代码模板内容为:System.out.println("-----------YouMeek.com-----------$VAR1$值=" + $VAR1$ + "," + "当前类=$CLASS_NAME$.$METHOD_NAME$()");$END$

  • $VAR1$$CLASS_NAME$$METHOD_NAME$ 都为自己定义的变量名。设置变量名只要用两个 $ 包住即可。
  • 每个变量在代码输出的时候都是一次光标位置,光标跳动顺序从左到右,每次跳动按 Enter

变量参数和函数的介绍

  • 如上图标注红圈所示,可以对编辑代码内容的变量。
  • 如上图标注 1 所示,演示中变量名 $CLASS_NAME$$METHOD_NAME$ 会自动输出当前类名和方法名是因为使用对应的函数 className()methodName()
  • 如上图标注 2 所示,如上面介绍的,每个变量都是一次光标位置,但是演示中变量名 $CLASS_NAME$$METHOD_NAME$ 没有进入,是因为勾选了 Skip if defined
  • 如上图标注 3 所示,可以改变变量光标跳转时的顺序。
  • 内置函数介绍:https://www.jetbrains.com/idea/help/live-template-variables.html
  • 对于官网这些函数这里就不在累赘,官网有详细的介绍,如果你还看不懂,可以看 IntelliJ IDEA 已经预设各个实时代码模板,基本上常用的函数都有被引用过,你可以通过学习这些预设的实时代码模板来揣测其函数的用法。

环绕功能介绍

环绕功能介绍

  • 上图 Gif 演示为最好的介绍 surround templates
  • 如上图 Gif 演示,环绕模板的前提是:选中要被环绕的内容。
  • 在设置实时代码模板的时候,如果含有预设的变量 $SELECTION$ 则该实时代码模板是环绕模板。
  • 该功能对于前端开发者来讲是非常方便的,默认 IntelliJ IDEA 已经自带了 HTML 标签的环绕功能。

模板的时候,如果含有预设的变量 $SELECTION$ 则该实时代码模板是环绕模板。

  • 该功能对于前端开发者来讲是非常方便的,默认 IntelliJ IDEA 已经自带了 HTML 标签的环绕功能。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 要修改IDEA的/**代码模板,你可以按照以下步骤进行操作。首先,打开IDEA的设置界面,可以通过点击"File"菜单,然后选择"Settings"来打开设置界面。在设置界面中,可以找到"Live Templates"选项,它通常位于左侧导航栏的列表中。点击它后,在右侧的面板中可以看到各种代码模板。找到你想要修改的注释模板,在这个例子中是"/**"模板。点击模板后,在右侧的面板中可以看到该模板的详细信息。你可以根据需要进行修改,添加或删除标签,比如"@version"标签。修改完成后,点击"Apply"或"OK"按钮保存修改并关闭设置界面。现在,你的IDEA的/**代码模板已经修改成功了。希望这个解答对你有帮助。如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [IDEA添加注释模板(自动生成多行注释)](https://blog.csdn.net/qq_46577022/article/details/129501924)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Idea 注释模板配置](https://blog.csdn.net/qq_41581936/article/details/126738140)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [idea 自定义文档注释模板](https://blog.csdn.net/weixin_46766584/article/details/126182867)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值