实时代码模板的使用

实时代码模板的介绍

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

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

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

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

自带变量参数介绍

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

  • $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 关于此设置的说明我没有找到,所以暂时无法给个很少的解释,只是看到材料说明一般需要勾上此设置,如果您有好的答案,还请联系我。

如上图标注 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 标签的环绕功能。
时间: 2024-10-12 15:22:11

实时代码模板的使用的相关文章

IDEA(jetbrain通用)优雅级使用教程(转)

文章转自  http://www.jianshu.com/p/3160ff832a9b 前面写过一篇IDEA的入门级文章,但是只学会了那些配置啊什么的并不能提高我们的开发效率.事实上,如果你IDEA用的足够熟练,就可以把鼠标扔了.附入门级教程传送门:http://www.jianshu.com/p/0e2bf6a1efda 本文首发自我的csdn(以后的文章都会在简书首发) 实时代码模板(Live Templates) 我们先来看一个gif图: 这里写图片描述 大兄弟,你看清我的操作了么? 这个

IntelliJ IDEA 超实用使用技巧分享

https://blog.csdn.net/weixin_38405253/article/details/102583954 知识点概览: 高效率配置 日常使用 必备快捷键(★★) 查找 跳转切换 编码相关 代码阅读相关 版本管理相关 编码效率相关(★★) 文件代码模板 实时代码模板 其他 代码调试 源码阅读相关(★★★) 视图模式 代码调试 ... 插件方面 插件的安装与使用 插件推荐 参考 原文地址:https://www.cnblogs.com/a1304908180/p/1169746

rsync+inotify-tools实时同步

rsync概述: rsync是类unix系统下的数据镜像备份工具--remote sync.一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH.rsync主机同步 Rsync(remote sync)是UNIX及类UNIX平台下一款神奇的数据镜像备份软件,它不像FTP或其他文件传输服务那样需要进行全备份,Rsync可以根据数据的变化进行差异备份,从而减少数据流量,提高工作效率.你可以使用它进行本地数据或远程数据的复制,Rsync可以使用SSH安全隧道进行加密数

rsync+inotify实时同步

一.Rsync简介: rsync是一个远程数据同步工具,可通过lan/wan快速同步多台主机间的文件.它使用所谓的"rsync演算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快.所以通常可以作为备份工具来使用. 运行rsync server的机器也叫backup server,一个rsync server可同时备份多个client的数据:也可以多个rsync server备份一个client的数据.rsync可以搭配

基于OGG的Oracle与Hadoop集群准实时同步介绍

Oracle里存储的结构化数据导出到Hadoop体系做离线计算是一种常见数据处置手段.近期有场景需要做Oracle到Hadoop体系的实时导入,这里以此案例做以介绍.Oracle作为商业化的数据库解决方案,自发性的获取数据库事务日志等比较困难,故选择官方提供的同步工具OGG(Oracle GoldenGate)来解决. 安装与基本配置 环境说明 软件配置 角色 数据存储服务及版本 OGG版本 IP 源服务器 OracleRelease11.2.0.1 Oracle GoldenGate 11.2

nginx实时生成缩略图到硬盘上

原文:http://www.ttlsa.com/nginx/nginx-create-image-on-disk/ 现在随着各终端的出现(手机,ipad等平板),以及各种终端的手机分辨率和尺寸都不同,现在手机用户流量都是宝,网上出现了各种各样的生成缩略图功能的架构,有使用php实时生成缩略图的,也有用nginx + lua实现的,上节我也讲到了使用nginx生成缩略图,但是用户每次访问都需要生成一次,会给cpu和硬盘带来比较大的压力,今天带来了另外一种方式,这次使用nginx将原图生成缩略图到硬

用java写一个远程视频监控系统,实时监控(类似直播)我想用RPT协议,不知道怎么把RPT协议集成到项目中

我最近在用java写一个远程视频监控系统,实时监控(类似直播)我想用RPT协议,不知道怎么把RPT协议集成到项目中,第一次写项目,写过这类项目的多多提意见,哪方面的意见都行,有代码或者demo的求赏给我,谢谢

实时的分布式搜索和分析引擎——Elasticsearch

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库. 但是,Lucene只是一个库.想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的. Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的R

inotify+rsync实现实时同步部署

1.1.架构规划 1.1.1架构规划准备 服务器系统 角色 IP Centos6.7 x86_64 NFS服务器端(NFS-server-inotify-tools) 192.168.1.14 Centos6.7 x86_64 rsync服务器端(rsync热备服务器) 192.168.1.17 1.1.2架构图 2.1 部署前检查 2.1.1 检查rsync热备服务器daemon是否起来 1 [[email protected] data]# lsof -i:873 2 COMMAND PID