开发工具的使用

IDEA的安装与使用&常用快捷键

文章目录

    • IDEA的安装与使用&常用快捷键
    • 一、认识IntelliJ IDEA
    • 二、IDEA 的下载&卸载
    • 三、IEAD相关设置
      • 3.1 JDK的相关设置
      • 3.2 系统设置(启动项/自动更新)
      • 3.3 设置整体主题(主题/字体/背景)
      • 3.4 设置编辑器主题样式(字体/注释字体)
      • 3.5 行号/方法分隔符&代码智能提示功能(忽略大小写)
      • 3.6 自动导包配置&自动编译&取消双击shit搜索
      • 3.7 设置项目文件编码(一定要改)&控制台字符编码
      • 3.8 修改类头的文档注释信息
      • 3.9 断点调试
    • 四、常用的代码模板&快捷键
    • 五、IDEA常用插件
      • 5.1 检查规范&可视化{}&代码概览&显示快捷键
      • 5.2 翻译&统计代码&getset方法&可视化字节码&力扣&json&主题


一、认识IntelliJ IDEA

1、IntelliJ IDEA 介绍
IDEA,全称 IntelliJ IDEA,是 Java 语言的集成开发环境,目前已经(基本)代替了Eclipse的使用。IDEA 在业界被公认为是最好的 Java 开发工具(之一),因其功能强悍设置人性化,而深受Java、大数据、移动端程序员的喜爱。

2、IDEA的主要优势:(vs Eclipse)
① 强大的整合能力。比如:Git、Maven、Spring等
② 开箱即用的体验(集成版本控制系统、多语言支持的框架随时可用,无需额外安装插件)

① 高度智能(快速的智能代码补全、实时代码分析、可靠的重构工具)
② 提示功能的快速、便捷、范围广
③ 好用的快捷键和代码模板
④ 精准搜索

3、IDEA项目结构:是为了方便管理功能代码。

  • 层级关系:project(工程) - module(模块) - package(包) - class(类)
  • 具体的:
    • 一个project中可以创建多个module
    • 一个module中可以创建多个package
    • 一个package中可以创建多个class

二、IDEA 的下载&卸载

这部分,用到的时候在网上搜就行了
1、IDEA下载

  • 下载网址:IDE下载网址
  • IDEA 分为两个版本: 旗舰版(Ultimate)社区版(Community)
  • IDEA的大版本每年迭代一次,大版本下的小版本(如:2022.x)迭代时间不固定,一般每年3个小版本。

两个不同版本的详细对比,可以参照官网:IDEA不同版本对比
官网提供的详细使用文档:IDEA官方文档使用说明
2、IDEA卸载与安装
(1)卸载过程

  • 这里以卸载2022.1.2版本为例说明。在【控制面板】找到【卸载程序】→右键点击或左键双击IntelliJ IDEA 2022.1.2进行卸载:
  • 软件卸载完以后,还需要删除其它几个位置的残留:
    IDEA卸载后的残余

(2)安装
要求:

  • 64 位 Microsoft Windows 11、10、8
  • 最低 2 GB 可用 RAM,推荐 8 GB 系统总 RAM
  • 2.5 GB 硬盘空间,推荐 SSD
  • 最低屏幕分辨率 1024x768

从安装上来看,IntelliJ IDEA 对硬件的要求似乎不是很高。可是在实际开发中并不是这样的,因为 IntelliJ IDEA 执行时会有大量的缓存、索引文件,所以如果你正在使用 Eclipse / MyEclipse,想通过 IntelliJ IDEA 来解决计算机的卡、慢等问题,这基本上是不可能的,本质上你应该对自己的硬件设备进行升级。

安装过程如下:

  • 载完安装包,双击直接安装
  • 是否删除电脑上低版本的IDEA(如果有,可以选择忽略)
    • 如果电脑上有低版本的IDEA,可以选择删除或保留。
    • 这里没有卸载旧版本,如果需要卸载,记得勾选下面的保留旧的设置和配置。
  • 选择安装目录:选择安装目录,目录中要避免中文和空格。
  • 创建桌面快捷图标等:确认是否与.java、.groovy、.kt 格式文件进行关联。这里建议不关联。
  • 在【开始】菜单新建一个文件夹(这里需要确认文件夹的名称),来管理IDEA的相关内容。
    新建文件夹
  • 完成安装:重启以后,单击登录:试用30天、付费购买旗舰版

(3)闪退问题
问题描述:2022.1启动不了,双击桌面图标,没有响应。
解决办法:打开C:\Users\songhk\AppData\Roaming\JetBrains\IntelliJIdea2022.1\idea64.exe.vmoptions 这个文件。
添加内容如下所示:删除红框的数据以后,再登录即可正常进入。
IDEA解决闪退问题
原因:之前使用过的比如2021.2.2版本,pojie了。新版IEDA太智能了,把现有的启运参数也都复制过去了。又因为最新的IDEA,不兼容pojie程序-javaagent:D:\develop_tools\IDEA\IntelliJ IDEA 2021.2.2\bin\jetbrains-agent.jar了,所以报错了,所以JVM结束了,所以没有启动画面,凉凉了。

(4)IDEA的使用:新建Project - Class
选择"New Project":指名工程名、使用的JDK版本等信息。→接着创建Java类→ 编写代码→运行

三、IEAD相关设置

配置界面的各个功能

3.1 JDK的相关设置

1、项目的JDK设置
File-->Project Structure...-->Platform Settings -->SDKs

  • 注1:SDKs全称是Software Development Kit ,这里一定是选择JDK的安装根目录,不是JRE的目录。
  • 注2:这里还可以从本地添加多个JDK。使用“+”即可实现。

2、out目录和编译版本
File-->Project Structure...-->Project Settings -->Project
out目录和编译版本

3.2 系统设置(启动项/自动更新)

1、默认启动项目配置
Settings–>Appearance & Behavior->System Settings中Project一栏
启动IDEA时,默认自动打开上次开发的项目?还是自己选择?
如果去掉Reopen projects on startup前面的对勾,每次启动IDEA就会出现项目选择界面。
2、取消自动更新:IDEA、插件
Settings–>Appearance & Behavior->System Settings -> Updates
默认都打√了,建议检查IDE更新的√去掉,检查插件更新的√选上。

3.3 设置整体主题(主题/字体/背景)

1、选择主题
Settings–>Appearance & Behavior---->Appearance中Theme
2、置菜单和窗口字体和大小
Settings–>Appearance & Behavior---->Appearance中Use custom font属性设置大小
3、置IDEA背景图
Settings–>Appearance & Behavior---->Appearance中Background Image
选择一张合适的图片作为背景,即可。

3.4 设置编辑器主题样式(字体/注释字体)

1、编辑器主题
Settings–>Editor---->Color Scheme中设置
2、字体大小
Settings–>Editor---->General中设置
更详细的字体与颜色如下:
温馨提示:如果选择某个font字体,中文乱码,可以在fallback font(备选字体)中选择一个支持中文的字体。
IDEA字体设置
3、注释的字体颜色
Settings–>Editor---->Color Scheme—>Lanaguage Defaults中设置

  • Block comment:修改多行注释的字体颜色
  • Doc Comment –> Text:修改文档注释的字体颜色
  • Line comment:修改单行注释的字体颜色

3.5 行号/方法分隔符&代码智能提示功能(忽略大小写)

1、显示行号与方法分隔符
Settings–>Editor---->General----->Appearance
2、代码智能提示功能
IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写。 如果想不区分大小写的话,就把这个对勾去掉。建议去掉勾选
代码的智能提示

3.6 自动导包配置&自动编译&取消双击shit搜索

1、自动导包

  • 默认需要自己手动导包,Alt+Enter快捷键
  • 自动导包设置:settings—>Editor---->General—>Auto Import设置自动导包
    • 动态导入明确的包:Add unambiguous imports on the fly,该设置具有全局性;
    • 优化动态导入的包:Optimize imports on the fly,该设置只对当前项目有效;

2、自动编译
Settings-->Build,Execution,Deployment-->Compiler
自动编译选项
3、取消双击shit搜索
因为我们按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出现搜索框了。

3.7 设置项目文件编码(一定要改)&控制台字符编码

1、设置项目文件编码
说明: Transparent native-to-ascii conversion主要用于转换ascii,显式原生内容。一般都要勾选。
IDEA设置项目文件编码
2、设置控制台的字符编码
settings—>Editor---->General—>Console中设置

3.8 修改类头的文档注释信息

settings—>Editor---->File and Templates中设置。有常用的预设的变量。
比如:

/**
* ClassName: ${NAME}
* Package: ${PACKAGE_NAME}
* Description: 
* @Author 尚硅谷-宋红康
* @Create ${DATE} ${TIME} 
* @Version 1.0   
*/

3.9 断点调试

1、介绍:编好的程序在执行过程中如果出现错误,该如何查找或定位错误呢?简单的代码直接就可以看出来,但如果代码比较复杂,就需要借助程序调试工具(Debug)来查找错误了。
2、使用步骤:

  • 添加断点
  • 启动调试
  • 单步执行
  • 观察变量和执行流程,找到并解决问题

3、Debug快捷键

说明快捷键
单步调试(不进入函数内部)- step overF8
单步调试(进入函数内部)- step intoF7
强制单步调试(进入函数内部) - force step intoalt+shift+f7
选择要进入的函数 - smart step intoshift + F7
跳出函数 - step outshift + F8
运行到断点 - run to cursoralt + F9
继续执行,进入下一个断点或执行完程序 - resume programF9
停止 - stopCtrl+F2
查看断点 - view breakpointsCtrl+Shift+F8
关闭 - closeCtrl+F4

四、常用的代码模板&快捷键

1、常用的代码模板

  • 非空判断
    • 变量.null:if(变量 == null)
    • 变量.nn:if(变量 != null)
    • 变量.notnull:if(变量 != null)
    • ifn:if(xx == null)
    • inn:if(xx != null)
  • 遍历数组和集合
    • 数组或集合变量.fori:for循环
    • 数组或集合变量.for:增强for循环
    • 数组或集合变量.forr:反向for循环
    • 数组或集合变量.iter:增强for循环遍历数组或集合
  • 输出语句
    • sout:相当于System.out.println
    • soutm:打印当前方法的名称
    • soutp:打印当前方法的形参及形参对应的实参值
    • soutv:打印方法中声明的最近的变量的值
    • 变量.sout:打印当前变量值
    • 变量.soutv:打印当前变量名及变量值
  • 对象操作
    • 创建对象
      • Xxx.new .var :创建Xxx类的对象,并赋给相应的变量
      • Xxx.new .field:会将方法内刚创建的Xxx对象抽取为一个属性
    • 强转
      • 对象.cast:将对象进行强转
      • 对象.castvar:将对象强转后,并赋给一个变量
  • 静态常量声明
    • psf:public static final
    • psfi:public static final int
    • psfs:public static final String
    • prsf:private static final

2、常用的快捷键:查看快捷键

  • 已知快捷键操作名,未知快捷键:setting---->keymap中搜索
  • 已知快捷键,不知道对应的操作名:setting---->keymap中搜索
  • 自定义快捷键:setting---->keymap中添加
  • 使用其它平台快捷键

3、常用快捷键介绍

  • 通用型
说明快捷键
复制代码-copyctrl + c
粘贴-pastectrl + v
剪切-cutctrl + x
撤销-undoctrl + z
反撤销-redoctrl + shift + z
保存-save allctrl + s
全选-select allctrl + a
  • 提高编写速度(上)
说明快捷键
智能提示-editalt + enter
提示代码模板-insert live templatectrl+j
使用xx块环绕-surround with …ctrl+alt+t
调出生成getter/setter/构造器等结构-generate …alt+insert
自动生成返回值变量-introduce variable …ctrl+alt+v
复制指定行的代码-duplicate line or selectionctrl+d
删除指定行的代码-delete linectrl+y
切换到下一行代码空位-start new lineshift + enter
切换到上一行代码空位-start new line before currentctrl +alt+ enter
向上移动代码-move statement upctrl+shift+↑
向下移动代码-move statement downctrl+shift+↓
向上移动一行-move line upalt+shift+↑
向下移动一行-move line downalt+shift+↓
方法的形参列表提醒-parameter infoctrl+p
  • 提高编写速度(下)
说明快捷键
批量修改指定的变量名、方法名、类名等-renameshift+f6
抽取代码重构方法-extract method …ctrl+alt+m
重写父类的方法-override methods …ctrl+o
实现接口的方法-implements methods …ctrl+i
选中的结构的大小写的切换-toggle casectrl+shift+u
批量导包-optimize importsctrl+alt+o
  • 类结构、查找和查看源码
说明快捷键
如何查看源码-go to class…ctrl + 选中指定的结构 或 ctrl+n
显示当前类结构,支持搜索指定的方法、属性等-file structurectrl+f12
退回到前一个编辑的页面-backctrl+alt+←
进入到下一个编辑的页面-forwardctrl+alt+→
打开的类文件之间切换-select previous/next tabalt+←/→
光标选中指定的类,查看继承树结构-Type Hierarchyctrl+h
查看方法文档-quick documentationctrl+q
类的UML关系图-show uml popupctrl+alt+u
定位某行-go to line/columnctrl+g
回溯变量或方法的来源-go to implementation(s)ctrl+alt+b
折叠方法实现-collapse allctrl+shift+ -
展开方法实现-expand allctrl+shift+ +
  • 查找、替换与关闭
说明快捷键
查找指定的结构ctlr+f
快速查找:选中的Word快速定位到下一个-find nextctrl+l
查找与替换-replacectrl+r
直接定位到当前行的首位-move caret to line starthome
直接定位到当前行的末位 -move caret to line endend
查询当前元素在当前文件中的引用,然后按 F3 可以选择ctrl+f7
全项目搜索文本-find in path …ctrl+shift+f
关闭当前窗口-closectrl+f4
  • 调整格式
说明快捷键
格式化代码-reformat codectrl+alt+l
使用单行注释-comment with line commentctrl + /
使用/取消多行注释-comment with block commentctrl + shift + /
选中数行,整体往后移动-tabtab
选中数行,整体往前移动-prev tabshift + tab

五、IDEA常用插件

5.1 检查规范&可视化{}&代码概览&显示快捷键

1、Alibaba Java Coding Guidelines:阿里巴巴Java编码规范检查插件,检测代码是否存在问题,以及是否符合规范
使用:在类中,右键,选择编码规约扫描,在下方显示扫描规约和提示。根据提示规范代码,提高代码质量。
2、Rainbow Brackets:给括号添加彩虹色,使开发者通过颜色区分括号嵌套层级,便于阅读
3、CodeGlance Pro:在编辑器右侧生成代码小地图,可以拖拽小地图光标快速定位代码,阅读行数很多的代码文件时非常实用。
4、Presentation Assistant:显示快捷键操作的按键
5、Key Promoter X:快捷键提示插件。当你执行鼠标操作时,如果该操作可被快捷键代替,会给出提示,帮助你自然形成使用快捷键的习惯,告别死记硬背。

5.2 翻译&统计代码&getset方法&可视化字节码&力扣&json&主题

1、Translation
注册翻译服务(有道智云、百度翻译开放平台、阿里云机器翻译)帐号,开通翻译服务并获取其应用ID和密钥
绑定应用ID和密钥:偏好设置(设置) > 工具 > 翻译 > 常规 > 翻译引擎 > 配置…
使用:鼠标选中文本,点击右键即可自动翻译成多国语言。
注:请注意保管好你的应用密钥,防止其泄露。
2、Statistic:代码统计工具
3、GenerateAllSetter:创建一个对象后,想依次调用 Setter 函数对属性赋值,如果属性较多很容易遗漏或者重复
可以使用这 GenerateAllSetter 提供的功能,快速生成对象的所有 Setter 函数(可填充默认值),然后自己再跟进实际需求设置属性值。
4、jclasslib bytecode viewer:可视化的字节码查看器
使用方法:

  • 在 IDEA 打开想研究的类。
  • 编译该类或者直接编译整个项目( 如果想研究的类在 jar 包中,此步可略过)。
  • 打开“view” 菜单,选择“Show Bytecode With jclasslib” 选项。
  • 选择上述菜单项后 IDEA 中会弹出 jclasslib 工具窗口。

5、JavaDoc:按alt+insert,执行操作:
6、LeetCode Editor:在 IDEA 里刷力扣算法题
7、GsonFormatPlus:根据 json 生成对象。
使用:使用alt + s 或 alt + insert调取。

{
    "name": "tom",
    "age": "18",
    "gender": "man",
    "hometown": {
        "province": "河北省",
        "city": "石家庄市",
        "county": "正定县"
    }
}

8、Material Theme UI:安装自己喜欢的主题
IDEA 支持各种主题插件,其中最出名的当属 Material Theme UI。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/562499.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux--链表 第二十五天

1. 链表 t1.next -> data t1.next->next->data .(点号)的优先级比->的大 所以 t1.next->data 就可以了 不用(t1.next)->data 2. 链表的静态增加和动态遍历 打印链表算法, void printLink(struct Test *head) { struct Te…

如何做一个优秀的系统工程师?

一、背景 做好一个优秀系统工程师的关键在于其在产品开发生命周期中对需求分析的有效把握与运用,这个过程直接影响到系统的整体架构设计、规格参数的明确设定以及业务流程的深度挖掘与优化。需求分析不仅是理解用户实际问题的核心环节,更是界定系统开发…

Java基础之JVM对象内存分配机制简介

一 对象内存分配 1.1 运行时数据区域 1.2 常见java应用启动JVM参数: -Xss:每个线程的栈大小(单位kb)-Xms:堆的初始大小,默认物理内存的1/64,示例:-Xms:4g -Xms:10m-Xmx:堆的最大可用大小,默认物…

LeetCode 热题 100 题解:普通数组部分

文章目录 题目一:最大子数组和(No. 53)题解 题目二:合并区间(No. 56)题解 题目三:轮转数组(No. 189)题解 题目四:除自身以外数组的乘积(No. 238&a…

springSecurity用户认证和授权

一,框架介绍 Spring 是一个非常流行和成功的 Java 应用开发框架。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权&am…

zig v0.12.0 发布 — x-cmd 提供 zig 快捷安装方法和 x zig 模块

文章目录 简介功能特点v0.12.0 新特性[重新设计 Autodoc 的工作原理](https://ziglang.org/download/0.12.0/release-notes.html#Redesign-How-Autodoc-Works)语法变更各类标准库变更构建系统变更 常见用法**使用案例**:竞品和相关项目进一步阅读 简介 Zig 是一种通用编程语言…

模电期末复习(五)集成运算放大电路

集成运算放大电路 5.1 集成放大电路的特点5.2 集成运放的主要技术指标5.3 集成运放的基本组成部分5.3.1 偏置电路5.3.2 差分放大输入级5.3.3 中间级5.3.4 输出级 5.4 集成运放的典型电路5.4.1 双极型集成运放LM741 5.5 各类集成运放的性能特点5.6 集成运放使用中的几个具体问题…

JAVAEE——IP协议

文章目录 IP协议IP协议报头格式IP协议报头的各个区段四位版本四位首部长度八位服务类型16位总长度16位标识,3位标志,13位片偏移八位生存时间八位协议 地址管理IP地址解决提议1:动态分配Ip地址解决提议2:NAT机制 IP协议 IP协议报头…

基于SpringBoot+Vue钢材销售管理系统的设计与实现

系统介绍 为了更好地发挥本系统的技术优势,根据钢材销售管理系统的需求,本文尝试以B/S经典设计模式中的Spring Boot框架,JAVA语言为基础,通过必要的编码处理、钢材销售管理系统整体框架、功能服务多样化和有效性的高级经验和技术…

分类神经网络3:DenseNet模型复现

目录 DenseNet网络架构 DenseNet部分实现代码 DenseNet网络架构 论文原址:https://arxiv.org/pdf/1608.06993.pdf 稠密连接神经网络(DenseNet)实质上是ResNet的进阶模型(了解ResNet模型请点击),二者均是…

葡萄书--关系图卷积神经网络

异质图和知识图谱 同质图与异质图 同质图指的是图中的节点类型和关系类型都仅有一种 异质图是指图中的节点类型或关系类型多于一种 知识图谱 知识图谱包含实体和实体之间的关系&#xff0c;并以三元组的形式存储&#xff08;<头实体, 关系, 尾实体>&#xff0c;即异…

vlan的学习笔记1

vlan&#xff1a; 1.一般情况下:以下概念意思等同: 一个vlan一个广播域 一个网段 一个子网 2.一般情况下: &#xff08;1&#xff09;相同vlan之间可以直接通信&#xff0c;不同vlan之间不能直接通信! &#xff08;2&#xff09;vlan技术属于二层技术&…

三、Flask模型基础

ORM 创建模型 # exts.py:插件管理 # 扩展的第三方插件 # 1.导入第三方插件 from flask_sqlalchemy import SQLAlchemy # ORM插件 from flask_migrate import Migrate # 2. 初始化 db = SQLAlchemy() # ORM migrate = Migrate() # 数据迁移 # 3. 和app对象绑定 def init_ex…

基于Bootstrap 4的企业项目体验服务网站模板

目录 一.前言 二.展示 三.下载链接 一.前言 网页包含以下内容&#xff1a; 页面基本信息&#xff1a;设置页面的字符集、兼容性、视口等元数据。 网站标题和描述&#xff1a;定义了网站的标题为"Benten"&#xff0c;同时也设置了关键词和描述。 CSS样式表链接&a…

基于SpringBoot+Vue七匹狼商城系统的设计与实现

系统介绍 近年来随着社会科技的不断发展&#xff0c;人们的生活方方面面进入了信息化时代。计算机的普及&#xff0c;使得我们的生活更加丰富多彩&#xff0c;越来越多的人使用通过网络来购买各类的商品。早期商品的销售和购买都是通过实体店&#xff0c;这种购买方式需要耗费…

《苍穹外卖》Day03部分知识点记录

一、公共字段自动填充 业务表中的公共字段&#xff1a; 序号字段名含义数据类型操作类型1create_time创建时间datetimeinsert2create_user创建人idbigint3update_time修改时间datetimeinsert、update4update_user修改人idbigint 问题&#xff1a;代码冗余&#xff0c;不便于…

const成员函数 以及 取地址及const取地址操作符重载

目录 const成员函数 结论&#xff1a; 取地址及const取地址操作符重载 const成员函数 将const 修饰的 “ 成员函数 ” 称之为 const成员函数 &#xff0c; const 修饰类成员函数&#xff0c;实际修饰该成员函数的&#xff08;*this&#xff09; &#xff0c;表明在该成员函数…

ROS2 王牌升级:Fast-DDS 性能直接碾压 zeroMQ 「下」

以下内容为本人的学习笔记&#xff0c;如需要转载&#xff0c;请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/aU1l3HV3a9YnwNtC1mTiOA 性能比较 下面就以官网的测试数据为准&#xff0c;让我们一起来看看它们的性能差别到底怎样。 本次比较仅针对 Fast RT…

AI安全之问:我们的智能助手真的安全吗?

在我们日益依赖人工智能来撰写文档、编写程序代码、甚至创作艺术作品的今天&#xff0c;我们是否曾经想过这些智能系统可能面临的被恶意操纵的风险&#xff1f; 分享几个网站 GPT-3.5研究测试&#xff1a; https://hujiaoai.cn GPT-4研究测试&#xff1a; https://higpt4.cn…

2024数学建模时间汇总与竞赛攻略

目录 2024数学建模汇总&#xff08;时间、报名费、获奖率、竞赛级别、是否可跨校&#xff09; 中国高校大数据挑战赛 “华数杯”国际大学生数学建模竞赛 美国大学生数学建模竞赛&#xff08;美赛&#xff09; 数学中国&#xff08;认证杯&#xff09;数学建模网络挑战赛 …