IntelliJ IDEA 使用心得与常用快捷键

news2024/11/12 12:26:38

刚开始学习写Java的时候,用的eclipse,正式工作后,主要用的myeclipse,去年初在前辈的推荐下,在2折的时候买了正版的 IntelliJ IDEA 和 Pycharm,12.0版终生使用,一年更新。
使用前早就久闻其名,据说是最好的Java开发工具。
起先用的非常不习惯,但是花了钱的,硬着头皮用了下去。
短短一个礼拜,彻底爱上了它!就是辣么酸爽!

--------------------------------------------------------------谨以此文献给对于拥抱IDEA还存在疑虑的筒子们

JetBrains(这个公司的名称翻译过来就是“大脑喷射?”) 公司的宣传语是这么说的:Develop with pleasure!(带着快乐开发!)

Why?
他们咋这么有信心呢?
这到底是怎样的一个工具?

跟我一起来数数IDEA特别长的地方:

一.黑色主题 Darcula

眼睛舒服,最重要的是酷!
设置方式:FILE--Settings--Edit--Colors&Fonts--Scheme name

 



二.智能提示

创建或引入项目的时候,会自动引入缺少的包,真找不着的还可以search in the net
键入代码的时候,区分大小写的智能提示,自动引入包,如果有重名的会列出所有选择,但是比 myeclipse 的更聪明,至于怎么个聪明法,你自个儿试试就知道了

三.工具集成

基本上正式开发的常用工具基本都集成了,而且基本都在你非常容易触到的位置。
说说我比较常用的:

1.ant
你懂的

2.maven
你也懂的

3.SVN
相比之下,IDEA的SVN的提交提供了更多的选项和功能
提交的界面两侧会显示当前文件和修改的部分对比,可以非常方便地检查和修改文件。
提交前:
(1).可选择自动格式化
(2).可选择自动忽略没有使用的imports
(3).可选择分析代码
(4).检查是否有TODO
提交后甚至可以选择将改变上传到特定的目录
 



4.系统终端
有了这个东西,你就不必频繁地切换窗口了
打开方式:Tools--Open Terminal
快捷键:Alt+F12

5.SSH工具
打开方式:Tools--Start SSH session

6.数据库连接工具
打开方式:View--Tool Windows--Database

7.IDEA talk
神奇的东西,你可以联系局域网内其它的IDEA使用者,可以方便地把你的代码show给你的同事
打开方式:View--Tool Windows--IDEA talk

8.Changes
非常方便的changes视图,它会变色显示你所有改动过的文件,而且可以方便的与 本地历史 或 线上历史 做对比
打开方式:View--Tool Windows--Changes

还有git、github、cvs、groovy consle以及等等,真没有的你还可以:
FILE--Settings--Plugins

四.强大的绘图工具

读源码看不懂项目结构?写文章画类图好麻烦?
右键diagram帮助你
 


上个例图:
 


右键选择 Show Categories 有惊喜,什么值域、方法、构造器、内部类统统有

五.无缝接入eclipse和myeclipse

IDEA可以直接打开有.project文件的项目,也可以将自身项目导出成eclipse的项目。
而且因为IDEA的项目配置文件为1个.iml文件加一个独立文件夹.idea,
所以只要你将两者放入ignore目录,即使在你个人使用IDEA而团队使用其他IDE的情况下,也并不会对其他人造成麻烦。

导出方法:FILE--Export to eclipse

六.更小的体积,更快的速度

用过myeclipse的你明白的

综上,我想你应该能够明白,为啥用IDEA写代码,就是那么愉快,就是那么酸爽,就是那么令人停不下来!


接着分享开发中我比较常用的一些快捷键:

一.找文件找代码找引用相关

1.双击shift
 在项目的所有目录查找,就是你想看到你不想看到的和你没想过你能看到的都给你找出来

2.ctrl+f
当前文件查找特定内容

3.ctrl+shift+f
当前项目查找包含特定内容的文件

4.ctrl+n
查找类

5.ctrl+shift+n
查找文件

6.ctrl+e
最近的文件

7.alt+F7
非常非常频繁使用的一个快捷键,可以帮你找到你的函数或者变量或者类的所有引用到的地方

二.编辑相关

1.shift+enter
另起一行

2.ctrl+r
当前文件替换特定内容

3.ctrl+shift+r
当前项目替换特定内容

4.shift+F6
非常非常省心省力的一个快捷键,可以重命名你的类、方法、变量等等,而且这个重命名甚至可以选择替换掉注释中的内容

5.ctrl+d
复制当前行到下一行

6.ctrl+x
剪切当前行

7.ctrl+c \ ctrl+v 
大家都懂的

8.ctrl+z
撤销

9.ctrl+shift+z
取消撤销

10.ctrl+k
提交代码到SVN

11.ctrl+t
更新代码

12.alt+insert
非常非常以及相当方便的一个组合键,不信您往下看
在类中使用:
 



可以自动生成构造器、getter/setter等等常用方法
在项目目录上使用:
 



可用于新建各种文件。

13.alt+enter
又是一个大杀器,有多杀?
例1:
发现代码很“黄”怎么办?
 


鼠标移上去喵一下:
 


试试alt+enter:
 


选择simplify看看
 


我勒个去,代码简洁了有木有啊!

PS:黄色警告编译可以通过,不影响程序的正常运行,一般都是一些对于代码优化的建议,我遇到过的有:
(1).can be simplify
代码可以简化
(2).Variable is never use
声明的变量从未被使用
(3)unnecessary boxing
不必要的声明包装

以及等等等,多留意下,对于编码的某些细节能够更了解。

例2:
写个类实现某个接口,加上 implements Runnable 后你就会发现这条红色的波浪线:
 


咱试试在这行上来个 alt+enter:
 


感动地哭了有木有?你想到的没想到的IDEA都帮你想到了。
看到代码里提示的各种红XX,就试试alt+enter吧!什么未抛异常啊没有try catch啊都能搞得定。

14.ctrl+alt+L

自动格式化代码,我已经养成了写完代码就来一发的习惯。
你可以个性化设置你自己的代码风格:File--Settings--CodeStyle

——————————————————————————————————————————

凡事有利有弊,IDEA同样是把双刃剑,最后说说它不好的地方

1.最重要的就是“贵”!
专业版个人许可2折可以接受,5折小贵,不打折桑不起!!!囧RZ~
美刀的消费水准令国内大多在屌丝线上挣扎的猿类们望而却步。
好在JetBrains是有社区版的,最近对于学生也有免费的Key。
对于使用破解版的小伙伴,建议自己用用就好了,不必太声张。

用户养成良好的软件付费习惯,才能让我们的工作变得越来越有价值。

2.集成太完善了
集成的工具完全能够应付大多数的工作需求,对于不求甚解又偷懒的筒子们,直接使用,可能很多工具的细节,你都不会了解,也不会再去了解了。
比如:maven,ant

3.不自带JDK
不是缺点的缺点,myeclipse是集成的


差不多了,该撸代码了。
以上这些,就是我使用IDEA一年半来几乎所有的心得了。
能力有限,砖头轻拍。
如果你有杀伤力更强大的手段,欢迎交流。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【rust】rust基础代码案例

文章目录 代码篇HelloWorld斐波那契数列计算表达式(加减乘除)web接口 优化篇target/目录占用一个g,仅仅一个actix的helloWorld demo升级rust版本, 通过rustupcargo换源windows下放弃吧,需要额外安装1g的toolchain并且要…

施工企业为什么要用工程项目管理软件?工程项目管理软件的用处是什么?

施工企业一定会遇到哪些问题?工人怠工、材料浪费、数据造假、工期拖延、质量问题、安全隐患等。这些问题正在悄然侵蚀建施工业的经济效益。每一个环节的失控都可能导致巨大的经济损失,还可能损害企业的声誉。面对日益复杂的工程管理环境,如何…

【C++】详解RAII思想与智能指针

🌈 个人主页:谁在夜里看海. 🔥 个人专栏:《C系列》《Linux系列》 ⛰️ 丢掉幻想,准备斗争 目录 引言 内存泄漏 内存泄漏的危害 内存泄漏的处理 一、RAII思想 二、智能指针 1.auto_ptr 实现原理 模拟实现 弊端…

所谓的情商高,其实就是会说话!

所谓的情商高,其实就是会说话! 1.当遇到不知道的事情时,不要直截了当地说“不知道”。而应委婉地表达为“我想听听你的看法”。 如此既能避免尴尬,又能展现出对对方见解的尊重和期待。 2.不要简单地说“我迟到了”,…

ALB搭建

ALB: 多级分发、消除单点故障提升应用系统的可用性(健康检查)。 海量微服务间的高效API通信。 自带DDoS防护,集成Web应用防火墙 配置: 1.创建ECS实例 2.搭建应用 此处安装的LNMP 3.创建应用型负载均衡ALB实例 需要创建服务关联角…

【spark面试】spark的shuffle过程

概述 所有的shuffle的过程本质上就是一个task将内存中的数据写入磁盘,然后另一个task将磁盘中的数据读入内存的过程。 对于mapreduce来说,我们将内存中的数据写入磁盘成为maptask,将磁盘中的数据读入内存称为reducetask。 而对于spark来说&…

Android 实现一个系统级的悬浮秒表

前言 由于项目需要将手机录屏和时间日志对应起来,一般的手机录屏只能看到分钟,但是APP的日志输出通常都是秒级别的,于是决定自己手撸一个悬浮秒表(有拖拽效果)。 效果如下 具体实现 大致的实现思路: 创…

【科普小白】LLM大语言模型的基本原理

一、要了解LLM大模型的基本原理就要先来了解一下自然语言处理(NLP)。 NLP 是 AI 的一个子领域,专注于使计算机能够处理、解释和生成人类语言,主要任务包括:文本分类、自动翻译、问题回答、生成文本等。到底是NLP促生了…

Go语言开发商城管理后台-GoFly框架商城插件已发布 需要Go开发商城的朋友可以来看看哦!

温馨提示:我们分享的文章是给需要的人,不需要的人请绕过,文明浏览,误恶语伤人! 前言 虽然现在做商城的需求不多,但有很多项目中带有商城功能,如社区医院系统有上服务套餐、理疗产品需求、宠物…

ts 如何配置引入 json 文件

ts 如何配置引入 json 文件 参考文档: https://maxgadget.dev/article/how-to-import-a-json-file-in-typescript-a-comprehensive-guide 项目中有一个 .json 的文件是配置文件,如何引入到 ts 项目中 配置 tsconfig.json 文件,添加这两个 {…

如何让ffmpeg运行时从当前目录加载库,而不是从/lib64

程序在linux下运行时,一般从 /lib64 目录下加载依赖的库文件,如xxx.so. 有时候,系统里没有这些库,也不想从系统目录下加载,怎么办呢? 看下面的调整过程。 使用的源代码是 ffmpeg-6.1.tar.xz 解压后&…

【基于轻量型架构的WEB开发】课程 12.4 页面跳转 Java EE企业级应用开发教程 Spring+SpringMVC+MyBatis

12.4 页面跳转 12.4.1 返回值为void类型的页面跳转 返回值为void类型的页面跳转到默认页面 当Spring MVC方法的返回值为void类型,方法执行后会跳转到默认的页面。默认页面的路径由方法映射路径和视图解析器中的前缀、后缀拼接成,拼接格式为“前缀方法…

订单日记助力“实峰科技”提升业务效率

感谢北京实峰科技有限公司选择使用订单日记! 北京实峰科技有限公司,成立于2022年,位于北京市石景区,是一家以从事生产、销售微特电机、输配电及控制设备等业务为主的企业。 在业务不断壮大的过程中,想使用一种既能提…

【Ubuntu24.04】部署服务(基础)

目录 0 背景1 设置静态IP2 连接服务器3 部署服务3.1 安装JDK3.2 下载并安装MySQL8.43.2.1 从官网下载 APT Repository 配置文件3.2.2 安装 MySQL8.43.2.3 配置远程连接 3.3 下载并配置Redis3.4 上传jar包并部署应用3.5 开放端口 4 总结 0 背景 在成功安装了Ubuntu24.04操作系统…

Docker镜像分成

1. 镜像分层原理 1.1 镜像分层的定义与结构 Docker 镜像的分层存储机制是其核心特性之一,它允许 Docker 镜像由多个只读层组成,这些层叠加在一起形成一个完整的文件系统。每个层代表 Dockerfile 中的一个指令,并且每一层都是不可变的&#…

JavaWeb开发9

ResponseBody 类型:方法注解、类注解 位置:Controller方法上/类上 作用:将方法返回值直接响应,如果返回值类型是实体对象/集合,将会转换为JSON格式响应 说明:RestControllerControllerResponseBody; 统…

C#中日期和时间的处理

目录 前言 时间对于我们的作用 一些关于时间的名词说明 格里高利历 格林尼治时间(GMT) 协调世界时(UTC) 时间戳 DateTime 初始化 获取时间 计算时间 字符串转DateTime 存储时间 TimeSpan 初始化它来代表时间间隔 用它相互计算 自带常量方便用于和ticks进行计…

Docker + Jenkins + gitee 实现CICD环境搭建

目录 前言 关于Jenkins 安装Jenkins docker中运行Jenkins注意事项 通过容器中的Jenkins,把服务打包到docker进行部署 启动Jenkins 创建第一个任务 前言 CI/CD(持续集成和持续交付/持续部署),它可以实现自动化的构建、测试和部署…

linux之文件(上)

linux之文件(上) 一.文件的预备知识二.C语言的文件接口和linux的系统接口2.1fopen2.2fclose2.3open2.4close2.5write2.6read 三.文件与系统3.1文件描述符3.2 标准输入,标准输出和标准错误3.3fd的分配规则 四.重定向4.1重定向的概念4.2重定向的…

【进度猫-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…