首页 > 其他分享 >IDEA中Live Templates和Postfix Completion的用法

IDEA中Live Templates和Postfix Completion的用法

时间:2024-04-11 20:44:20浏览次数:13  
标签:Templates Completion users Postfix 生成 flag 复制 User new

 

前言

 

IDEA中代码生成的方式有两种

  • Live Templates
  • Postfix Completion

这两种方式中,第一种基本每一个IDE都支持,但是支持第二中的很少。

Live Templates

输出模板

1、sout,最基本的输出语句,快速生成 System.out.println();

2、soutp,快速生成参数输出语句。

3、soutm,快速生成方法名输出语句。

4、soutv,快速生成最近一个变量的输出语句。

循环模板

1、fori ,可以快速生成最基本的 for 循环:

img img

2、iter,可以快速生成增强for循环:

img img

条件模板

1、ifn,快速生成空值判断:

img img

2、inn

img img

常量模板

psf 用于生成 public static final,prsf 用于生成 private static final:

(另外也有 psfs 直接生成 public static final String,和 psfi 直接生成 public static final int)

img img

Postfix Completion

Postfix Completion 是 IDEA 中的后缀表示法,什么意思呢?

其实就是你在书写完一段语句之后再加上一个.然后输入指定的字符回车,IDEA 就会自动帮你生成代码。

变量创建

在变量后面输入 .var 然后回车即可快速创建一个局部变量。

我们常用的类型强转可以使用 .cast替代。

// 创建局部变量 User().var
User user = new User();
// 创建全局变量 User().field
Main.user = new User();
// 创建对象 User.new
new User();
// 类型强转 Object().cast
(User) new Object();
// 类型强转 + 变量创建 Object().castvar
User user2 = (User) new Object();

类型判断

首先介绍判断是否为空的:

.null 直接生成这个:

// user.null
if (user == null) {
}

.notnull 等价于 .nn生成这个:

// user.notnull
// user.nn
if (user != null) {
            
}

另外如果变量是布尔类型的:

Boolean flag = true;

可以使用 .if.while快速生成:

// flag.if
if (flag) {
            
}

// flag.while
while (flag) {
            
}

输出和返回

如果我想输出一个变量,使用.sout

// flag.sout
System.out.println(flag);

我想设置方法的返回值,使用.return

// flag.return
return flag;

循环

先定义一个数组:

String[] users = new String[5];

如果我想使用 for 循环遍历它,使用.fori

// users.fori
for (int i = 0; i < users.length; i++) {
            
}

同样的道理,增强 for 循环可以使用 .for

// users.for
for (String s : users) {
            
}

循环可以使用.iter来遍历,效果同.for

还有.forr 表示逆向遍历:

// users.forr
for (int i = users.length - 1; i >= 0; i--) {
            
}

异常

捕捉异常,相信你已经猜到了,对就是try,都是语义化的:

// test().try
try {
     test();
} catch (Exception e) {
     e.printStackTrace();
}

自定义

Settings => Editor => General => Postfix Completion

详细见:https://cloud.tencent.com/developer/article/2305215

标签:Templates,Completion,users,Postfix,生成,flag,复制,User,new
From: https://www.cnblogs.com/xd502djj/p/18129996

相关文章

  • C++ templates: (1)、类模板
    1、类模板定义(主模板)template<typenameT,typenameC=list<T>,intMAX=10>classStack{public:usingvalue_type=T;public:Stack(constT&a):m_oContainer{move(a)}{cout<<"Stack<T,list<T>>()"<<......
  • Postfix + Dovecot IMAP 服务器的终极指南,完整支持 SPF、DKIM 和 DMARC,以及多域名设
    邮件服务器配置指南本指南将带您完成Postfix+DovecotIMAP服务器的设置,支持SPF、DKIM和DMARC,还将提供多域名配置的额外指导。在本指南中,domain.com将作为您的根域名,mail.domain.com将作为您邮件服务器的主机名。0x01添加DNS记录在您的域名下添加如下DNS记录:mailI......
  • 完成量completion
    基本概念:completion(完成)机制是一种同步原语,用于在线程间实现等待和通知的机制。它提供了一种方式,允许一个线程等待其他线程的完成,并在完成时通知等待线程。在Linux内核中,structcompletion表示completion对象。它包含一个计数器和一个等待队列,以及相关的操作函数。通常情况......
  • C++ Function Templates (函数模板)
    C++FunctionTemplates[函数模板]1.TemplatesandGenericProgramming(模板与泛型编程)2.DefiningaFunctionTemplates(定义函数模板)2.1.InstantiatingaFunctionTemplate(实例化函数模板)2.2.TemplateTypeParameters(模板类型参数)2.3.Non......
  • cpp templates :auto推导
    目录常见推导函数的返回值常见推导1auto:产生拷贝,可以修改2auto&:左值引用,接受左值,可以修改3constauto&:const引用,可以接受左右值,不可修改4auto&&:万能引用,可以接受左右值,const引用时不能修改inta=100;constintb=100;autoa1=3;//a1为intautoa2......
  • [初级]原生代码请求completions接口,完成gpt3.5 /4 接口调用
    本文演示基于白菜GPT转发APIKEY实现gpt-3.5、gpt-4对话请求及流式请求复制如下代码,替换baicai-xxxxxxxx部分为你的白菜APIKEY发起gpt-3.5请求importhttp.clientimportjsonconn=http.client.HTTPSConnection("api.baicaigpt.com")payload=json.dumps({"model":......
  • Templates
    超级IO#defineOPENIOBUFnamespaceFASTIO{classFastIOBase{protected: #ifdefOPENIOBUFstaticconstintBUFSIZE=1<<16;charbuf[BUFSIZE+1];intbuf_p=0; #endifFILE*target;FastIOBase(FILE*f):targe......
  • Xamarin.Android中使用TaskCompletionSource创建阻塞式的对话框
    代码如下usingAndroid.OS;usingAndroid.Views;usingAndroid.Util;usingActivity=Android.App.Activity;namespaceKangHuiXinCai_FangDai_AndroidScanner{publicclassDialog_SettingPassword:Dialog{TaskCompletionSource<DialogResu......
  • Completions接入
    一、文档https://platform.openai.com/docs/api-reference/completions二、调用curlhttps://api.openai.com/v1/completions\-H"Content-Type:application/json"\-H"Authorization:Bearer$OPENAI_API_KEY"\-d'{"model&q......
  • Infix to postfix conversion using stack【1月21日学习笔记】
    点击查看代码//Infixtopostfixconversionusingstack#include<iostream>#include<stack>//stackfromstandardtemplatelibrary(STL)#include<string>usingnamespacestd;stringInfixToPostfix(stringexp);boolHasHigherPrecedence(charopr1,......