IntelliJ IDEA

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IntelliJ IDEA相关的知识,希望对你有一定的参考价值。

 一、修改Idea的配置文件路径:

(安装的时候配置文件默认在用户目录下),随着时间的流逝,占用内存会越来越大,因此修改这个文件的路径是有必要的,下面是修改路径的方法:

技术分享

进入bin目录下 的idea.properties里面:

技术分享

用记事本打开即可,修改下面四个路径:

技术分享

重启IntelliJ IDEA!

二、安装目录介绍:

技术分享

  • idea.exe 文件是 IntelliJ IDEA 32 位的可行执行文件,IntelliJ IDEA 安装完默认发送到桌面的也就是这个执行文件的快捷方式。
  • idea.exe.vmoptions 文件是 IntelliJ IDEA 32 位的可执行文件的 VM 配置文件,具体配置修改会下面进行专门讲解。
  • idea64.exe 文件是 IntelliJ IDEA 64 位的可行执行文件,要求必须电脑上装有 JDK 64 位版本。64 位的系统也是建议使用该文件。
  • idea64.exe.vmoptions 文件是 IntelliJ IDEA 64 位的可执行文件的 VM 配置文件,具体配置修改会下面进行专门讲解。
  • idea.properties 文件是 IntelliJ IDEA 的一些属性配置文件,具体配置修改会下面进行专门讲解。

技术分享

  • config 目录是 IntelliJ IDEA 个性化化配置目录,或者说是整个 IDE 设置目录。也是我个人认为最重要的目录,没有之一,如果你还记得安装篇的介绍的时候,安装新版本的 IntelliJ IDEA 会自动扫描硬盘上的旧配置目录,指的就是该目录。这个目录主要记录了:IDE 主要配置功能、自定义的代码模板、自定义的文件模板、自定义的快捷键、Project 的 tasks 记录等等个性化的设置。
  • system 目录是 IntelliJ IDEA 系统文件目录,是 IntelliJ IDEA 与开发项目一个桥梁目录,里面主要有:缓存、索引、容器文件输出等等,虽然不是最重要目录,但是也是最不可或缺目录之一

技术分享

建议 8G 以下的机子或是静态页面开发者都是无需修改的。如果你是开发大型项目、Java 项目或是 android 项目,并且内存大于 8G,建议进行修改,常修改的就是下面 4 个参数,每个人机子情况不一,这里也只是做一个引子,最好的调整方式是你可以根据 jconsole 这类工具进行观察后个性化调整。

  • -Xms128m,16 G 内存的机器可尝试设置为 -Xms512m
  • -Xmx512m,16 G 内存的机器可尝试设置为 -Xmx1500m
  • -XX:MaxPermSize=250m,16G 内存的机器可尝试设置为 -XX:MaxPermSize=500m
  • -XX:ReservedCodeCacheSize=240m,16G 内存的机器可尝试设置为 -XX:ReservedCodeCacheSize=500m

三、界面介绍:

技术分享

  • 重点说明: IntelliJ IDEA 是没有类似 Eclipse 的工作空间的概念(Workspaces ),最大单元就是 Project。如果你同时观察多个项目的情况,IntelliJ IDEA 提供的解决方案是打开多个项目实例,你可以理解为开多个项目窗口。
  • 命令 Create New Project 创建一个新项目。
  • 命令 Import Project 导入一个已有项目。
  • 命令 Open 打开一个已有项目,可以直接打开 Eclipse 项目,但是由于两者 IDE 下的项目配置不一样,所以项目还是需要配置的。
  • 命令 Check out from Version Control 可以通过服务器上的项目地址 Checkout Github 上面项目或是其他 Git 托管服务器上的项目。

四、Hello World  java项目创建

技术分享

技术分享

  • Command Line App 会自动创建一个带有 main 方法的类。
  • 我们这里不勾选使用模板,而是手工创建,所以我们点击Next,进入下一步。

技术分享

IntelliJ IDEA 的项目格式文件主要提供两种方式

  • .idea (directory based) 创建项目的时候自动创建一个 .idea 的项目配置目录来保存项目的配置信息。这是默认选项。
  • .ipr (file based) 创建项目的时候自动创建一个 .ipr 的项目配置文件来保存项目的配置信息。
  • 需要特别注意的是,我这边默认创建的项目编码是 GBK,而如果你需要 UTF-8 的话,修改编码的方式请看后面讲解。

技术分享

  • src 目录为蓝色表示 Source root,我们可以再此目录下创建包和类。
  • 由于该项目使用的是 JDK1.8,所以项目是基于 JDK1.8,我们可以调用 JDK 1.8 中的类。

技术分享

  • 在 src 目录右键,选择 New 创建包目录。

技术分享

效果如下,包展开:

技术分享

包下家里一个HelloWorld类:

技术分享

编写一个简单的输出程序:

技术分享

运行程序,打印输出HelloWorld!

技术分享

五、IntelliJ IDEA 主题、字体、编辑区主题、文件编码修改

1、主题

技术分享

2、字体

技术分享

  • IntelliJ IDEA 主题字体的修改要先勾选 Override default fonts by 。默认 IntelliJ IDEA 是不推荐修改的,但是由于字体是有分包含中文和不包含中文之分的,一般使用英文的国家是不需要额外担心乱码问题的,而我们需要。
  • 字体的审美上每个人不一样,但是如上一段说的,这里的字体修改是需要知道一个前提的,那就是你选择的那个字体必须含有中文,比如微软雅黑和宋体这类是包含中文的,而 Courier New 和 Monaco 这类只是单纯的英文字体。
  • 如果你选择的字体不包含中文,那可能会在很多位置上出现类似 口口口口口 这样的乱码问题,比如文件名含有中文、字体是中文名字的都会变成 口口口口口
  • 在修改 IntelliJ IDEA 的主题字体的时候,不建议把字体调成很大,因为很多人遇到这样一种情况:显示器分辨率低,主题字体又大,在 IntelliJ IDEA 的某些操作的工具菜单、右键菜单选项中部分选项超出了分辨率显示范围,没办法被选中。当然了,如果你一定要把字体改大,又不用大分辨率显示器,那可以通过 IntelliJ IDEA 的 Menus and Toolbars删除部分你认为用不到的菜单,但是一般不建议这样做。
  • 还需要特别注意的时候,如果你是开着 IntelliJ IDEA 的时候,新装了一个字体的话,那必须重启IntelliJ IDEA 之后才能在下拉列表找到新装的字体。

六、文件编码修改

技术分享

  • 上图标注 1 所示,IDE 的编码默认是 UTF-8Project Encoding 虽然默认是 GBK,但是一般我都建议修改为UTF-8
  • 上图标注 2 所示,IntelliJ IDEA 可以对 Properties 文件进行专门的编码设置,一般也建议改为 UTF-8,其中有一个重点就是属性 Transparent native-to-ascii conversion
  • 上图标注 3 所示,对于 Properties 文件,重要属性 Transparent native-to-ascii conversion 主要用于转换ascii,一般都要勾选,不然 Properties 文件中的注释显示的都不会是中文。
  • 上图标注 4 所示,IntelliJ IDEA 除了支持对整个 Project 设置编码之外,还支持对目录、文件进行编码设置。如果你要对目录进行编码设置的话,可能会出现需要 Convert 编码的弹出操作选择,强烈建议 在转换之前做好文件备份,不然可能出现转换过程变成乱码,无法还原。

七、一张图让你领会Eclipse和IntelliJ IDEA的区别

技术分享

八、SDK(Software Development Kit) 介绍

技术分享

技术分享

 

  • 按 Ctrl + Shift + Alt + S 弹出项目结构设置区,如上图所示。
  • 如上图 所示,IntelliJ IDEA (社区版)支持 3种 SDK(旗舰版支持6种)。最常用的就是 JDK 和 Android SDK,其中在创建 Android SDK 的时候如果你没有先配置一个 JDK 的话,IntelliJ IDEA 则会提示你要先配置一个 JDK,然后才能配置 Android SDK
  • 如上图 所示,下拉会展示已经创建的所有 SDK,可以很方便地不同 SDK 中切换。在开发 Java 项目过程中,由于 IntelliJ IDEA 支持管理多个 JDK,所以你完全不用担心你系统上不同项目需要不同 JDK

 九、版本控制

技术分享

  • 很多人认为 IntelliJ IDEA 自带了 SVN 或是 Git 等版本控制工具,认为只要安装了 IntelliJ IDEA 就可以完全使用版本控制应有的功能。这完全是一种错误的解读,IntelliJ IDEA 是自带对这些版本控制工具的支持插件,但是该装什么版本控制客户端还是要照样装的。
  • 如上图 所示,IntelliJ IDEA 对版本控制的支持是以插件化的方式来实现的。旗舰版默认支持目前主流的版本控制软件:CVS、Subversion(SVN)、Git、Mercurial。又因为目前太多人使用 Github 进行协同或是项目版本管理,所以 IntelliJ IDEA 同时自带了 Github 插件,方便 Checkout 和管理你的 Github 项目。

1、SVN 的配置

要在 IntelliJ IDEA 中使用 SVN,需要先安装 SVN 客户端或是 TortoiseSVN 这类图形化工具,Windows 系统这里推荐安装 TortoiseSVN,即使在不使用 IntelliJ IDEA 也可以方便管理我们的项目。

SVN 主要使用的版本有 1.6、1.7、1.8,最新的是 1.9。推荐大家使用 1.8 的。如果你的项目使用的是 1.6 的版本,在安装 1.8 之后是可以直接对项目文件进行升级的,所以无需担心,也因此更加推荐大家使用 1.8。

                                                                     技术分享

  • 如上图箭头所示,在安装 TortoiseSVN 的时候,默认 command line client tools,是不安装的,这里建议勾选上。

技术分享

  • 如上图标注 1 所示,勾选 Use command line client
  • 如上图标注 2 所示,建议 svn 的路径自己根据安装后的路径进行选择,不然有时候 IntelliJ IDEA 无法识别到会报:Cannot run program "svn" 这类错误。
  • 如上图标注 3 所示,当使用一段时间 SVN 以后,发现各种 SVN 相关问题无法解决,可以考虑点击此按钮进行清除一下缓存。

 

2、Git 的配置

要在 IntelliJ IDEA 中使用 Git,需要先安装 Git 客户端,这里推荐安装官网版本。

Git 主要的版本有 1.X、2.X,最新的是 2.X,使用版本随意,但是不要太新了,不然可能 IntelliJ IDEA 小旧版本会无法支持可能。

技术分享

如上图标注 1 所示,确定好该路径下是否有对应的可执行文件。

3、Github 的配置和使用

技术分享

如上图标注 1 所示,填写你的 Github 登录账号和密码,点击 Test 可以进行测试是否可以正确连上。技术分享

  • 如上图标注 1 所示,支持直接从你当前登录的 Github 账号上 Checkout 项目。

技术分享

  • 如上图标注 1 所示,支持把当前本地项目分享到你的 Github 账号上。

技术分享

4、版本控制主要操作按钮

技术分享
  • 如上图标注 1 所示,对目录进行右键弹出的菜单选项。
技术分享
  • 如上图标注 1 所示,对文件进行右键弹出的菜单选项。
技术分享
  • 如上图标注红圈所示,为工具栏上版本控制操作按钮,基本上大家也都是使用这里进行操作。
  • 第一个按钮:Update Project 更新项目。
  • 第二个按钮:Commit changes 提交项目上所有变化文件。点击这个按钮不会立马提交所有文件,而是先弹出一个被修改文件的一个汇总框,具体操作下面会有图片进行专门介绍。
  • 第三个按钮:Compare with the Same Repository Version 当前文件与服务器上该文件通版本的内容进行比较。如果当前编辑的文件没有修改,则是灰色不可点击。
  • 第四个按钮:Show history 显示当前文件的历史记录。
  • 第五个按钮:Revert 还原当前被修改的文件到违背修改的版本状态下。如果当前编辑的文件没有修改,则是灰色不可点击。
技术分享
  • 如上图标注 1 所示,菜单栏上的版本控制操作区。

版本控制相关的常用设置说明

技术分享
  • 如上图标注 1 所示,当前项目使用的版本控制是 Git。如果你不愿意这个项目继续使用版本控制可以点击旁边的减号按钮,如果你要切换版本控制,可以点击 Git,会出现 IntelliJ IDEA 支持的各种版本控制选择列表,但是我们一般情况下一个项目不会有多个版本控制的。
  • 如上图标注 2 所示,Show directories with changed descendants 表示子目录有文件被修改了,则该文件的所有上层目录都显示版本控制被概念的颜色。默认是不勾选的,我一般建议勾选此功能。
技术分享
  • 如上图标注 1 所示,When files are created 表示当有新文件放进项目中的时候 IntelliJ IDEA 做如何处理,默认是Show options before adding to version control 表示弹出提示选项,让开发者决定这些新文件是加入到版本控制中还是不加入。如果不想弹出提示,则选择下面两个选项进行默认操作。
  • 如上图标注 2 所示,When files are deleted 表示当有新文件在项目中被删除的时候 IntelliJ IDEA 做如何处理,默认是 Show options before removing from version control 表示弹出提示选项,让开发者决定这些被删除的是否从版本控制中删除。如果不想弹出提示,则选择下面两个选项进行默认操作。
技术分享
  • 如上图标注 1 所示,对于不想加入到版本控制的文件,可以添加要此忽略的列表中。但是如果已经加入到版本控制的文件使用此功能,则表示该文件 或 目录无法再使用版本控制相关的操作,比如提交、更新等。我个人使用过程中发现在 SVN 上此功能不太好用,Git 上是可以用的。
技术分享
  • 上图所示的弹出层就是本文上面说的 Commit Changes 点击后弹出的变动文件汇总弹出层。
  • 如上图标注 1 所示,可以在文件上右键进行操作。
  • Show Diff 当前文件与服务器上该文件通版本的内容进行比较。
  • Move to Another Changelist 将选中的文件转移到其他的 Change list 中。Change list 是一个重要的概念,这里需要进行重点说明。很多时候,我们开发一个项目同时并发的任务可能有很多,每个任务涉及到的文件可能都是基于业务来讲的。所以就会存在一个这样的情况:我改了 30 个文件,其中 15 个文件是属于订单问题,剩下 15 个是会员问题,那我希望提交代码的时候是根据业务区分这些文件的,这样我填写 Commit Message 是好描述的,同时在文件多的情况下,我也好区分这些要提交的文件业务模块。所以我一般会把属于订单的 15 个文件转移到其他的 Change list中,先把专注点集中在 15 个会员问题的文件,先提交会员问题的 Change list,然后在提交订单会员的 Change list。我个人还有一种用法是把一些文件暂时不提交的文件转移到一个我指定的Change list,等后面我觉得有必要提交了,再做提交操作,这样这些文件就不会干扰我当前修改的文件提交。总结下 Change list 的功能就是为了让你更好地管理你的版本控制文件,让你的专注点得到更好的集中,从而提供效率。
  • Jump to Source 打开并跳转到被选中。
  • 如上图标注 2 所示,可以根据工具栏按钮进行操作,操作的对象会鼠标选中的文件,多选可以按 Ctrl 后不放,需要注意的是这个更前面的复选框是没有多大关系的。
  • 如上图标注 3 所示,可以在提交前自动对被提交的文件进行一些操作事件(该项目使用的 Git,使用其他版本控制可能有些按钮有差异。):
  • Reformat code 格式化代码,如果是 Web 开发建议不要勾选,因为格式化 JSP 类文件,格式化效果不好。如果都是 Java 类则可以安心格式化。
  • Rearrange code 重新编排代码,IntelliJ IDEA 支持各种复杂的编排设置选项,这个会在后面说。设置好了编码功能之后,这里就可以尝试勾选这个进行自动编排。
  • Optimize imports 优化导入包,会在自动去掉没有使用的包。这个建议都勾选,这个只对 Java 类有作用,所以不用担心有副作用。
  • Perform code analysis 进行代码分析,这个建议不用在提交的时候处理,而是在开发完之后,要专门养成对代码进行分析的习惯。IntelliJ IDEA 集成了代码分析功能。
  • Check TODO 检查代码中的 TODOTODO 功能后面也会有章节进行讲解,这里简单介绍:这是一个记录待办事项的功能。
  • Cleanup 清除下版本控制系统,去掉一些版本控制系统的错误信息,建议勾选。
  • 如上图标注 4 所示,填写提交的信息。
  • 如上图标注 5 所示,Change list 改变列表,这是一个下拉选项,说明我们可以切换不同的 Change list,提交不同的 Change list 文件。
  • 如上图标注箭头所示,我们可以查看我们提交历史中使用的 Commit Message,有些时候,我们做得是同一个任务,但是需要提交多次,为了更好管理项目,建议是提交的 Message 是保持一致的。
技术分享
  • 如上图标注箭头所示,如果你使用的 Git,点击此位置可以切换分支和创建分支,以及合并、删除分支等操作。

SVN 的使用

SVN 的这个窗口有的 IntelliJ IDEA 上叫 Changes,有的叫 Version Control,具体是什么原因引起这样的差异,我暂时还不清楚。但是不管叫法如何里面的结构是一样的,所以对使用者来讲没多大影响,但是你需要知道他们其实是一样的功能即可。

技术分享

SVN 的使用

上图 Local Changes 这个 Tab 表示当前项目的 SVN 中各个文件的总的情况预览。这里的 Default 是 IntelliJ IDEA 的默认 change list 名称,no commit 是我自己创建的一个change list,我个人有一个习惯是把一些暂时不需要提交的先放这个 list 里面。change list 很常用而且重要,本文前面也有强调过了,所以一定好认真对待。unversioned Files 表示项目中未加到版本控制系统中的文件,你可以点击 Click to browse,会弹出一个弹出框列表显示这些未被加入的文件。

技术分享

SVN 的使用

上图 Repository 这个 Tab 表示项目的 SVN 信息汇总,内容非常的详细,也是我平时用最多的地方。如果你点击这个 Tab 没看到数据,是因为你需要点击上图红圈这个刷新按钮。初次使用下默认的过滤条件不是我上图这样的,我习惯根据 User 进行过滤筛选,所以上图箭头中的 Filter 我是选择 User。选择之后,如上图标注 1 所示,显示了这个项目中参与提交的各个用户名,选择一个用户之后,上图标注 2 所以会显示出该用户提交了哪些记录。选择标注 2 区域中的某个提交记录后,标注 3 显示对应的具体提交细节,我们可以对这些文件进行右键操作,具体操作内容跟本文上面提到的那些提交时的操作按钮差不多,这里不多讲。

总的来说,SVN 这个功能用来管理和审查开发团队中人员的代码是非常好用的,所以非常非常建议你一定要学会该功能。

以上是关于IntelliJ IDEA的主要内容,如果未能解决你的问题,请参考以下文章

IntelliJ IDEA 13 SQL 语句高亮

intellij idea蓝屏重启后,代码异常加载,到处报错解决方法

intellij idea的jrebel过期了怎么办

怎么让 intellij idea 代码自动补全

IntelliJ IDEA怎么整理代码格式

intellij idea中可以选择多行吗