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-8
,Project 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。
- Subversion 官网下载:https://subversion.apache.org/download/#recommended-release
- TortoiseSVN 官网下载:http://tortoisesvn.net/downloads.zh.html
- 如上图箭头所示,在安装 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 小旧版本会无法支持可能。
- Git 官网下载:http://git-scm.com/
- TortoiseGit 官网下载:http://download.tortoisegit.org/tgit/
如上图标注 1 所示,确定好该路径下是否有对应的可执行文件。
3、Github 的配置和使用
如上图标注 1 所示,填写你的 Github 登录账号和密码,点击 Test
可以进行测试是否可以正确连上。
- 如上图标注 1 所示,支持直接从你当前登录的 Github 账号上 Checkout 项目。
- 如上图标注 1 所示,支持把当前本地项目分享到你的 Github 账号上。
- 如上图标注 1 所示,支持创建
Gist
。Github 的 Gist 官网地址:https://gist.github.com/
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
检查代码中的TODO
。TODO
功能后面也会有章节进行讲解,这里简单介绍:这是一个记录待办事项的功能。Cleanup
清除下版本控制系统,去掉一些版本控制系统的错误信息,建议勾选。- 如上图标注 4 所示,填写提交的信息。
- 如上图标注 5 所示,
Change list
改变列表,这是一个下拉选项,说明我们可以切换不同的Change list
,提交不同的Change list
文件。- 如上图标注箭头所示,我们可以查看我们提交历史中使用的
Commit Message
,有些时候,我们做得是同一个任务,但是需要提交多次,为了更好管理项目,建议是提交的Message
是保持一致的。
- 如上图标注箭头所示,如果你使用的 Git,点击此位置可以切换分支和创建分支,以及合并、删除分支等操作。
SVN 的使用
SVN 的这个窗口有的 IntelliJ IDEA 上叫 Changes
,有的叫 Version Control
,具体是什么原因引起这样的差异,我暂时还不清楚。但是不管叫法如何里面的结构是一样的,所以对使用者来讲没多大影响,但是你需要知道他们其实是一样的功能即可。
上图 Local Changes
这个 Tab 表示当前项目的 SVN 中各个文件的总的情况预览。这里的 Default
是 IntelliJ IDEA 的默认 change list 名称,no commit
是我自己创建的一个change list,我个人有一个习惯是把一些暂时不需要提交的先放这个 list 里面。change list 很常用而且重要,本文前面也有强调过了,所以一定好认真对待。unversioned Files
表示项目中未加到版本控制系统中的文件,你可以点击 Click to browse
,会弹出一个弹出框列表显示这些未被加入的文件。
上图 Repository
这个 Tab 表示项目的 SVN 信息汇总,内容非常的详细,也是我平时用最多的地方。如果你点击这个 Tab 没看到数据,是因为你需要点击上图红圈这个刷新按钮。初次使用下默认的过滤条件不是我上图这样的,我习惯根据 User 进行过滤筛选,所以上图箭头中的 Filter 我是选择 User。选择之后,如上图标注 1 所示,显示了这个项目中参与提交的各个用户名,选择一个用户之后,上图标注 2 所以会显示出该用户提交了哪些记录。选择标注 2 区域中的某个提交记录后,标注 3 显示对应的具体提交细节,我们可以对这些文件进行右键操作,具体操作内容跟本文上面提到的那些提交时的操作按钮差不多,这里不多讲。
总的来说,SVN 这个功能用来管理和审查开发团队中人员的代码是非常好用的,所以非常非常建议你一定要学会该功能。
以上是关于IntelliJ IDEA的主要内容,如果未能解决你的问题,请参考以下文章