Intellij IDEA

什么是 IDEA

IDEA 全称 IntelliJ IDEA,是 Java 语言开发的集成环境,IntelliJ 在业界被公认为最好的 Java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE 支持、各类版本工具(gitsvngithub等)、JUnit、CVS 整合、代码分析、 创新的 GUI 设计等方面的功能可以说是超常的。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持 HTML,CSS,PHP,MySQL,Python 等。免费版只支持 Java 等少数语言。

特色功能

  • 智能的选取:在很多时候我们要选取某个方法,或某个循环或想一步一步从一个变量到整个类慢慢扩充着选取,IDEA就提供这种基于语法的选择,在默认设置中 Ctrl + W,可以实现选取范围的不断扩充,这种方式在重构的时候尤其显得方便。
  • 丰富的导航模式:IDEA 提供了丰富的导航查看模式,例如 Ctrl + E 显示最近打开过的文件,Ctrl + N 显示你希望显示的类名查找框(该框同样有智能补充功能,当你输入字母后IDEA将显示所有候选类名)。在最基本的 Project 视图中,你还可以选择多种的视图方式。
  • 历史记录功能:不用通过版本管理服务器,单纯的 IDEA 就可以查看任何工程中文件的历史记录,在版本恢复时你可以很容易的将其恢复。
  • JUnit 的完美支持
  • 对重构的优越支持:IDEA 是所有 IDE 中最早支持重构的,其优秀的重构能力一直是其主要卖点之一。
  • 编码辅助:Java 规范中提倡的 toString()hashCode()equals() 以及所有的 get/set 方法,你可以不用进行任何的输入就可以实现代码的自动生成,从而把你从无聊的基本方法编码中解放出来。
  • 灵活的排版功能:基本所有的 IDE 都有重排版功能,但仅有 IDEA 的是人性的,因为它支持排版模式的定制,你可以根据不同的项目要求采用不同的排版方式。
  • XML 的完美支持:XML 全提示支持:所有流行框架的 XML 文件都支持全提示,谁用谁知道。
  • 动态语法检测:任何不符合 Java 规范、自己预定义的规范、累赘都将在页面中加亮显示。
  • 代码检查:对代码进行自动分析,检测不符合规范的,存在风险的代码,并加亮显示。
  • 对 JSP 的完全支持:不需要任何的插件,完全支持 JSP。
  • 智能编辑:代码输入过程中,自动补充方法或类。
  • EJB 支持:不需要任何插件完全支持 EJB(6.0 支持 EJB 3.0)
  • 列编辑模式:用过 UtralEdit 的肯定对其的列编辑模式赞赏不已,因为它减少了很多无聊的重复工作,而 IDEA 完全支持该模式,从而更加提高了编码效率。
  • 预置模板:预置模板可以让你把经常用到的方法编辑进模板,使用时你只用输入简单的几个字母就可以完成全部代码的编写。例如使用比较高的 public static void main(String[] args){} 你可以在模板中预设 pm 为该方法,输入时你只要输入 pm 再按代码辅助键,IDEA 将完成代码的自动输入。
  • 完美的自动代码完成:智能检查类中的方法,当发现方法名只有一个时自动完成代码输入,从而减少剩下代码的编写工作。
  • 版本控制完美支持:集成了目前市面上常见的所有版本控制工具插件,包括 gitsvngithub,让开发人员在编程的工程中直接在 Intellij IDEA 里就能完成代码的提交、检出、解决冲突、查看版本控制服务器内容等等。
  • 不使用代码的检查:自动检查代码中不使用的代码,并给出提示,从而使代码更高效。
  • 智能代码:自动检查代码,发现与预置规范有出入的代码给出提示,若程序员同意修改自动完成修改。例如代码:String str = "Hello Intellij " + "IDEA"; IDEA 将给出优化提示,若程序员同意修改 IDEA 将自动将代码修改为:String str = "Hello Intellij IDEA";
  • 正则表达式的查找和替换功能:查找和替换支持正则表达式,从而提高效率。
  • JavaDoc 预览支持:支持 JavaDoc 的预览功能,在 JavaDoc 代码中 Ctrl + Q 显示 JavaDoc 的结果,从而提高 DOC 文档的质量。
  • 程序员意图支持:程序员编码时 IDEA 时时检测你的意图,或提供建议,或直接帮你完成代码。

第一个 IDEA WEB应用程序

Eclipse与Intellij IDEA区别:

idea能编写r语言吗 idea可以写那些语言_java

新建 Java Web 项目

  • 打开 IDEA -> Create New Project
  • 选择 Java -> Java EE -> Web Application

选择工作空间

  • 项目命名后选择存放的工作空间,项目就创建完成了

配置 JDK

  • 选择 File -> Project Structure...
  • 选择 JDK 的安装路径即可

配置 Tomcat

  • 选择 Run -> Edit Configurations...
  • 选择 + 号 -> Tomcat Server -> Local
  • 选择 Tomcat 的安装路径即可

配置 Tomcat 本地部署

  • 继续上一步,选择 Deployment -> + 号 -> Artifact...

idea能编写r语言吗 idea可以写那些语言_idea能编写r语言吗_02

  • 选择 Server 配置自动更新

测试运行

  • 选择需要运行的项目,点击 运行 图标
  • 浏览器打开:``http://localhost:8080` 显示如下:
$END$

第一个 Maven WEB 应用程序

创建 Maven 项目

  • 选择 File -> New -> Project...
  • 选择 Maven 项目
  • 填写项目信息
  • 选择工作空间

Maven的目录结构

  • Java Web 的 Maven 基本结构如下:
├─src
│  ├─main
│  │  ├─java
│  │  ├─resources
│  │  └─webapp
│  │      └─WEB-INF
│  │            └─web.xml
│  └─test
│  │  ├─java
│  │  └─resources
  • 结构说明:
  • src:源码目录
  • src/main/java:Java 源码目录
  • src/main/resources:资源文件目录
  • src/main/webapp:Web 相关目录
  • src/test:单元测试

IDEA Maven 项目管理

  • 在 IDEA 界面的右侧 Maven Projects 选项,可以管理 Maven 项目的整个生命周期、插件、依赖等

完善 Maven Java Web 程序

POM.xml

  • 修改 pom.xml 配置,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.bdqn</groupId>
    <artifactId>hello-maven</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>log4j-over-slf4j</artifactId>
            <version>1.7.25</version>
        </dependency>
    </dependencies>
</project>
  • 配置说明:
  • packaging:打包方式,这里是 war 包,表示为 Java Web 应用程序
  • dependencies:项目依赖配置,整个项目生命周期中所需的依赖都在这里配置

创建测试用 Servlet

  • 创建一个 Servlet 用于测试请求
package cn.bdqn.hello.maven.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class HelloServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.getRequestDispatcher("/index.jsp").forward(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doGet(req, resp);
    }
}

创建测试用 JSP

  • 创建一个 JSP 页面,用于测试请求
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    Hello Maven
</body>
</html>

创建 Log4J 的配置文件

  • src/main/resources 目录下创建 log4j.properties 配置文件,内容如下:
log4j.rootLogger=INFO, console, file

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d %p [%c] - %m%n

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=logs/log.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.MaxFileSize=1024KB
log4j.appender.A3.MaxBackupIndex=10
log4j.appender.file.layout.ConversionPattern=%d %p [%c] - %m%n

配置 web.xml

  • web.xml 配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>cn.bdqn.hello.maven.servlet.HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

测试运行

  • 按照之前章节 第一个 IDEA 应用程序 配置完 Tomcat 后直接运行,打开浏览器访问http://localhost:8080/hello 显示如下:
Hello Maven

IDEA 常用快捷键总结:

调试代码的快捷键:

  • F7(Step Into) 单步跳入 : 进入某个方法的代码内部观察代码执行情况
  • F8(Step Over) 单步跳过 : 单步执行,不关心具体的执行过程,只关心具体的结果
  • Shift+F9(Step Out) 单步返回 : 当执行了单步跳入进到方法之中进行代码观察了一半之后,发现不再需要继续观察了,则直接返回到跳入代码的位置.
  • F9(Resume) 恢复执行 : 不再继续进行代码调试了,而直接进行代码的正常执行完毕

查询快捷键

  • CTRL+N 查找类
  • CTRL+SHIFT+N 查找文件
  • CTRL+SHIFT+ALT+N 查 找类中的方法或变量
  • CIRL+B 找变量的来源
  • CTRL+ALT+B 找所有的子类
  • CTRL+SHIFT+B 找变量的 类
  • CTRL+G 定位行
  • CTRL+F 在当前窗口查找文本
  • CTRL+SHIFT+F 在指定窗口查找文本
  • CTRL+R 在 当前窗口替换文本
  • CTRL+SHIFT+R 在指定窗口替换文本
  • ALT+SHIFT+C 查找修改的文件
  • CTRL+E 最 近打开的文件
  • F3 向下查找关键字出现位置
  • SHIFT+F3 向上一个关键字出现位置
  • F4 查找变量来源
  • CTRL+ALT+F7 选 中的字符 查找工程出现的地方
  • CTRL+SHIFT+O 弹出显示查找内容

SVN 管理

  • 把SVN库添加到IDEA中 SETTING -> VERSION CONTROL -> VCS = SVBVERSION

自动代码

  • ALT+回车 导入包,自动修正
  • CTRL+ALT+L 格式化代码
  • CTRL+ALT+I 自 动缩进
  • CTRL+ALT+O 优化导入的类和包
  • ALT+INSERT 生成代码(如GET,SET方法,构造函数等)
  • CTRL+E 或者ALT+SHIFT+C 最近更改的代码
  • CTRL+SHIFT+SPACE 自动补全代码
  • CTRL+空格 代码提示
  • CTRL+ALT+SPACE 类 名或接口名提示
  • CTRL+P 方法参数提示
  • CTRL+J 自动代码
  • CTRL+ALT+T 把选中的代码放在 TRY{} IF{} ELSE{} 里

复制快捷方式

  • F5 拷贝文件快捷方式
  • CTRL+D 复制行
  • CTRL+X 剪 切,删除行
  • CTRL+SHIFT+V 可以复制多个文本

高亮

  • CTRL+F 选中的文字,高亮显示 上下跳到下一个或者上一个
  • F2 或SHIFT+F2 高亮错误或警告快速定位
  • CTRL+SHIFT+F7 高亮显示多个关键字.

其他快捷方式

  • CIRL+U 大小写切换
  • CTRL+Z 倒退
  • CTRL+SHIFT+Z 向 前
  • CTRL+ALT+F12 资源管理器打开文件夹
  • ALT+F1 查找文件所在目录位置
  • SHIFT+ALT+INSERT 竖 编辑模式
  • CTRL+/ 注释//
  • CTRL+SHIFT+/ 注释//
  • CTRL+W 选中代码,连续按会 有其他效果
  • CTRL+B 快速打开光标处的类或方法
  • ALT+ ←/→ 切换代码视图
  • CTRL+ALT ←/→ 返回上次编辑的位置
  • ALT+ ↑/↓ 在方法间快速移动定位
  • SHIFT+F6 重构-重命名
  • CTRL+H 显 示类结构图
  • CTRL+Q 显示注释文档
  • ALT+1 快速打开或隐藏工程面板
  • CTRL+SHIFT+UP/DOWN 代码 向上/下移动。
  • CTRL+UP/DOWN 光标跳转到第一行或最后一行下
  • ESC 光标返回编辑框
  • SHIFT+ESC 光 标返回编辑框,关闭无用的窗口