idea入门

一 介绍

Eclipse与Intellij IDEA哪个好?很多人支持idea,在昨日我的eclipse崩溃之后,我决定尝试下idea,发现还行吧。。

二 IDEA配置

2.1 安装

idea自带jre1.8以支持idea运行,但是我们安装idea之前还是需要安装JDK用以开发,JDK要配置好环境变量。

idea分为旗舰版和社区版,虽说前者收费但对于学生来说还是免费的。因此,首先在idea官网上注册个账号(随便个邮箱),然后用学生邮箱认证。安装idea旗舰版时便可以登录该账号免费使用。如果不是学生,则参考网上破解教程。

安装后可以选择UI主题和禁用不用的插件,将用不到的插件禁用可以加快idea体验(不用担心,以后仍然可以设置回来):
在这里插入图片描述
在这里插入图片描述
最后会进入该界面,在这个界面可以进行全局配置
在这里插入图片描述

2.2 配置Maven

idea自带maven,但不是最新版本,也不好配置它,因此最好自己配置一个。

首先在官网上下载最新版本,然后解压。不用设置环境变量,可直接在idea中配置:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Maven的Runner界面可以选择Maven构建项目使用的JRE,默认使用项目JDK,因此不用设置。

在使用maven时,右键项目->maven-reimport可将maven配置(如JDK编译版本)反应到idea中。

配置maven使用阿里云仓库,加快下载速度,找到maven配置文件setting.xml, 在mirrors元素下添加:

<mirror>
    <id>nexus-aliyun</id>
    <mirrorOf>*</mirrorOf>	
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

2.3 配置tomcat

下载最新版tomcat9.0,不用配置环境变量,可直接在idea中配置。同样在全局配置的setting中配置:
在这里插入图片描述

2.4 解决乱码

乱码是由于不同地方编码不同意造成的,解决乱码的思路是整个项目中哪里用到编码,就设置哪里的编码,如:

  • 运行idea用到了jvm,需要设置编码;
  • maven用于构建项目,需要设置编码,但在pom.xml中设置;
  • idea中Build,Execution,Deployment中还有Compiler,需要设置吗?我认为不用,因为项目的编译、构建已经交给了maven
  • 项目文件的编码设置。
  • tomcat运行项目,需要设置编码。

下面就根据这个思路来解决idea中乱码的现象:

首先,打开全局配置Edit Custom VM Options,在最后添加一行-Dfile.encoding=UTF-8,配置运行idea的jvm的参数:
在这里插入图片描述

统一项目中文件的编码,打开全局配置setting:
在这里插入图片描述

配置tomcat运行配置,填入-Dfile.encoding=UTF-8
在这里插入图片描述
其他的乱码问题就是代码问题了,极力推荐博客:IntelliJ IDEA 使用 TOMCAT 中文乱码的各种问题

2.5 其他配置

鼠标移至元素上时显示document(javadoc):
在这里插入图片描述
每个字母都提示且不区分大小写:
在这里插入图片描述
JDK没有源码的情况下,想要Shift+F1(用浏览器打开帮助文件)生效,需要配置:
在这里插入图片描述
为java文件头添加javadoc注解:
在这里插入图片描述

三 maven web项目

3.1 创建项目

点击create new project
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建后文件夹基本是缺少的,于是需要创建这些文件,打开项目配置对话框:
在这里插入图片描述
在这里插入图片描述

也可直接创建好目录,然后右键项目–>maven–>reimport

3.2 配置Run/Debug

项目如何运行?运行的方式需要我们自己配置,但好在提供了模板:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
运行后会弹出指定网页,然后更改index.jsp,直接进入浏览器刷新,内容是不是已经改变了?注意,它自动生成的文件很多都仍需修改!!

四 必懂的知识

即使成功运行了,也是云里雾里的,这里来进行介绍。

4.1 project和module

一个project可以有多个module,project能够方便的管理modules和在它们之间共享配置,如sdk、languge、compile等配置,详细打开File|Project Structure

module与project一同被创建出来,每个module都是个独立的实体,可以拥有自己的设置,可以被配置用于开发框架相关的应用。modules之间可以相互应用(依赖)。

在这里想说的是,tomcat的配置可以随意更改,并不会影响到其他module,tomcat的配置也不会影响module,除非在run Configurations中配置。

4.2 全局或项目配置

每个新项目创建时会从全局配置中获取配置,进入项目后可以更改配置,但不会影响其他的项目。(并不是所有配置都这样)

4.3 本地,远程运行配置

可以为server进行本地或远程配置。通常为安装在本地的server设置local配置,这些配置包括server如何启动。当执行本地配置时,idea会启动server。而远程配置不会启动server,它只会连接server,然后发布、调试artifact(项目)。

因此,是否使用本地或远程配置的取决于server是否允许重启,而不是它的物理位置。

执行运行配置的过程:

  1. 编译和构建artifact
  2. 启动server或连接server
  3. 发布artifact
  4. 打开指定url

参考:Working with Server Run/Debug Configurations

4.4 热部署

这里所谓的热部署就是,修改的部分程序直接加载到内存,并替换旧的部分程序。然而idea的热部署功能有一定限制。在run configuration可以进行相关配置:
在这里插入图片描述

  • On update action:当点击update按钮后,会执行相应的更新动作。
  • On frame deactivation:当idea失去焦点时执行相应的更新动作。

有些选项值只有在特定的配置下可用,受不同运行配置(local or romote)、发布方式(war or war exploded)影响。因此下拉列表中显示的都是可用的选项值。

所有选项值如下:

OptionDescriptionAvailable for
Update resourcesAll changed resources are updated (HTML, JSP, JavaScript, CSS and image files).Exploded artifacts in local configurations
Update classes and resourcesChanged resources are updated; changed Java classes (EJBs, servlets, etc.) are recompiled. In the debug mode, the updated classes are hot-swapped. In the run mode, IntelliJ IDEA just updates the changed classes in the output folder. Whether such classes are actually reloaded in the running application, depends on the capabilities of the runtime being used.Exploded artifacts in local configurations
Hot swap classesChanged classes are recompiled and reloaded at runtime. This option works only in the debug mode.Packed artifacts in local configurations; exploded and packed artifacts in remote configurations
RedeployThe application artifact is rebuilt and redeployed. The operation may be time-consuming.Exploded and packed artifacts in local and remote configurations
Restart serverThe server is restarted. The application artifact is rebuilt and redeployed. The operation may be very time-consuming.Exploded and packed artifacts in local configurations

看起来将On frame deactivation配置成Update classes and resources,能够达到热部署的目的,然后实际上不好用。第一,只有切换到浏览器上要等上一段时间才可刷新;第二,通常情况下,热部署是有限制的,即只能更改方法体才会有效,不能添加新的字段或方法。但idea推荐使用另一种jvm,DCEVM,它能够克服上述问题。

使用我上面的配置,虽然并不能进行热部署,也是挺方便的,能够自己控制更新artifact的方式。
在这里插入图片描述

参考:
Updating Applications on Application Servers
Run/Debug Configuration: Tomcat Server

4.5 idea内部工作流程

在idea中,配置好后直接点击运行Debug或Run就可以运行程序看到效果了。那它背后又做了什么?Maven项目是由Maven构建的,又如何体现?

Maven项目中,项目的构建自然交给了Maven来完成,一些配置也交给了Maven来配置(pom.xml),因此idea中自己的一些项目配置是不需要的(或者无用的,并且可能会冲突),可以使用maven–>reimport将maven配置更新到idea中。

项目在tomcat运行之前是需要先构建的,可以明确指定maven的生命周期来构建项目,如:
在这里插入图片描述
也可以让idea来购将项目,在工具栏build中可以手动购将项目。由于是Maven项目,idea会自动使用Maven来构建。我猜构建生成的artifact类型为war exploded时使用maven的compile生命周期来生成;artifact为war时,使用了声明周期package来生成。

IDEA中构建的几个选项如下所示:

  • Build:只会构建更新过的文件。第一次时构建时,会构建整个项目
  • Clean:删除构建的内容
  • Rebuild:重新构建整个项目,相当于Clean–>Build

项目构建后的产物称为artifact(点击项目F4可看到),然后才可以被使用。接下来需要配置Run/Debug Configurations,也就是artifact的运行环境,如tomcat。tomcat运行环境配置中的Deployment配置的就是运行哪种artifact,如:
在这里插入图片描述
可以看出,使用的配置模板已经自动配置了构建方式(图中下方),因此在run或debug时,我们不必手动构建项目。


可以看出,运行项目需要先构建项目,产生artifact,在将artifact运行在配置的环境中。正是由于idea都默认为我们配置好了,所以我们只需几步就能运行项目。但缺点就是屏蔽了我们对idea运行过程的理解。

参考:

4.6 文件保存

在使用idea时,几乎不用手动ctrl+s保存文件,它会自动为你保存。默认设置在Appearance & Behavior-->System Settings中可以看到,如下图所示:
在这里插入图片描述
在跳出编辑区域、idea时都会自动保存,运行项目时也会自动保存,等等。并且保存方式为safe write,即:与简单的更新文件相反,safe write会写入一个临时文件,然后删除源文件,将临时文件名改成源文件名。

这样方式会造成问题,如会导致webpack的热更新失败,因此最好去掉。

五 快捷键

快捷键不用死记,一般右键或者工具栏中都有。

  • Ctrl+space:basic code completion.call twice ,then show more
  • Ctrl+Shift+space:intelligently suggestions.call twice ,then show more
  • Ctrl+P:parameter prompt.
  • Alt+Enter:快速修复问题

  • Ctrl+Q:查看类或方法的文档
  • Shfit+F1:在浏览器中查看文档
  • Ctrl+B:navigate to the declaration of a class,method or variable at caret.
  • Ctrl+鼠标左键:与Ctrl+B类似,但极其好用

  • Esc:move the focus to the editor.
  • alt+number:打开相应的窗口。
  • Shift+EscCtrl+Shift+F12:隐藏所有工具窗口

  • sout+enter:product System.out.println(“”)
  • Ctrl+Alt+L:重新格式化代码

  • Ctrl+Alt+O:Optimize imports.
  • Ctrl+O:override methods of the base class.
  • Alt+Insert:generate getter and setter method.
  • Ctrl+W:extend selection
  • comment:Ctrl+/ or Ctrl+Shift+/ to comment while Ctrl+Shift+/ to uncomment.
  • Ctrl+H:see the hierarchy for a selected class.
  • Alt+F8:evaluate the value of expression when debugging.

  • Ctrl+N:quickly open class.first press the key and then typing the name of class.
  • Ctrl+Shift+N:open any file in your project in a similar way.
  • Alt+F7:find all places of class,method or variable at caret.

  • Ctrl+F12:navigate in the currently edited file.
  • Shift+F6:rename classes,methods and variables of all places.
  • Alt+F1:quickly select the currently edited element.
  • Ctrl+Alt+T:surround with.can used to catch exception automatically.
  • Ctrl+Alt+B:navigate to the implementation of an abstract method at caret.

六 纯前端项目

通过New-->Project...-->Static Web,可以看到很多项目类型,我们选择Static Web,其他的只不过已经预置了相应的库而已。

与上面操作一致,我们需要配置Run/Debug Configuration,我们有两种选择,运行在tomcat服务器中,或通过JavaScript Debug运行。当然,纯前端项目使用JavaScript Debug就好了,并且也不用手动配置,直接在想要运行html的窗口中直接右键,点击Run或Debug选项,它会自己配置好Configuration,并打开默认浏览器。

想要实时将自己对html的修改反应到浏览器(这里使用chrome)上,需要安装LiveEdit,在LiveEdit中找到与自己idea版本兼容的LiveEdit下载,然后在idea中安装:
在这里插入图片描述

如果网络好的话,可以直接在idea中安装。

然后在chrome应用商店中下载插件支持(JetBrains IDE Support),在idea配置,配置如下:
在这里插入图片描述
最后直接右键Debug,并且LiveEdit只在Debug环境下才有效!

现在可以愉快的写前端代码了~

6.1 与tomcat结合

在tomcat运行配置界面,勾选with JavaScript debugger时,在配合LiveEdit使用,java web项目也能修改前端代码时,实时预览了!
在这里插入图片描述

6.2 不足

  • 在使用过程中,发现LiveEdit对css反应不是智能,有时修改还需手动保存才能更新
  • js脚本名为index.js时不能设置断点,并且控制台不是很好用。
  • 控制台和打了马赛克似的(和idea配置有关)

七 其他

7.1 清除缓存

idea会缓存很多文件,如果系统运行错误了,则需要清除缓存,如File | Invalidate Caches/Restart

7.2 模板文件

mybatis的xml映射文件经常被使用,如果不安装插件,则需要自己配置模板文件:

  1. File–>New–>Edit File Templates…
  2. 在File标签页中,新建一模板,模板名:Mybatis Mapper File,后缀:xml
  3. 添加内容:
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
      PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
      "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <mapper namespace="${PACKAGE_NAME}.${NAME}">
    
    </mapper>
    

7.2 解决markdown字体模糊

主要是因为idea自带markdown插件(markdown support)太垃圾,禁用,然后下载插件markdown navigator就好了。

参考

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值