java编程必备技能:IDEA的 安装及设置调整
合适的编程工具能极大的帮助个人完成工作。将软件调配合适成自己适合的软件尤其是契合自己的编程方式和行为习惯尤为重要本篇文章主要讲述IDEA的相关设置及安装。备注本篇文章为以前个人学习笔记如出现版本问题可以搜索最新的相关文章解决相关问题。目录本篇文章为以前个人学习笔记如出现版本问题可以搜索最新的相关文章解决相关问题。本章专题与脉络1. 认识IntelliJ IDEA1.1 JetBrains 公司介绍1.2 IntelliJ IDEA 介绍1.3 IDEA的主要优势(vs Eclipse)1.4 IDEA 的下载2. 卸载与安装2.1 卸载过程2.2 安装前的准备2.3 安装过程2.4 注册2.5 闪退问题3. HelloWorld的实现3.1 新建Project - Class3.2 编写代码3.3 运行4. JDK相关设置4.1 项目的JDK设置4.2 out目录和编译版本5. 详细设置5.1 如何打开详细配置界面5.2 系统设置1、默认启动项目配置2、取消自动更新5.3 设置整体主题1、选择主题2、设置菜单和窗口字体和大小3、设置IDEA背景图5.4 设置编辑器主题样式1、编辑器主题2、字体大小3、注释的字体颜色5.5 显示行号与方法分隔符5.6 代码智能提示功能5.7 自动导包配置5.8 设置项目文件编码一定要改5.9 设置控制台的字符编码5.10 修改类头的文档注释信息5.11 设置自动编译5.12 设置为省电模式 (可忽略)5.13 取消双击shift搜索6. 工程与模块管理6.1 IDEA项目结构6.2 Project和Module的概念6.3 Module和Package6.4 创建Module6.5 删除模块6.6 导入老师的模块6.7 同时打开两个IDEA项目工程1、两个IDEA项目工程效果2、新建一个IDEA项目3、打开两个IDEA项目6.8 导入前几章非IDEA工程代码7. 代码模板的使用7.1 查看Postfix Completion模板(后缀补全)7.2 查看Live Templates模板(实时模板)7.3 常用代码模板1、非空判断2、遍历数组和集合3、输出语句4、对象操作5、静态常量声明7.4 自定义代码模板7.4.1 自定义后缀补全模板7.4.2 自定义Live Templates本章专题与脉络1. 认识IntelliJ IDEA1.1 JetBrains 公司介绍IDEA是 JetBrains (https://www.jetbrains.com/)公司的产品该公司成立于2000年总部位于捷克的布拉格致力于为开发者打造最高效智能的开发工具。公司旗下还有其它产品比如WebStorm用于开发 JavaScript、HTML5、CSS3 等前端技术PyCharm用于开发 pythonPhpStorm用于开发 PHPRubyMine用于开发 Ruby/RailsAppCode用于开发 Objective - C/SwiftCLion用于开发 C/CDataGrip用于开发数据库和 SQLRider用于开发.NETGoLand用于开发 Go用于开发 Android的Android Studio也是Google 基于 IDEA 社区版进行迭代的。1.2 IntelliJ IDEA 介绍IDEA全称IntelliJ IDEA是 Java 语言的集成开发环境目前已经基本代替了Eclipse的使用。IDEA 在业界被公认为是最好的 Java 开发工具之一因其功能强悍、设置人性化而深受Java、大数据、移动端程序员的喜爱。IntelliJ IDEA 在 2015 年的官网上这样介绍自己Excel at enterprise, mobile and web development with Java, Scala and Groovy,with all the latest modern technologies and frameworks available out of thebox.1.3 IDEA的主要优势(vs Eclipse)功能强大① 强大的整合能力。比如Git、Maven、Spring等② 开箱即用的体验集成版本控制系统、多语言支持的框架随时可用无需额外安装插件符合人体工程学① 高度智能快速的智能代码补全、实时代码分析、可靠的重构工具② 提示功能的快速、便捷、范围广③ 好用的快捷键和代码模板④ 精准搜索1.4 IDEA 的下载下载网址 https://www.jetbrains.com/idea/download/#sectionwindowsIDEA 分为两个版本旗舰版(Ultimate)和社区版(Community)。IDEA的大版本每年迭代一次大版本下的小版本如2022.x迭代时间不固定一般每年3个小版本。两个不同版本的详细对比可以参照官网 https://www.jetbrains.com/idea/features/editions_comparison_matrix.html官网提供的详细使用文档 https://www.jetbrains.com/help/idea/meet-intellij-idea.html2. 卸载与安装2.1 卸载过程这里以卸载2022.1.2版本为例说明。在【控制面板】找到【卸载程序】右键点击或左键双击IntelliJ IDEA 2022.1.2进行卸载如果需要保留下述数据就不要打√。如果想彻底删除IDEA所有数据那就打上√。软件卸载完以后还需要删除其它几个位置的残留2.2 安装前的准备64 位 Microsoft Windows 11、10、8最低 2 GB 可用 RAM推荐 8 GB 系统总 RAM2.5 GB 硬盘空间推荐 SSD最低屏幕分辨率 1024x768从安装上来看IntelliJ IDEA 对硬件的要求似乎不是很高。可是在实际开发中并不是这样的因为 IntelliJ IDEA 执行时会有大量的缓存、索引文件所以如果你正在使用 Eclipse / MyEclipse想通过 IntelliJ IDEA 来解决计算机的卡、慢等问题这基本上是不可能的本质上你应该对自己的硬件设备进行升级。2.3 安装过程1、下载完安装包双击直接安装2、欢迎安装3、是否删除电脑上低版本的IDEA如果有可以选择忽略如果电脑上有低版本的IDEA可以选择删除或保留。这里没有卸载旧版本如果需要卸载记得勾选下面的保留旧的设置和配置。4、选择安装目录选择安装目录目录中要避免中文和空格。5、创建桌面快捷图标等确认是否与.java、.groovy、.kt 格式文件进行关联。这里建议不关联。6、在【开始】菜单新建一个文件夹这里需要确认文件夹的名称来管理IDEA的相关内容。7、完成安装重启以后单击登录2.4 注册首先需要通过用户协议是否同意发送用户数据特性、使用的插件、硬件与软件配置等建议选择不发送。接着会提示我们进行注册。选择1试用30天。在IDEA2022.1.2版本中需要先登录才能开启试用。选择2付费购买旗舰版选择3推荐大家参照《.\03-资料\01-IDEA 2022.1 注册文档\IntelliJ IDEA2022.1注册文档.docx》操作即可。由于存在时效性如果失效大家可以自行搜索注册方式即可。2.5 闪退问题问题描述2022.1启动不了双击桌面图标没有响应。解决办法打开C:\Users\songhk\AppData\Roaming\JetBrains\IntelliJIdea2022.1\idea64.exe.vmoptions这个文件。内容如下所示删除红框的数据以后再登录即可正常进入。原因之前使用过的比如2021.2.2版本pojie了。新版IEDA太智能了把现有的启运参数也都复制过去了。又因为最新的IDEA不兼容pojie程序-javaagent:D:\develop_tools\IDEA\IntelliJ IDEA 2021.2.2\bin\jetbrains-agent.jar了所以报错了所以JVM结束了所以没有启动画面凉凉了。3. HelloWorld的实现3.1 新建Project - Class选择New Project指名工程名、使用的JDK版本等信息。如下所示接着创建Java类3.2 编写代码public class HelloWorld { public static void main(String[] args) { System.out.println(Hello,World!); } }3.3 运行4. JDK相关设置4.1 项目的JDK设置File--Project Structure...--Platform Settings --SDKs注1SDKs全称是Software Development Kit 这里一定是选择JDK的安装根目录不是JRE的目录。注2这里还可以从本地添加多个JDK。使用“”即可实现。4.2 out目录和编译版本File--Project Structure...--Project Settings --Project5. 详细设置5.1 如何打开详细配置界面1、显示工具栏2、选择详细配置菜单或按钮5.2 系统设置1、默认启动项目配置启动IDEA时默认自动打开上次开发的项目还是自己选择如果去掉Reopen projects on startup前面的对勾每次启动IDEA就会出现如下界面2、取消自动更新Settings--Appearance Behavior-System Settings - Updates默认都打√了建议检查IDE更新的√去掉检查插件更新的√选上。5.3 设置整体主题1、选择主题2、设置菜单和窗口字体和大小3、设置IDEA背景图选择一张合适的图片作为背景即可。5.4 设置编辑器主题样式1、编辑器主题2、字体大小更详细的字体与颜色如下温馨提示如果选择某个font字体中文乱码可以在fallback font备选字体中选择一个支持中文的字体。3、注释的字体颜色Block comment修改多行注释的字体颜色Doc Comment – Text修改文档注释的字体颜色Line comment修改单行注释的字体颜色5.5 显示行号与方法分隔符5.6 代码智能提示功能IntelliJ IDEA 的代码提示和补充功能有一个特性区分大小写。 如果想不区分大小写的话就把这个对勾去掉。建议去掉勾选。5.7 自动导包配置默认需要自己手动导包AltEnter快捷键自动导包设置动态导入明确的包Add unambiguous imports on the fly该设置具有全局性优化动态导入的包Optimize imports on the fly该设置只对当前项目有效5.8 设置项目文件编码一定要改说明 Transparent native-to-ascii conversion主要用于转换ascii显式原生内容。一般都要勾选。5.9 设置控制台的字符编码5.10 修改类头的文档注释信息比如/** * ClassName: ${NAME} * Package: ${PACKAGE_NAME} * Description: 测试 * Author student * Create ${DATE} ${TIME} * Version 1.0 */常用的预设的变量这里直接贴出官网给的${PACKAGE_NAME} - the name of the target package where the new class or interface will be created. ${PROJECT_NAME} - the name of the current project. ${FILE_NAME} - the name of the PHP file that will be created. ${NAME} - the name of the new file which you specify in the New File dialog box during the file creation. ${USER} - the login name of the current user. ${DATE} - the current system date. ${TIME} - the current system time. ${YEAR} - the current year. ${MONTH} - the current month. ${DAY} - the current day of the month. ${HOUR} - the current hour. ${MINUTE} - the current minute. ${PRODUCT_NAME} - the name of the IDE in which the file will be created. ${MONTH_NAME_SHORT} - the first 3 letters of the month name. Example: Jan, Feb, etc. ${MONTH_NAME_FULL} - full name of a month. Example: January, February, etc. ​5.11 设置自动编译Settings--Build,Execution,Deployment--Compiler5.12 设置为省电模式 (可忽略)IntelliJ IDEA 有一种叫做省电模式的状态开启这种模式之后 IntelliJ IDEA 会关掉代码检查和代码提示等功能。所以一般也可认为这是一种阅读模式如果你在开发过程中遇到突然代码文件不能进行检查和提示可以来看看这里是否有开启该功能。5.13 取消双击shift搜索因为我们按shift切换中英文输入方式经常被按到总是弹出搜索框太麻烦了。可以取消它。方式1适用于IDEA 2022.1.2版本在2022.1版本中采用如下方式消双击shift出现搜索框搜索double即可勾选Disable double modifier key shortcuts禁用这个选项。方式2适用于IDEA 2022.1.2之前版本双击shift 或 ctrl shift a打开如下搜索窗口选择registry...找到ide.suppress.double.click.handler把复选框打上勾就可以取消双击shift出现搜索框了。6. 工程与模块管理6.1 IDEA项目结构层级关系project(工程) - module(模块) - package(包) - class(类)具体的一个project中可以创建多个module ​ 一个module中可以创建多个package ​ 一个package中可以创建多个class这些结构的划分是为了方便管理功能代码。6.2 Project和Module的概念在 IntelliJ IDEA 中提出了Project和Module这两个概念。在 IntelliJ IDEA 中Project是最顶级的结构单元然后就是Module。目前主流的大型项目结构基本都是多Module的结构这类项目一般是按功能划分的比如user-core-module、user-facade-module和user-hessian-module等等模块之间彼此可以相互依赖有着不可分割的业务关系。因此对于一个Project来说当为单Module项目的时候这个单独的Module实际上就是一个Project。当为多Module项目的时候多个模块处于同一个Project之中此时彼此之间具有互相依赖的关联关系。当然多个模块没有建立依赖关系的话也可以作为单独一个“小项目”运行。6.3 Module和Package在一个module下可以声明多个包package一般命名规范如下1.不要有中文 2.不要以数字开头 3.给包取名时一般都是公司域名倒着写,而且都是小写 比如尚硅谷网址是www.atguigu.com 那么我们的package包名应该写成com.atguigu.子名字。6.4 创建Module建议创建“Empty空工程”然后创建多模块每一个模块可以独立运行相当于一个小项目。JavaSE阶段不涉及到模块之间的依赖。后期再学习模块之间的依赖。步骤1选择创建模块2选择模块类型这里选择创建Java模块给模块命名确定存放位置4模块声明在工程下面6.5 删除模块1移除模块2彻底删除模块6.6 导入老师的模块1将老师的模块teacher_chapter04整个的复制到自己IDEA项目的路径下接着打开自己IDEA的项目会在项目目录下看到拷贝过来的module只不过不是以模块的方式呈现。2查看Project Structure选择import module3选择要导入的module4接着可以一路Next下去最后选择Overwrite最后点击OK即可了。6.7 同时打开两个IDEA项目工程1、两个IDEA项目工程效果有些同学想要把上课练习代码和作业代码分开两个IDEA项目工程。2、新建一个IDEA项目注意第一次需要新建之后直接打开项目工程即可3、打开两个IDEA项目6.8 导入前几章非IDEA工程代码1、创建chapter01、chapter02、chapter03等章节的module将相应章节的源文件粘贴到module的src下。打开其中各个源文件会发现有乱码。比如2、设置编码当前项目是UTF-8。如果原来的.java文件都是GBK的如果原来.java文件有的是GBK有的是UTF-8就比较麻烦了。可以单独把这两个模块设置为GBK编码的。改为GBK确认即可。如图7. 代码模板的使用7.1 查看Postfix Completion模板(后缀补全)7.2 查看Live Templates模板(实时模板)7.3 常用代码模板1、非空判断变量.nullif(变量 null)变量.nnif(变量 ! null)变量.notnullif(变量 ! null)ifnif(xx null)innif(xx ! null)2、遍历数组和集合数组或集合变量.forifor循环数组或集合变量.for增强for循环数组或集合变量.forr反向for循环数组或集合变量.iter增强for循环遍历数组或集合3、输出语句sout相当于System.out.printlnsoutm打印当前方法的名称soutp打印当前方法的形参及形参对应的实参值soutv打印方法中声明的最近的变量的值变量.sout打印当前变量值变量.soutv打印当前变量名及变量值4、对象操作创建对象Xxx.new .var 创建Xxx类的对象并赋给相应的变量Xxx.new .field会将方法内刚创建的Xxx对象抽取为一个属性强转对象.cast将对象进行强转对象.castvar将对象强转后并赋给一个变量5、静态常量声明psfpublic static finalpsfipublic static final intpsfspublic static final Stringprsfprivate static final7.4 自定义代码模板7.4.1 自定义后缀补全模板7.4.2 自定义Live Templates例如定义sop代表System.out.print();语句①在Live Templates中增加模板②先定义一个模板的组这样方便管理所有自定义的代码模板③在模板组里新建模板④定义模板以输出语句为例Abbreviation模板的缩略名称Description模板的描述Template text模板的代码片段模板应用范围。比如点击Define。选择如下应用在java代码中。其它模板1单元测试模板Test public void test$var1$(){ $var2$ }其它模板2创建多线程new Thread(){ public void run(){ $var$ } };其它模板3冒泡排序for(int $INDEX$ 1; $INDEX$ $ARRAY$.length; $INDEX$) { for(int $INDEX2$ 0; $INDEX2$ $ARRAY$.length-$INDEX$; $INDEX2$) { if($ARRAY$[$INDEX2$] $ARRAY$[$INDEX2$1]){ $ELEMENT_TYPE$ temp $ARRAY$[$INDEX2$]; $ARRAY$[$INDEX2$] $ARRAY$[$INDEX2$1]; $ARRAY$[$INDEX2$1] temp; } } }