• Java基础 04 [附] IDEA 的安装、配置与使用


    1. IntelliJ IDEA 介绍

    2. windows 下安装过程

    个人建议配置: 内存 8G 或以上, CPU 最好 i5 以上, 最好安装块固态硬盘(SSD),将 IDEA 安装在固态硬盘上,这样流畅度会加快很多。

    IDEA 安装目录中的文件夹含义

    路径:..ideaIU-2019.2
    bin:容器,执行文件和启动参数等  
    help:快捷键文档和其他帮助文档  
    jre64: 64 位java 运行环境  
    lib: idea 依赖的类库  
    license:各个插件许可  
    plugin:插件
    

    关于 IDEA VM配置的修改

    1. 大家根据电脑系统的位数,选择 32 位的 VM 配置文件或者 64 位的 VM 配置文件
    2. 32 位操作系统内存不会超过 4G,所以没有多大空间可以调整,建议不用调整了
    3. 64 位操作系统中 8G 内存以下的机子或是静态页面开发者是无需修改的。
    4. 64 位操作系统且内存大于 8G 的, 如果你是开发大型项目、 Java 项目或是 Android 项目,
      建议进行修改,常修改的就是下面 3 个参数:
    -Xms128m : 16G 内存的机器可尝试设置为 -Xms512m (设置初始的内存数,增加该值可以提高 Java 程序的启动速度。)  
    -Xmx750m : 16G 内存的机器可尝试设置为 -Xmx1500m (设置最大内存数,提高该值,可以减少内存 Garage 收集的频率,提高程序性能)
    -XX:ReservedCodeCacheSize=240m : 16G 内存的机器可尝试设置为 -XX:ReservedCodeCacheSize=500m (保留代码占用的内存容量)
    

    设置目录结构

    路径: ..用户用户文件夹.IntelliJIdea2019.2
    config: IntelliJ IDEA 个性化化配置目录
    system: IntelliJ IDEA 系统文件目录
    

    这是 IDEA 的各种配置的保存目录。 这个设置目录有一个特性,就是你删除掉整个目录之后,重新启动 IntelliJ IDEA 会再自动帮你生成一个全新的默认配置,所以很多时候如果你把 IntelliJ IDEA 配置改坏了,没关系,删掉该目录,一切都会还原到默认。
    config 目录
    config 目录是 IntelliJ IDEA 个性化化配置目录,或者说是整个 IDE 设置目录。此目录可看成是最重要的目录,没有之一,如果你还记得安装篇的介绍的时候,安装新版本的 IntelliJ IDEA 会自动扫描硬盘上的旧配置目录,指的就是该目录。这个目录主要记录了: IDE 主要配置功能、自定义的代码模板、自定义的文件模板、自定义的快捷键、 Project 的 tasks 记录等等个性化的设置。
    system 目录
    system 目录是 IntelliJ IDEA 系统文件目录,是 IntelliJ IDEA 与开发项目一个桥梁目录, 里面主要有:缓存、索引、容器文件输出等等,虽然不是最重要目录,
    但也是最不可或缺的目录之一。

    3. 启动应用后简单配置

    设置 IDEA 中的各种插件,可以选择自定义设置、删除,或者安装本身不存在的插件(比如:支持 Scala 的插件)。这里不设置,后面也可以通过界面菜单栏的
    settings 进行设置。
    IDEA 插件官方下载地址: https://plugins.jetbrains.com/idea

    4. 创建 Java 工程

    IntelliJ IDEA 没有类似 Eclipse 的工作空间的概念(Workspaces),最大单元就是 Project。 这里可以把 Project 理解为 Eclipse 中的 Workspace。如果是对应 .net 技术栈的话,可以把 Project 理解为 VS 里面的解决方案。

    • 不管是创建 class,还是 interface,还是 annotation,都是选择 new – java class
    • 在 IDEA 里要说的是,写完代码,不用点击保存。 IDEA 会自动保存代码。

    关于模块(Module)

    1. 在 Eclipse 中我们有 Workspace(工作空间)和 Project(工程)的概念,在 IDEA 中只有 Project(工程)和 Module(模块)的概念。这里的对应关系为:
    Eclipse 中 workspace 相当于 IDEA 中的 Project
    Eclipse 中 Project 相当于 IDEA 中的 Module
    
    1. 从 Eclipse 转过来的人总是下意识地要在同一个窗口管理 n 个项目,这在 IntelliJ IDEA 是无法做到的。 IntelliJ IDEA 提供的解决方案是打开多个项目实例,
      即打开多个项目窗口。 即: 一个 Project 打开一个 Window 窗口。
    2. 在 IntelliJ IDEA 中 Project 是最顶级的级别,次级别是 Module。 一个 Project可以有多个 Module。目前主流的大型项目都是分布式部署的, 结构都是类似这种多 Module 结构。
    3. 相比较于多 Module 项目,小项目就无需搞得这么复杂。只有一个 Module 的
      结构 IntelliJ IDEA 也是支持的,并且 IntelliJ IDEA 创建项目的时候,默认就是单 Module 的结构的。

    如何删除模块
    先从项目上移除模块,再从硬盘上删除模块。

    5. 常用配置

    File -> Settings

    Build,Execution,Deployment

    • 构建就是以我们编写的 java 代码、框架配置文件、国际化等其他资源文件、JSP 页面和图片等资源作为“原材料”,去“生产”出一个可以运行的项目的过程。
    • Intellij Idea 默认状态为不自动编译状态, Eclipse 默认为自动编译:从 Eclipse 转到 Intellij 的,常常导致在需要操作 class 文件时忘记对修改后的 java 类文件进行重新编译, 从而对旧文件进行了操作。

    6. 设置快捷键(Keymap)

    操作 快捷键
    提示补全 (Class Name Completion) alt+/
    单行注释 ctrl + /
    多行注释 ctrl + shift + /
    收起所有的方法(collapse all) ctrl + shift + 减号
    打开所有方法(expand all) ctrl + shift + =
    查找方法在哪里被调用(Call Hierarchy) ctrl+shift+h
    查看类的继承结构图(Show UML Diagram) ctrl + shift + u
    查看方法的多层重写结构(method hierarchy) ctrl+alt+h

    7. 关于模板(Templates)

    Editor – Live Templates 和 Editor – General – Postfix Completion

    Live Templates(实时代码模板)功能介绍

    它的原理就是配置一些常用代码字母缩写,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。最简单的例子就是在 Java 中输入 sout 会出现 System.out.println();

    psvm : 可生成 main 方法
    sout : System.out.println() 快捷输出
    // 类似的:
    soutp => System.out.println("方法形参名 = " + 形参名);
    soutv => System.out.println("变量名 = " + 变量);
    soutm => System.out.println("当前类名.当前方法");
    “abc”.sout => System.out.println("abc");
    
    fori : 可生成 for 循环
    // 类似的:
    iter:可生成增强 for 循环
    itar:可生成普通 for 循环
    
    list.for : 可生成集合 list 的 for 循环
    List<String> list = new ArrayList<String>();
    输入: list.for 即可输出
    for(String s:list){
    }
    又如: list.fori 或 list.forr
    
    ifn:可生成 if(xxx = null)
    //类似的:
    inn:可生成 if(xxx != null) 或 xxx.nn 或 xxx.null
    
    prsf:可生成 private static final
    //类似的:
    psf:可生成 public static final
    psfi:可生成 public static final int
    psfs:可生成 public static final String
    

    8. 创建 Java Web Project 或 Module

    9. 关联数据库

    表面上很多人认为配置 Database 就是为了有一个 GUI 管理数据库功能,但是这并不是 IntelliJ IDEA 的 Database 最重要特性。数据库的 GUI 工具有很多,IntelliJ IDEA 的 Database 也没有太明显的优势。IntelliJ IDEA 的 Database 最大特性就是对于 Java Web 项目来讲,常使用的 ORM 框架,如 Hibernate、Mybatis 有很好的支持,比如配置好了 Database 之后, IntelliJ IDEA 会自动识别 domain 对象与数据表的关系,也可以通过 Database 的数据表直接生成 domain 对象等等

    10. 版本控制(Version Control)

    • 很多人认为 IntelliJ IDEA 自带了 SVN 或是 Git 等版本控制工具,认为只要安装了 IntelliJ IDEA 就可以完全使用版本控制应有的功能。这完全是一种错误的解读, IntelliJ IDEA 是自带对这些版本控制工具的插件支持,但是该装什么版本控制客户端还是要照样装的。
    • IntelliJ IDEA 对版本控制的支持是以插件化的方式来实现的。旗舰版默认支持目前主流的版本控制软件: CVS、 Subversion(SVN)、 Git、 Mercurial、Perforce、TFS。又因为目前太多人使用 Github 进行协同或是项目版本管理,所以 IntelliJ IDEA 同时自带了 Github 插件,方便 Checkout 和管理你的Github 项目。
    • 在实际开发中,发现在 IDEA 中使用 SVN 的经历不算愉快,经常会遇到很多问题,比如紧急情况下 IDEA 无法更新、提交等。

    即使我们项目没有使用版本控制功能, IntelliJ IDEA也给我们提供了本地文件历史记录。

    11. 断点调试

    Debug 的设置

    设置 Debug 连接方式,默认是 Socket。 Shared memory 是 Windows 特有的一个属性,一般在 Windows 系统下建议使用此设置, 内存占用相对较少。

    常用断点调试快捷键

    操作 快捷键 解释
    step over F8 当前行断点是一个方法,则不进入当前方法体内
    step into F7 当前行断点是一个方法,则进入当前方法体内
    step out Shift+F8
    resume program F9 如断点下面代码还有断点则停在下一个断点上
    stop Ctrl+F2
    mute breakpoints 使得所有的断点失效
    view breakpoints 查看所有断点

    条件断点

    • 调试的时候,在循环里增加条件判断,可以极大的提高效率,心情也能愉悦
    • 在断点处右击调出条件断点。可以在满足某个条件下,实施断点。
    • 查看表达式的值(Ctrl + u):选择行, ctrl + u。还可以在查看框中输入编写代码时的其他方法:

    12. 配置 Maven

    Maven 的介绍

    Maven 是 Apache 提供的一款自动化构建工具,用于自动化构建和依赖管理。开发团队基本不用花多少时间就能自动完成工程的基础构建配置,因为 Maven 使用了一个标准的目录结构和一个默认的构建生命周期。
    在如下环节中,Maven 使得开发者工作变得更简单。
    构建环节

    graph LR
    清理-->编译
    编译-->测试
    测试-->报告
    报告-->打包
    打包-->部署
    
    • 清理:表示在编译代码前将之前生成的内容删除
    • 编译:将源代码编译为字节码
    • 测试:运行单元测试用例程序
    • 报告:测试程序的结果
    • 打包:将 java 项目打成 jar 包;将 Web 项目打成 war 包
    • 安装:将 jar 或 war 生成到 Maven 仓库中
    • 部署:将 jar 或 war 从 Maven 仓库中部署到 Web 服务器上运行

    13. 其它设置

    常用插件

    JRebel Plugin 热部署

  • 相关阅读:
    Android 千牛数据库分析
    Flutter 你需要知道的那些事 01
    Flutter 异常处理之图片篇
    Flutter 即学即用系列博客——09 EventChannel 实现原生与 Flutter 通信(一)
    Flutter 即学即用系列博客——08 MethodChannel 实现 Flutter 与原生通信
    Flutter 即学即用系列博客——06 超实用 Widget 集锦
    Kingfisher-swift缓存图片框架
    swift冒泡排序,swift快速排序,swift归并排序,swift插入排序,swift基数排序
    swift声明属性为某个类型同时遵循某协议
    Xcode真机运行报错iPhone has denied the launch request
  • 原文地址:https://www.cnblogs.com/wangluke/p/12755191.html
Copyright © 2020-2023  润新知