其实之前一直开发都是在使用的是Eclipse,但是最近在做Maven项目的时候要用IntelliJ IDEA,据说这个idea功能非常的强大,最近在使用的时候发现如果适应的真的是非常的强大。感觉是比Eclipse强大的多。收费的就是不一样。

一、基本设置

1.1、关闭Intellij IDEA自动更新

  在File->Settings->Appearance & Behavior->System Settings->Updates下取消Automatically check updates for勾选

    

1.2、隐藏.idea文件夹和.iml等文件

  在我们建立一个java项目的时候,总会 有我们不要使用的ieda自动生成的文件夹和文件,我们需要隐藏它。

    

  IntelliJ IDEA项目会自动生成一个.idea文件夹和.iml文讲,看着实在是碍眼,所以对以上文件进行隐藏处理
  在File->Settings->Editor->File Types下的”Ignore files and folders”一栏添加 *.idea;*.iml;等配置如下图所示  

    

  然后我们在来查看

    

1.3、设置代码编辑器主题风格

  编辑器风格修改个人并不推荐完全由自己来配置,因为网上提供了很多优秀的主题风格,我们可以导入自己喜欢的主题,然后在其基础上进行微调,推荐主题下载网站http://www.riaway.com。

  安装下载主题步骤:

    1)下载主题

      

    2)从主菜单打开你的编辑器选择File->Import Setting.选择你下载的Jar文件,这个导入之后会叫你重启。

    3)等待重启之后进行配置打开File->Settings->Editor->Colors and fonts 然后选择你安装的主题即可完成

      

    4)设置第一字体和第二字体,修改字体大小:
      自行去网上下载相应字体安装后重启Intellij IDEA,在主菜单下选择File->Settings->Editor->Colors & Fonts -> Font
      show only monospaced
fonts表示筛选显示系统上的等宽字体,由于Windows系统上等宽字体并不多,勾选此选项出现的下拉字体可选择就很少,取消勾选之后,就可以显示系统上所有已安装的字体。

      英文字体选择Monaco,此字体不支持中文,所以把这个设置为第一字体,第二字体使用Yahei
Consolas Hybrid,该字体含有中文。

1.4、文件编码设置

  File->Settings->Editor->File Encodings

  因为个人推荐设置成:utf-8

  Global Encoding:UTF-
  Projectt Encoding:UTF-
  Default encoding for properties files:UTF-
  勾选上Transparent native-to-ascii conversion

  Transparent native-to-ascii conversion属性主要用于转换ascii,不然Properties文件的中文会被转码,IntelliJ IDEA除了支持对整个Project设置编码之外,还支持对目录、文件进行编码设置。

  如果你要对目录进行编码设置的话,可能会出现需要Convert编码的弹出操作选择,强烈建议在转换之前做好文件备份,不然可能出现转换过程变成乱码,无法还原。对单独文件的编码修改还可以点击右下角的编码设置区,如果代码内容中包含中文,则会弹出演示中的操作选择,

  Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么,Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件,新编码是什么则是什么。   

    个人设置: 

    

二、类和方法的模板注释

2.1、修改类注释模板

  在File->Settings->Editor->File and Code Templates下分别修改Class,Interface,Enum等注释模板,Class模板部分修改如下,其余的举一反三进行修改。以下所示的${DESCRIPTION}是自定义变量,会在创建类时请求输入  

  

 /**
* Copyright (C), 2015-${YEAR}, XXX有限公司
* FileName: ${NAME}
* Author: ${USER}
* Date: ${DATE} ${TIME}
* Description: ${DESCRIPTION}
* History:
* <author> <time> <version> <desc>
* 作者姓名 修改时间 版本号 描述
*/
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")
package ${PACKAGE_NAME};
#end /**
* 〈一句话功能简述〉<br>
* 〈${DESCRIPTION}〉
*
* @author ${USER}
* @create ${DATE}
* @since 1.0.0
*/
public class ${NAME} { }

    

2.2、方法注释模板修改

  在File->Settings->Editor->Live Templates下添加自定义Template Group,并在自定义Template Group下添加自定义Template

   

  具体配置

Template text内容如下:
/**
* 功能描述: <br>
* 〈$END$〉
*
$param$
* @return:$return$
* @since: 1.0.0
* @Author:$user$
* @Date: $DATE$ $TIME$
*/ Edit Template Variables请求参数部分内容如下:
  这个是param这个参数名的Expression:
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\n ' : '')}; return result", methodParameters())

    

    在完成如上配置后,只需在方法内执行/**+Enter键即可生成注释,切记这里说的是方法内部,因为methodParameters()的作用域只在方法内部,这也是Intellij IDEA比较蛋疼的一点。

    网上也有人推荐使用JavaDOC插件生成注释,有兴趣的朋友也可以尝试一下

    2)测试

      方法注释模板修改效果图

      

2.3、代码格式化

  代码格式化的快捷键为Ctrl+Alt+L,如果在类中执行代码格式化则会对代码进行排版,若焦点在类或者文件夹上,则会弹出格式化选项提示框  

      

IntelliJ IDEA使用(一)基本设置与类、方法模板设置的更多相关文章

  1. IntelliJ IDEA 中自动生成 serialVersionUID 的方法

    as, idea plugin中搜如下关键字,并安装该插件: GenerateSerialVersionUID 如上图所示,创建一个类并实现Serializable接口,然后按alt+Enter键,即 ...

  2. 类的继承和多态性-编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs(),获得腿数量的方法 getLegs(),设置动物名称的方法 setKind(),获得动物名称的方法 getKind(),获得动物数量的方法 getCount()。定义Fish类,是Animal类的子类,

    编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs(),获得腿数量的方法 ...

  3. paip.java c++得到当前类,方法名称以及行号

    paip.java c++得到当前类,方法名称以及行号 作者Attilax 艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn ...

  4. 超详细设置Idea类注释模板和方法注释模板

    网上找了一下,没有很详细且正确介绍Idea配置注释模板的,于是结合多篇文章自己琢磨整理出如下. 设置类注释模板 1.选择File–>Settings–>Editor–>File an ...

  5. javascript-添加 class 类 和 移出 class 类 方法

    /* 添加 class 类 和 移出 class 类 方法*/ function addClass(element, className) { if(!new RegExp("(^|\\s) ...

  6. Android开发教程 - 使用Data Binding Android Studio不能正常生成相关类/方法的解决办法

    本系列目录 使用Data Binding(一)介绍 使用Data Binding(二)集成与配置 使用Data Binding(三)在Activity中的使用 使用Data Binding(四)在Fr ...

  7. 在intellij idea 里来回跳转查询方法

    在intellij idea 里来回跳转查询方法,在不知道快捷键的时候真是抓狂. 看到key map中的快捷键 后退back  ctrl +alt + ← 或者button4 click 前进forw ...

  8. 笔记-python-lib-requests常用类/方法/属性

    笔记-python-lib-requests常用类/方法/属性 1.      requests模块常用类/方法/属性 在使用中发现对requests模块不够熟悉,写了几个案例后重新整理了一下文档,罗 ...

  9. Java第11次作业:什么是继承?继承的好处?什么是覆写?super()?构造代码块?子父类初始化顺序? 抽象类能用final声明吗?final关键字声明类 方法 变量以及全局常量?抽象类的构造方法?

    什么是继承? 继承是以父类为基础,子类可以增加新的数据或新的功能.子类不能选择性地继承父类.这种技术使得复用以前的代码非常容易. JAVA不支持多继承,单继承使JAVA的继承关系很简单,一个类只能有一 ...

随机推荐

  1. 一份关于webpack2和模块打包的新手指南

    webpack已成为现代Web开发中最重要的工具之一.它是一个用于JavaScript的模块打包工具,但是它也可以转换所有的前端资源,例如HTML和CSS,甚至是图片.它可以让你更好地控制应用程序所产 ...

  2. kickstart自动化安装--tftp+nfs+dhcp

    使用kickstart实现Centos 自动化安装 Kickstart自动化安装简介: 规模化:同时装配多台 服务器 自动化 :安装系统,配置各种服务 远程实现:不需要光盘,U盘等安装介质 优势: ( ...

  3. 如何发布自己的开源框架到CocoaPods【转】

    在开发过程中,经常会使用到第三框架,我们通过一个pod install命令,很方便的就将第三方框架加到我们自己的项目中. 如果我们也想将自己写的组件或库开源出去,让别人也可以通过pod install ...

  4. input file样式修改,图片预览删除功能

    本篇对input file进行了修改,改成自己需要的样式,类似验证身份上传身份证图片的功能. 效果图如下: 这里主要展示上传预览图片功能,对于删除功能的html及css写的比较粗糙,对于想要精细表现这 ...

  5. 一个想法照进现实-《IT连》创业项目:聊聊IT连App是如何思考解决IT人员单身问题的

    前言: 根据最早我编写的IT联盟社区众筹计划书的思路方向:社交->资讯=>评级=>培训. 现在在实现第一个阶段中,而且这个阶段可能会走很久. 今天开文,主要是讲述一下,现在的版本为什 ...

  6. Boyer-Moore Majority Vote Algorithm

    介绍算法之前, 我们来看一个场景, 假设您有一个未排序的列表.您想知道列表中是否存在一个数量占列表的总数一半以上的元素, 我们称这样一个列表元素为 Majority 元素.如果有这样一个元素, 求出它 ...

  7. kill 和killall----杀死进程

    1.根据进程ip查看进程名 Liunx中 通过进程名查找进程PID可以通过 pidof  [进程名] 来查找. 反过来 ,通过PID查找进程名则没有相关命令.但在linux根目录中,有一个/proc的 ...

  8. RGB和HSV颜色空间

    转载:http://blog.csdn.net/carson2005/article/details/6243892 RGB颜色空间: RGB(red,green,blue)颜色空间最常用的用途就是显 ...

  9. mysql阅读收录

    --mysql阅读收录 -----------------2014/07/02 # 复制相关: 1. 解释基于语句的复制中怎样处理functions,triggers,events和auto_incr ...

  10. AIX系统备份相关知识

    AIX系统备份相关知识 --------------------------2013/10/16 预备知识.1.rootvg类似于windows中的C盘,即系统vg,这个vg上面当然也可以划分用户的逻 ...