zoukankan      html  css  js  c++  java
  • IDEA 环境设置

    工欲善其事,必先利其器。IDEA为我们提供了丰富的功能,但不代表你就用的趁手。我们应当根据自己的条件、需求合理的配置,从而驾驭好这匹悍马。让它成为我们编程的利器。下面就一些常用的配置做个说明。

    IDEA运行环境设置

    1.1 设置IDEA使用的JDK

    在使用IDEA 2017时,要求JDK版本在Java8上。所以要配置环境变量JAVA_HOME为JDK8的。但是在大家的项目中,通常可能并不是JDK8。为了能够区别开来,各用各的JDK。可以在机器上安装多个JDK版本。然后在环境变量中配置各自的环境变量即可。

    Windows上,IDEA查找环境变量的顺序:

    32位的搜索顺序:

    1)IDEA_JDK / PHPSTORM_JDK / WEBIDE_JDK / PYCHARM_JDK / RUBYMINE_JDK / CLION_JDK / DATAGRIP_JDK 。其中WEBIDE_JDK应用于 WebStorm、PhpStore 的2016.1之前版本。

    2)${idea.config.path}<product>.jdk文件

    3)JDK_HOME环境变量

    4)JAVA_HOME 环境变量

    64位的搜索顺序:

    1)IDEA_JDK_64 / PHPSTORM_JDK_64 / WEBIDE_JDK_64 / PYCHARM_JDK_64 / RUBYMINE_JDK_64 / CLION_JDK_64 / DATAGRIP_JDK_64 。其中WEBIDE_JDK应用于 WebStorm、PhpStore 的2016.1之前版本。

    2)${idea.config.path}<product>64.jdk文件

    3)JDK_HOME环境变量

    4)JAVA_HOME 环境变量

    至于Linux、Mac上的,可以参考:

    https://intellij-support.jetbrains.com/hc/en-us/articles/206544879-Selecting-the-JDK-version-the-IDE-will-run-under

    1.2 JVM options设置

    IDEA是Java程序,heap内存的大小对Java运行快慢很重要,要根据机器的情况适当的调整。

    配置文件在${IDEA_HOME}/bin目录下的idea.exe.vmoptions (For 32位程序),idea64.exe.vmoptions(For 64位程序)。

    我的机器(虚拟机)内存是2.7G,做如此配置,可以不卡。如果机器内存足够大,可以调整-Xmx2G,不要吝啬。

    1.3 IDEA System,Config文件位置调整

    默认情况下,IDEA的运行时必要的数据文件(配置、index等)会放在系统的当前用户的home目录下(windows系统下是: c:Documents and Settings\${User}.IntelliJIdea2017.3)。

    项目中的文件通常会比较多,IDEA会为每个文件建立索引的,所以会占用不少的磁盘空间。我们可以将其转移到其它磁盘。

    当你有一个SSD时,你为了让你的IDEA运行的更快,可以将这些文件放到SSD上。

    怎么调整文件位置呢?

    在${IDEA_HOME}/bin目录下有一个idea.properties文件,假设你要将目录 调整到D:/idea_data目录下,应该做如下调整:

    1) 关闭IDEA

    2) 去掉idea.config.path、idea.system.path前的注释。

    3)将idea.config.path的值调整为d:/idea_data/config,将idea.system.path调整为d:/idea_data/system

    4)从c:Documents and Settings${User}.IntelliJIdea2017.3目录下,将.IntelliJIdea2017.3目录下的内容全部拷贝到d:/idea_data目录下。

    5)重启idea,在C盘并不会重新生成索引文件(这说明你的配置生效了)。

    我的调整如下:

     

    定义了一个新的配置项:myidea.data.dir,然后让idea.config.path,idea.system.path都使用它。

    如果调整不生效,可以参考:

    https://intellij-support.jetbrains.com/hc/en-us/articles/207240985-Changing-IDE-default-directories-used-for-config-plugins-and-caches-storage

    IDEA Settings

    在工具栏或者File>Settings都可以打开idea软件设置。下面要调整在设置在Settings中进行。

    2.1 使用Eclipse的按键设置

    如果是从Eclipse转向IDEA的,对Eclipse按键已经熟知了,不想再花时间去研究IDEA的按键设置时,可以配置此项。

    Settings 》Keymap,调整为Eclipse即可。

    2.2 使用自己安装的Maven,使用指定的本地仓库

    Eclipse可以指定自己安装的Maven,IDEA自然也是可以的了。调整方案与Eclipse上类似。具体如下:

    Settings 》Build,Exection,Deployment 》BuildTools 》Maven

    1) 设置maven home directory,

    2) 设置User settings file

    3) 修改local仓库。

    修改完毕后,确认一下Path Variables中的MAVEN_REPOSITOR的值是否正确。具体方法:切到Settings > Appearance & Behavior > Path Variables区域后自然可见。

    如果使用Gradle作为构建工具,调整方案类似。

    2.3 使用Eclipse编译器替代javac

    使用Eclipse编译器有如下好处:

    1、即便代码有错,也是可以编译调试的。如果用过Eclipse,会有"process error,仍然要执行吗?"的提示框,就是这个原因。

    2、可以增量编译,即只编译有改动的java文件。

    3、利用多核cpu并行编译。

    这些好处是javac不具备的,自然要选择它了。

    调整方法:

    Settings 》Build,Execution,Deployment 》Complier 》 Java Compiler

    修改 Use compiler 为 Eclipse。

    如果内存足够的话,可以同时开启Compile independent modules in parallel

    2.4 关闭Validation

    使用Eclipse时,我们通常会将validation关闭,目的是加快构建速度。特别是要关闭JavaScript的验证。使用IDEA了,同样要关闭校验了。设置方案:

    Settings 》Build,Execution,Deployment 》 Validation ,将Validate on build的勾去掉。

    2.5 关联SCM client

    IDEA 可以支持各种各样的SCM工具(也称为VCS工具),例如:CVS, Git,  Subversion, Mercurial, Perforce, TFS (微软的一款产品)。但IDEA本身不含有这些SCM工具的客户端,这就需要我们接入相应的客户端之后才可使用。

    集成SVN

    下面以SVN为例,svn的客户端程序就是svn.exe,我们只需要想办法让IDEA找到它即可。

    一般有两种方式:

    1) 将svn.exe加入到系统的环境变量中,在IDEA Settings 》Version Control 》Subversion中将use command line client 打勾,并设置client为svn。

    2)在IDEA Settings 》Version Control 》Subversion中将use command line client 打勾,并设置client为svn.exe在路径。

    在我的机器上,之前安装有TortoiseSVN,它里面也是有svn命令行工具的,名字就叫svn.exe。所以我的配置就是:C:Program FilesTortoiseSVNinsvn.exe

    如果你本地安装的SVN客户端是其它的,只要找到它的命令行可执行程序,按照上面方法接入即可。

    如果你本地安装的也是TortoiseSVN,但在TortoiseSVN的bin目录下,没有找到svn.exe,那说明你是没有安装svn的命令行的,就需要启动TortoiseSVN的安装程序,选择command line模块安装即可。

    集成Git

    集成Git,同样也有两种方式:

    1)将git.exe加入到系统的环境变量中,在IDEA Settings 》Version Control 》Subversion中设置client为git。

    2)在IDEA Settings 》Version Control 》Git中设置client为git.exe在路径。

    例如我将Path to Git executable设置为:D:Program FilesGitcmdgit.exe

    2.6 插件管理

    IDEA和Eclipse能够得到广泛的应用的原因之一,就是有良好的插件机制。可以集成各种插件,当然了也有很多是我们可能根本不需要的插件,可以移除之。

    Settings 》 Plugins,在这里可以进行插件安装、卸载、启用、禁用操作。

    安装插件可以采用在线安装、本地安装两种方式。本地安装方式参见2.8小节。

    如果在下载插件过程中,发现很慢,可以设置Http Proxy的.参考2.7小节.

    2.7 设置Plugin更新的Proxy

    在下载国外的资源时,为了加快下载速度,通常会从两个方向入手。1)从国内的mirror下载。2)使用Proxy来下载。IDEA在插件安装时,是可以自定义HTTP Proxy的。在Settings 》Plugins 》install JetBrins plugin下有个Http Proxy Settings。

    大家常用的HTTP Proxy就要数影梭(ShadowSocks)了。使用ShadowSocks也可以上google的,还是推荐大家用一下的。

    2.8 插件本地方式安装

    在线安装方式不用多说,选择要安装的插件自行安装即可。如果你的机器不能联网,譬如说在公司的内网情况下,想要安装期望的插件时,就需要先下载好插件,然后选择本地方式进行安装。

    在讲本地安装方式前,先说一下IDEA安装插件的流程,以及相关目录。

    ${IDEA_HOME}/plugins 这个目录是IDEA内置插件(安装好IDEA时已安装的插件)的目录。

    ${IDEA_CONFIG_PATH}/plugins 这个目录是你自己安装的插件的目录(不论在线安装,还是本地安装)。

    ${IDEA_SYSTEM_PATH}/plugins 这个目录是你将要安装的插件的目录。

    你在线安装的插件,下载完成后,就在这个目录下,此时并没有安装。而是把要安装这个插件的这个动作写在一个action.script里(这是个二进制文件,不能直接看到内容的,也不需要看到)。在重启IDEA时会根据这个action.script里的配置(配置了要安装的插件ID,位置)来进行安装,安装完成后的插件放在${IDEA_CONFIG_PATH}/plugins目录下。重启完成后,之前下载的插件包会被清除的。

    ${IDEA_CONFIG_PATH}、${IDEA_SYSTEM_PATH} 的具体路径参见1.3节。下面以findbugs插件为例,来说明如何本地方式安装插件。

    Findbugs 插件下载页:https://plugins.jetbrains.com/plugin/3847-findbugs-idea

    1)将findbugs下载到磁盘上,下载位置无限制(本地安装方式,不需要放在${IDEA_SYSTEM_PATH}/plugins目录下)。

    2)Settings 》Plugins ,选择 install plugin from disk,然后找到下载的插件包。

    3)重启IDEA。

    插件检索:对于在线安装自不必说,本地安装插件,可以在https://plugins.jetbrains.com/进行查找。

    2.9 集成Diff、Merge 等比较工具

    相信拥有多年开发经验的你,对于Beyond Compare必定不陌生的。如果你已习惯了使用Beyond Compare作为常用的比较工具,你也是可以集成到IDEA中的。具体方法:

    切到Settings 》Tools 》Diff & Merge 》External Diff Tools:

    在Use external diff tool前打勾,设置BCompare.exe的路径。

    在Use external merge tool前打勾,设置BCompare.exe的路径。

    如果你熟悉其它diff tool 或者merger tool,也同样可以设置的。

    2.10 提高效率的快捷键

    1) 内容选择

    A)Shift + Ctrl + 向左、向右

    这组快捷键在绝大多数编辑器里都有的,IDEA,Eclipse,Word,EditPlus等。它用于根据单词来选择内容。

    B)Shift + 向上、向下

    这组快捷键在绝大多数编辑器里都有的,它用于根据单词来选择内容。

    C)Shift + Alt + 向上、向下

    与Shift + 向上、向下有不同的效果

    D)Ctrl + A 全选,几乎每个软件都支持吧

    2) 注释代码

    Ctrl + / 用于对代码加单行注释

    2.11 护眼设置

    研究表明(不知道谁研究的),RGB设置为(R:199,G:233,B:204),蓝光对眼伤害减小到最弱,我在Eclipse使用了该保护色2年时间了,已经习惯了。切到IDEA上,同样设置了。

    设置方式:

    Settings 》Editor 》 Color Scheme 》 General

    (有的版本可能在:Settings 》Editor 》 Color and Fonts》 General )

    这里的Scheme代表配色主题,Scheme选择default,编辑Text区域的Default text为 C7EDCC 或者设置RGB为(R:199,G:233,B:204)

    2.12 在Project中隐藏IDEA、Eclipse的配置文件

    在任何IDE中开发Project都会有IDE自身的配置文件,Eclipse、NetBeans都是这样,IDEA也不能例外。然而这些文件我们平时是不会编辑的,对于有代码洁癖的人可能不希望看到这些与项目无关的文件,这时不要忘了,IDEA可以将它们隐藏的。

    Settings 》Editor 》File Types,在这个页面里有一个 Ingore files and folder,用它可以做到的。

    2.13 设置Java文件的Copyright

    作为公司项目,在文件中加入copyright是必不可少的,使用它的好处也是不言而喻的。IDEA对这个也内置了支持,确实是amazing,不得不说为开发者考虑了不少。

    Settings 》 Editor 》Copyright 》Copyright Profiles,在这里你可以创建公司使用的copyright信息,并指定一个唯一name。

    然后在Settings 》 Editor 》Copyright 将default project copyright 指定为你创建的copyright。如此一来,在Settings 》 Editor 》Copyright 》 Formatting 下的那些类型的文件(Aspectj, CSS, ES6, Groovy, Java, HTML, JavaScript, JSP, JSPX, Less, Sass, Properties, TypeScript, XML)都可以根据它们各自的注释符号使用这个copyright。

    在Settings 》 Editor 》Copyright 》 Formatting 中,可以为不同类型的文件指定copyright的位置、注释格式等。

    如果要在copyright中使用变量,例如使用日期变量,可以用$today

    Apache Velocity 中的日志格式化函数$date.format('yyyy-MM-dd',${today})测试不可用。对于要展示成yyyy-MM-dd格式的日志的,可以使用下面的代码搞定:

    #set($dMonth=$today.month)
    #set($dDay=$today.day)
    #if($dMonth<10)#set($dMonth="0"+$dMonth) #end
    #if($dDay<10)#set($dDay="0"+$dDay) #end
    这样一来:yyyy-MM-dd风格的日志就可以用下面的表达式表示了:
    
    ${today.year}-${dMonth}-${dDay}

    配置完毕后,

    1)在创建相关文件时就会自动加上相关copyright的。

    2)右键相关目录、相关文件时,可以在菜单中使用update copyright命令。

    3)在菜单栏Code下,也可以使用update copyright命令。

    2.14 使用File Template来减少一些必要的工作量

    每种文件,都有其自身的格式。例如HTML、XML、pom.xml等,这些东西是必不可少的,但我们平时只关注其填充的内容。如果有一个文件模板,能够把这些格式化的内容预先配置好,这样就会为日常开发又减少不少的工作量的。具体的设置方法:

    Settings 》 Editor 》 File and Code Templates 。在该区域可以配置file 模板。

    文件模板采用的是Apache Velocity 模板语言(类似于Freemarker的)来开发的,如果对此有了解,相信设置file template并不是什么难事。

    如果对Apache Velocity没有什么了解的,可以参考IDEA官方 help手册:https://www.jetbrains.com/help/idea/creating-and-editing-file-templates.html,根据它也可以快速掌握file template的编写技巧。

    2.15 使用Live Template自定义代码模板

    在编写代码时,对于循环(for,foreach,while)等方式,SQL文件有insert。熟悉Eclipse的可能知道main可以快速打出来main方法,syso可以快速打出来输出语句。IDEA也支持这些的,但是他们变成了psvm, sout了。另外代码中最长用的当属logger了, 在写logger时通常要判定是否相关级别启用了,例如:

    // 以SLF4j写法为例:
    // 声明Logger
    private static final Logger logger = LoggerFactory.getLogger(Xxx.class);
     
    // 使用logger
    if(logger.isDebugEnabled()){
        logger.debug("xxxx");
    }

    对于这个我们完全可以利用live template来辅助生成代码。

    例如我是这样定义的logger的:

    Logger声明:

    用defl来触发logger对象的定义,代码模板如下:

    private static final Logger logger = LoggerFactory.getLogger(Xxx.class);

    使用时自己只需要替换一下类名即可。

    用li来触发info日志,代码模板如下:

    if(logger.isInfoEnabled()){
        logger.info("");
    }
    

    使用时自己只需要写相关日志既可。同理,对于不同的日志级别,都设置这样一个模板即可。

    2.16 关闭不必要的代码审查

    使用IDEA时,它能帮我们分析、检查各种文件中可能存在的问题,譬如说可能存在NPE、代码需要抽取(表现在有大量重复)等。要查看文件中有哪些问题,在编辑窗口的右侧即可看到,通常warn用黄色,error用红色。这样可以帮助我们减少代码中的Bug。

    但是我们不能对此依赖太多,也就是不能让它检查太多内容了,否则IDEA会变慢,内存不足的情况会严重影响开发效率。这其中让人最烦的是泛型检查了,在JDK7中的泛型加入了类型推断,如果你的代码里有JDK7之前的,例如List<String> arr = new ArrayList<String>();后面的尖括号中的String通常会写的,但是IDEA就给你标warn了。

    总之,我们需要将不必要的检查去掉的。具体方式:在Settings > Editor > Inspections 区域,可以根据warn的提示,来快速搜索是哪条规则报出来的,将其关闭即可。

    2.17 文件编码、换行符设置

    通常我们会将整个工作空间下的文件设置为UTF8编码、换行符设置Unix下的换行符。

    文件编码统一

    切到Settings > Editor > File Encodings 区域,将Global Encoding、Project Encoding、Properties Files 的文件编码统一为UTF8

    换行符统一

    切到Settings > Editor > Code Style 区域,将 line separator 设置为:Unix and OS X

    2.18 Tab键用4个空格替换

    有的开发团队,会要求制表符tab键用4个空格替换。设置方式:

    切到Settings > Editor > Code Style ,在其下为各种语言的文件设置tab键、缩进等。将他们的Use tab character 勾掉即可。

    2.19 打开Class,Package的模糊导入

    在使用Eclipse时,如果有类没有导入,可以通过两种方式导入类。

    1) 鼠标放上去,显示可能存在的导入列表供你选择

    2) 使用Shift + Ctrl + O 自动识别导入。

    在使用IDEA时,发现这点做得不如Eclipse好。

    1) Alt + Enter 只能用一次。

    2) 又不能自动推断。其实并不是不能,而是模糊推断的功能被关闭了。

    打开方式:切到 Settings > Editor > General > Auto Import 区域,选择 Add unambiguous imports on the fly。

    2.20 切换扁平风格与层叠风格的导航

    在IDEA的导航栏的展现风格,和Eclipse一样,支持两种风格:扁平式、层叠式。

    扁平式:包名整个平铺展现,便于使用IDEA包搜索快速检索。这种方式适合于项目结构、包名并不是很清晰的开发者。有密集恐惧症的人不适合。

    层叠式:包名以树状方式展现。这个方式适合于项目结构,包名清晰的开发者。

    切换方式:

    在package浏览器中设置,勾上Flatten Package是扁平风格,勾掉是层叠风格。

    2.21 关闭package浏览器中的 show Members

    个人认为这个是多此一举了,开启他会拖慢目录下文件展开速度的。此外,有文件Structure这个窗口,这个完全可以满足需要的。

    关闭方式:在package浏览器中设置,勾掉show Members

    2.22 编辑多个tab时展示风格

    在开发过程中,打开多个文件是很平常的。在大多数编辑器中,为了在编辑器尽可能多的展示文件内容,打开多个文件时,会隐藏一些。在IDEA中,可以选择两种风格:1)隐藏显示不下的文件,2)铺开所有的文件。这个可以根据个人喜好进行调挣。

    调整方式如下:

    切换到Settings > Editor > General > Editor tabs区域,可以看到有这样一个开关:Show tabs in single row。

    2.23 设置project | module 构建的JDK版本

    一个project中存在多个module是很常见的,有时为了需要,这些模块可能会使用多个JDK版本。如何指定呢?

    打开 File > Project Structure > Project Setting ,

    在project 区域,可以设置整个project的JDK版本:

    切到module区域,可以指定 module的JDK版本:

     

    在设置完project,module的JDK版本后(上面 只是设置了SDK,Language版本),还需要对编译器进行设置:

     2.24 自动插入serialVersionUID

     当一个类实现了Serializable接口时,我们应该为其指定serialVersionUID。在使用Eclipse时,如果一个类应该写serialVersionUID时,是会自动提示的,并且当点击相关提示时,会自动生成serialVersionUID的,但是发现IDEA并没有。

    Settings > Editor > Inspections , 把serializable class without serialVersionUID勾上即可。

    接下来在相关类上使用Alt+Enter就可以生成了。 

    2.25 Properties文件显示中文

    在java程序开发中,properties文件可以说是最常用的配置文件之一。其中一个重要的一项是作为国际化文件。

    对于国际化文件时,我们平时期望是:在文件中编写中文,自动转码。这样来避免使用native2ascii。

    但默认情况下,并不会显示为中文的。配置方式:

    Settings > Editor > File Encoding ,选中后,在配置页的最下面有:

    把Transparent native to ascii 打勾即可。

    2.26 Properties 文件里的中文设置默认大小写

    目前项目组中有一大部分人已转向使用IDEA来开发了。在对于java .properties 文件的保存处理中,Eclipse与IDEA处理不同:

    Eclipse: 会将所有的中文转为 小写
    IDEA:会将所有的中文转为 大写

    这样会导致其他人下次更新代码时,有可能出现代码冲突的问题。所以为了避免该问题的发生,需要将两者统一。Eclipse目前没有找到改变大小写的配置。

    IDEA 可以通过在 bin/idea.propertie中配置来修改。所以所有使用IDEA的同学,请做如下配置:

    # ${IDEA_HOME}/bin/idea.properties 文件中修改:
    idea.native2ascii.lowercase=true

    用了几天时间,目前遇到的问题,就这么多。欢迎大家补充,让我们的IDEA健步如飞,变成真正的编程利器。

  • 相关阅读:
    Chrome浏览器与常用插件推荐
    时间戳 转换24小时制
    fis3 开启相对地址
    web手机端禁止滑动,web手机端禁止上下滑动。
    rem的用法
    手机端复制,pc端复制
    ruby 镜像安装
    使用Potree渲染大规模点云-踩坑记录
    移动端真机调试神器-spy-debugger
    手撕Promise.any
  • 原文地址:https://www.cnblogs.com/f1194361820/p/8192941.html
Copyright © 2011-2022 走看看