每次都写重复的代码,真的是一个非常难受的事情。基于能少一步少一步, 能偷懒绝不干活的思想。
今天给大家分享下,如何通过WebStorm和Idea 中的Live Templates
。快速定义代码的快捷方式。
一、使用思路
将我们常用的代码,定义成一个快捷方式。
比如
-
在java中输入sout就会生成如下代码
-
在js中数据log就会生成如下代码
接下来我们也定义这样的指令,并且可以指定在什么文件内生效。比如在vue文件中生效。
或者是在ts文件中生效。
二、Webstorm 操作流程
2.1 设置
点击右边加号,新增要给指令组。如上vue3
就是新增的指令组。然后刚才添加的 vue3
点击加号添加指令 vvv
.
在script标签中输入vvv 然后 tab键,就生成了我们想要的代码。
三、IntelliJ IDEA 操作流程
3.1 设置
跟前面一样,先添加一个组 MySpringBoot
。然后在这个组下面添加指令 curl
。
代码模版中我们使用了一个 $VAR$
变量。当输入curl时候自动生成下面代码。
而 $VAR$
则是自定义的变量。
@PostMapping("/page")
public JsonResult<DataPage<Object>> page(@RequestBody Object query) {
return JsonResult.success($VAR$.page(query));
}
@PostMapping("/saveOrUpdate")
public JsonResult<Boolean> saveOrUpdate(@RequestBody Object save) {
$VAR$.saveOrUpdate(save);
return JsonResult.success();
}
@PostMapping("/detail")
public JsonResult<Object> queryDetails(@RequestParam Long dictId) {
return JsonResult.success($VAR$.queryDeptById(dictId));
}
@PostMapping("/removeById")
public JsonResult<Boolean> removeById(@RequestParam Long dictId) {
return JsonResult.success($VAR$.removeById(dictId));
}
我们点击右边的增加变量按钮。
然后选择函数。赋值给 VAR 变量。然后就可以在代码模版中使用。
3.2 Idea 自带函数
可以看到前面的 $VAR$
就是使用 clipboard
将剪贴板中的内容作为变量值。
函数名 | 功能描述 |
---|---|
capitalize | 将输入的字符串首字母大写。 |
clipboard | 将剪贴板中的内容作为变量值。 |
complete | 弹出代码补全提示框,让用户选择一个选项作为变量值。 |
completeSmart | 弹出智能代码补全提示框,让用户选择一个选项作为变量值。 |
date | 将当前日期作为变量值,格式为yyyy/MM/dd。 |
decapitalize | 将输入的字符串首字母小写。 |
default | 如果用户没有输入任何值,就使用默认值作为变量值。 |
enum | 弹出枚举类型的提示框,让用户选择一个枚举常量作为变量值。 |
escapeString | 将输入的字符串中的特殊字符转义,例如将双引号转换为"。 |
fileName | 将当前文件名作为变量值。 |
fileNameWithoutExtension | 将当前文件名(不含扩展名)作为变量值。 |
fileRelativePath | 将当前文件相对于项目根目录的路径作为变量值。 |
groovyScript | 使用Groovy脚本来生成变量值,可以使用一些预定义的参数,例如_editor, _project, _module等。 |
lineNumber | 将当前行号作为变量值。 |
methodParameters | 弹出方法参数的提示框,让用户选择一个参数作为变量值。 |
primaryConstructorParameters | 弹出主构造器参数的提示框,让用户选择一个参数作为变量值。 |
suggestFirstVariableName | 根据类型或表达式来推荐一个合适的变量名,并将其作为变量值。 |
suggestIndexName | 根据循环体来推荐一个合适的索引名,并将其作为变量值。 |
suggestVariableName | 根据类型或表达式来推荐一个合适的变量名,并将其作为变量值。 |
time | 将当前时间作为变量值,格式为HH:mm:ss。 |
四、Postfix Completion
基于 Postfix Completion
实现, 类似 .if 等功能。
官方文档