热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

常用快捷键_IDEA神器入坑指南!17个常用快捷键奉上!

本文由编程笔记#小编为大家整理,主要介绍了IDEA神器入坑指南!17个常用快捷键奉上!相关的知识,希望对你有一定的参考价值。我前几年写过一个
本文由编程笔记#小编为大家整理,主要介绍了IDEA 神器入坑指南!17 个常用快捷键奉上!相关的知识,希望对你有一定的参考价值。


我前几年写过一个 android Studio 中的快捷键教程,发表在 CSDN 上,最近有小伙伴看我讲 Spring Boot 视频,IDEA 用的还比较溜,问我有没有整理好的快捷键,我一般就直接把当时写的 Android Studio 的快捷键发给他。因为大家知道 as 其实就是基于 IDEA 来做的。

不过鉴于很多小伙伴有快速掌握 IDEA 的需求 ,因此我打算抽空写一个系列的教程,带着大家从头到尾来学习下 IDEA 的使用。欢迎小伙伴们搬好小板凳持续关注。

本文就当作是一个引子吧。


我为什么用 IDEA

曾经我也是 Eclipse 坚定的拥趸者。

刚开始学 Java 那会,用了一个非常小巧的开发工具 JCreator,只有几 MB 大小,分为社区版和专业版,专业版是收费的。校公选课上老师就用了这个工具,我也跟着用这个,用这个学完了整个 JavaSE,很多基础的算法题我都是用这个工具完成的。比起现在动辄几百 MB 几 G 的 IDE 而言,这个真的可以算作是小巧玲珑。今天还特意去网上搜了一下 JCreator,发现已经好久没有更新了,估计是凉了。

后来接触到 JavaWeb 之后,就用了 Eclipse 系的 IDE 了。

Eclipse、MyEclipse 以及 Spring Tool Suite,这些都算是 Eclipse 系的 IDE,其中 STS 使用时间最久了。大学毕业后做过一段时间的 Android 开发,当时用的也是 Eclipse。当时的 Eclipse 用的滚瓜烂熟,从 Eclipse 切换到 IDEA 上犹豫了好久,后来想想我还年轻,程序员之路才刚刚开始,不应该放弃尝试新事物,于是就尝试切换到 Android Studio 上,大概一周时间,各种快捷键就用顺手了,并且慢慢喜欢上了这个开发工具,后来又做回老本行 Java 后端,就顺手用了 IntelliJ IDEA,这两年前后端都做,前端果断选择 WebStorm,快捷键都是一样的,也是很顺手。

另外 Java 官方还有一个 IDE ,NetBeans,这个工具这几年存在感愈来愈弱。我自己也只是在刚开始学习 Java 的时候好奇尝试过,基本上没用这个做过项目。


IDEA 介绍

IDEA 全称 IntelliJ IDEA,由 JetBrains 公司开发,公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。对于 IDEA ,该公司致力于提供一个面向 JVM,功能强大且符合人体工程学的 IDE,所谓的面向 JVM,就是 IDEA 要支持所有运行在 JVM 上的开发语言,例如 Scala,Kotlin 等。

IDEA 在业界被公认为最好的 Java 开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Maven、JUnit、Svn、Git、代码审查等方面的功能可以说是超常的。


IDEA 中的版本问题

IDEA 目前共分为两个版本,社区版和旗舰版。社区版功能单一但是免费,使用社区版直接创建 Maven 项目或者 Spring Boot 项目都不支持,旗舰版功能丰富但是收费。我自己因为在 GitHub 上有几个比较受欢迎的开源项目(https://github.com/lenve),因为这些项目,我申请到 JetBrains 一整套的官方授权。

大家安装办法很多,这个应该不用我多说,大伙都有办法搞定。


IDEA 各种特性

IDEA 中有很多好玩的特性,我们来逐个看下:



  • 智能的选取


有的时候我们可能需要从某个变量到表达式到方法甚至到类,扩充者选取,这个时候就可以使用 Ctrll+W 来实现:



  • 丰富的导航模式


IDEA 提供了丰富的导航查看模式,例如 Ctrll+E 显示最近打开过的文件:

IDEA 神器入坑指南!17 个常用快捷键奉上!

Ctrll+N 或者连按两下 Shift,会出现一个类名搜索框,有的时候查看源码用这个非常方便。

IDEA 神器入坑指南!17 个常用快捷键奉上!



  • 历史记录功能


在 IDEA 中,你可以不用借助 Git 或者 Svn 之类的工具,就可以查看文件修改历史。

IDEA 神器入坑指南!17 个常用快捷键奉上!



  • 辅助编码


这个其实算不上两点,因为基本上各种 Java 开发工具都有。Java Bean 中常见的 toString()、hashCode()、equals() 以及所有的get/set 方法都可以自动生成(Windows 是 Alt+Insert,Mac 是 Command +N)。



  • XML 的完美支持


这个算是最赞的功能之一了。Eclipse 中做 Spring 开发,多多少少你得提前准备好一套 Spring 配置模板,而在 IDEA 中则不需要。引入 Spring 依赖之后,就会有 Spring 的 XML 模板,可以直接用。因此,如果使用 IDEA,每个人都可以不用参考任何外部文件配置 SSM。



  • 列编辑模式


这个也是我经常使用的功能之一,在有的场景下非常方便,按住 Alt 键就可以快速实现列编辑:

IDEA 神器入坑指南!17 个常用快捷键奉上!



  • 预置模板


这个基本上大部分 IDE 都有,只不过在 IDEA 中,提供的内置模板更加丰富,例如 main 方法的生成:

IDEA 神器入坑指南!17 个常用快捷键奉上!

这是系统自带的,按下 Ctrll+J,然后点击右上角的小灯泡,我们也可以自定义代码模板。



  • 对 Git 的友好支持


IDEA 集成了目前大部分的版本工智工具插件,例如 CVS、Svn、Git 等,包括 GitHub 也可以在 IDEA 中非常愉快的使用。



  • 智能代码


自动检查代码,发现与预置规范有出入的代码给出提示,自动完成修改。

IDEA 神器入坑指南!17 个常用快捷键奉上!

当然还有很多其他特性,我就不一一列举了。本系列后面的文章会向大家逐个介绍。


从 Eclipse 切换过来注意事项

如果大家是从 Eclipse 上切换到 IDEA ,我总结了以下几个常见问题:



  • 快捷键问题


IDEA 支持使用 Eclipse 那一套快捷键,但是个人非常不建议切换,感觉没有必要,增加以后的使用成本,可能还会错过一些 IDEA 中非常棒的功能。当然如果你只是想稍微的尝试一下 IDEA,那就无所谓了。



  • 保存问题


IDEA 中没有保存按钮,当然你也不用 Ctrll+S 了,工具会自动帮我们保存,这一点也和 Eclipse 不同。不知道大家有没有在工作中遇到突然停电的问题,我以前遇到过一次,幸好当时使用的是 IDEA,损失不大。



  • 项目目录


这个可能是很多初次接触 IDEA 的小伙伴最不习惯的地方了。Eclipse 中一个窗口中可以打开多个 Project,也可以打开多个 Module,但是在 IDEA 中,一个窗口只能打开一个 Project(当然 Module 也是可以打开多个的),如果在 IDEA 中要打开一个新的 Project ,只能再打开一个新的窗口。

很多人将 IDEA 中的 Project 类比为 Eclipse 中的 workspace,将 IDEA 中的 module 类比为 Eclipse 中的 Project,我认为这个虽然形象但是极为不恰当的,Project 和 Module 就当成正常的 Project 和 Module 就行了。


常用快捷键

这里主要是 Windows 上的快捷键,Mac 上部分快捷键会有一点点小小差异。



  • Ctrl+N


这个可以用来快速搜索类。



  • Ctrl+Shift+N


这个可以用来快速搜索文件。



  • Ctrl+ALT+SPACE


代码提示(类似于ALT+/),这个快捷键使用场景并不多,大部分情况下 IDEA 都会主动提示。



  • ALT+F7


这个用来查看某一个方法或者变量在哪里被使用了。



  • Ctrl+Q


查看代码提示及内容,这个说起来并没有 Eclipse 方便,Eclipse 中将光标放在类名或者方法名上就会出现 doc,但是在 IDEA 中需要按下 Ctrl+q 才会出现。



  • Ctrl+B


查看类的定义,也可以像 Eclipse 一样,按下 Ctrl 再鼠标左键单击。



  • Ctrl+F12


这个可以列出类中的所有方法。



  • SHIFT+F6


变量或者类名重命名。



  • ALT+INSERT


生成 get/set/toString/hashCode/equals 等方法



  • Ctrl+ALT+T


代码包裹,选中代码后,可以被 for/if/trycache 等代码块包裹:



  • Ctrl+ALT+B


查看接口或者抽象类的子类。也可以通过 Ctrl+H 来查看。



  • Ctrl+D


代码复制到新的一行



  • Ctrl+Y


删除当前行



  • Ctrl+Alt+↑/↓


代码向上或者向下移动



  • Ctrl+Alt+enter


在当前行的上面创建新的一行



  • Ctrl+enter


在当前行的下面新建一行(光标不用移动到当前行的最末尾处)。

好了,本文就当是一个引子吧,后面再来和大家详细聊聊 IDEA 中的其他细节。


推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 图数据库中的知识表示与推理机制
    本文探讨了图数据库及其技术生态系统在知识表示和推理问题上的应用。通过理解图数据结构,尤其是属性图的特性,可以为复杂的数据关系提供高效且优雅的解决方案。我们将详细介绍属性图的基本概念、对象建模、概念建模以及自动推理的过程,并结合实际代码示例进行说明。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 实体映射最强工具类:MapStruct真香 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • 本文介绍了如何使用 Spring Boot DevTools 实现应用程序在开发过程中自动重启。这一特性显著提高了开发效率,特别是在集成开发环境(IDE)中工作时,能够提供快速的反馈循环。默认情况下,DevTools 会监控类路径上的文件变化,并根据需要触发应用重启。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 本文详细介绍了如何解决MyBatis中常见的BindingException错误,提供了多种排查和修复方法,确保Mapper接口与XML文件的正确配置。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
author-avatar
mobiledu2502909533
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有