几个好用的快捷键(持续更新)

Ctrl+Shift+f12 ,相当于myeclipse的ctrl+m 最大化窗口的
alt+shift+↑或↓,将当前行上移或下移
shift+enter ,当前行下一行插入一行并且光标定位到开头
ctrl+enter ,当前行上一行插入一行并且光标定位到开头
Ctrl+F12,可以显示当前文件的结构树
Ctrl+H ,显示继承关系树
Ctrl+E,最近的文件
Shift+Shift ,查找文件,类等等(包含自己写的和自带的,当时我查看的集合的一些类,也是面试重点)
Ctrl+Alt+T,可以把代码包在一个块内,例如:try/catch
Alt+Insert,可以生成构造器/Getter/Setter等
Ctrl+Alt+V,可以引入变量。例如:new String(); 自动导入变量定义
Ctrl+Alt+L,格式化代码
Ctrl+R,替换文本
Ctrl+F,查找文本,Shift+F3,向上查找/F3,向下查找
Alt+Shift+C,最近的更改历史
Alt+Shift+Up/Down,上/下移一行
Shift+F6,重构 – 重命名-替换变量名
Alt+Enter: 1.自动导包 2.也可以实现未实现的方法,在接口类和实现类上按都行
Ctrl+/或Ctrl+Shift+/,注释(//或者/**/)
Ctrl+J,模板代码提示(例如:serr,fori)
Ctrl+Alt+空格,普通提示(我改成了跟eclipse一样Alt+/)
F2 或 Shift+F2,高亮错误或警告快速定位
Ctrl+Shift+F7,高亮显示所有该文本,按 Esc 高亮消失
Alt+F3,逐个往下查找相同文本,并高亮显示
Ctrl+B/Ctrl+Click,快速打开光标处的类或方法(跳转到定义处)
Ctrl+Alt+B,跳转到方法实现处
Ctrl+Shift+Backspace,跳转到上次编辑的地方
Ctrl+O,重写父类的方法
Ctrl+I,实现接口的方法,一般用Alt+Enter
Ctrl+Y,删除当前行
Ctrl+D , 复制当前行到下一行,myeclipse是删除当前行!
Ctrl+Z ,万能的撤销
psvm/sout,main/System.out.println(); Ctrl+J,查看更多
Ctrl+U,转到父类
Ctrl+Shift+”+/-”,全部展开、折叠
Ctrl+Shift+u ,选中后大小写切换

一些相关文章摘录
1 智能提示
Intellij首当其冲的当然就是Intelligence智能!基本的代码提示用Ctrl+Space,还有更智能地按类型信息提示Ctrl+Shift+Space,但因为Intellij总是随着我们敲击而自动提示,所以很多时候都不会手动敲这两个快捷键(除非提示框消失了)。用F2/ Shift+F2移动到有错误的代码,Alt+Enter快速修复(即Eclipse中的Quick Fix功能)。当智能提示为我们自动补全方法名时,我们通常要自己补上行尾的反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾的字符。而且不只是括号,例如敲完if/for时也可以自动补上{}花括号。
最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架的配置文件和类,以静制动,在看似“静态”的外表下,智能地扫描理解你的项目是如何构造和配置的。
2 重构
Intellij重构是另一完爆Eclipse的功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。尤其看过《重构-改善既有代码设计》之后,有了Intellij的配合简直是令人大呼过瘾!也正是强大的智能和重构功能,使Intellij下的TDD开发非常顺畅。
切入正题,先说一个无敌的重构功能大汇总快捷键Ctrl+Shift+Alt+T,叫做Refactor This。按法有点复杂,但也符合Intellij的风格,很多快捷键都要双手完成,而不像Eclipse不少最有用的快捷键可以潇洒地单手完成(不知道算不算Eclipse的一大优点),但各位用过Emacs的话就会觉得也没什么了(非Emacs黑)。此外,还有些最常用的重构技巧,因为太常用了,若每次都在Refactor This菜单里选的话效率有些低。比如Shift+F6直接就是改名,Ctrl+Alt+V则是提取变量。
3 代码生成
这一点类似Eclipse,虽不是独到之处,但因为日常使用频率极高,所以还是罗列在榜单前面。常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码,用Ctrl+J可以查看所有模板。后面“辅助”一节中将会讲到Alt+Insert,在编辑窗口中点击可以生成构造函数、toString、getter/setter、重写父类方法等。这两个技巧实在太常用了,几乎每天都要生成一堆main、System.out和getter/setter。
另外,Intellij IDEA 13中加入了后缀自动补全功能(Postfix Completion),比模板生成更加灵活和强大。例如要输入for(User user : users)只需输入user.for+Tab。再比如,要输入Date birthday = user.getBirthday();只需输入user.getBirthday().var+Tab即可。
4 编辑
编辑中不得不说的一大神键就是能够自动按语法选中代码的Ctrl+W以及反向的Ctrl+Shift+W了。此外,Ctrl+Left/Right移动光标到前/后单词,Ctrl+[/]移动到前/后代码块,这些类Vim风格的光标移动也是一大亮点。以上Ctrl+Left/Right/[]加上Shift的话就能选中跳跃范围内的代码。Alt+Forward/Backward移动到前/后方法。还有些非常普通的像Ctrl+Y删除行、Ctrl+D复制行、Ctrl+</>折叠代码就不多说了。
关于光标移动再多扩展一点,除了Intellij本身已提供的功能外,我们还可以安装ideaVim或者emacsIDEAs享受到Vim的快速移动和Emacs的AceJump功能(超爽!)。另外,Intellij的书签功能也是不错的,用Ctrl+Shift+Num定义1-10书签(再次按这组快捷键则是删除书签),然后通过Ctrl+Num跳转。这避免了多次使用前/下一编辑位置Ctrl+Left/Right来回跳转的麻烦,而且此快捷键默认与Windows热键冲突(默认多了Alt,与Windows改变显示器显示方向冲突,一不小心显示器就变成倒着显式的了,冏啊)。
5查找打开
类似Eclipse,Intellij的Ctrl+N/Ctrl+Shift+N可以打开类或资源,但Intellij更加智能一些,我们输入的任何字符都将看作模糊匹配,省却了Eclipse中还有输入*的麻烦。最新版本的IDEA还加入了Search Everywhere功能,只需按Shift+Shift即可在一个弹出框中搜索任何东西,包括类、资源、配置项、方法等等。
类的继承关系则可用Ctrl+H打开类层次窗口,在继承层次上跳转则用Ctrl+B/Ctrl+Alt+B分别对应父类或父方法定义和子类或子方法实现,查看当前类的所有方法用Ctrl+F12。
要找类或方法的使用也很简单,Alt+F7。要查找文本的出现位置就用Ctrl+F/Ctrl+Shift+F在当前窗口或全工程中查找,再配合F3/Shift+F3前后移动到下一匹配处。
Intellij更加智能的又一佐证是在任意菜单或显示窗口,都可以直接输入你要找的单词,Intellij就会自动为你过滤。
6 其他辅助
以上这些神键配上一些辅助快捷键,即可让你的双手90%以上的时间摆脱鼠标,专注于键盘仿佛在进行钢琴表演。这些不起眼却是至关重要的最后一块拼图有:
Ø 命令:Ctrl+Shift+A可以查找所有Intellij的命令,并且每个命令后面还有其快捷键。所以它不仅是一大神键,也是查找学习快捷键的工具。
Ø 新建:Alt+Insert可以新建类、方法等任何东西。
Ø 格式化代码:格式化import列表Ctrl+Alt+O,格式化代码Ctrl+Alt+L。
Ø 切换窗口:Alt+Num,常用的有1-项目结构,3-搜索结果,4/5-运行调试。Ctrl+Tab切换标签页,Ctrl+E/Ctrl+Shift+E打开最近打开过的或编辑过的文件。
Ø 单元测试:Ctrl+Alt+T创建单元测试用例。
Ø 运行:Alt+Shift+F10运行程序,Shift+F9启动调试,Ctrl+F2停止。
Ø 调试:F7/F8/F9分别对应Step into,Step over,Continue。
此外还有些我自定义的,例如水平分屏Ctrl+|等,和一些神奇的小功能Ctrl+Shift+V粘贴很早以前拷贝过的,Alt+Shift+Insert进入到列模式进行按列选中。
7 最终榜单
这榜单阵容太豪华了,后几名都是如此有用,毫不示弱。
Ø Top #10切来切去:Ctrl+Tab
Ø Top #9选你所想:Ctrl+W
Ø Top #8代码生成:Template/Postfix +Tab
Ø Top #7发号施令:Ctrl+Shift+A
Ø Top #6无处藏身:Shift+Shift
Ø Top #5自动完成:Ctrl+Shift+Enter
Ø Top #4创造万物:Alt+Insert
太难割舍,前三名并列吧!
Ø Top #1智能补全:Ctrl+Shift+Space
Ø Top #1自我修复:Alt+Enter
Ø Top #1重构一切:Ctrl+Shift+Alt+T

常用配置

黑白主题

取消这个对勾不用每次打开上一次的项目,而是自己来选择
keymap–>other–>Class Name Completion

编码区的字体大小设置

控制台字体大小设置,可以设置的根编码区字体大小一样
修改默认的一些模板






下载和安装git,下载地址:https://git-scm.com/download/win,我本机使用的是window操作系统,安装好。



分别输入github的地址,本地空间路径,项目名称自动显示出的。右边Test一下。很简单。

经过漫长的等待,就ok了。

我这已经导入了,所以下面出现了警告信息。

导入完成的项目如下:

补充点github的地址:

点击Clone or Download就会出现地址。

构建工程一般就下面这2个

编译项目




SE工程的的使用

创建se工程的时候只需要选上本地java的SDK就行(jdk的根目录就行),然后选择本地的存储project路径

下图中的红字理解最好(这样可以在一个workspace中查看当前所有的工程项目),但是你要说每一个project就是project就是工程就是一个项目也行,那样的话,你就建一个workspace目录,然后每一个工程都新建一个project,然后存到workspace目录下,通过新窗口打开,来实现项目之间的对照查看等等,只不过不再一个窗口上,查看有点不太方便


对于上图红字的理解,你new一个空的project当workspace就行

生成java class,里面包含接口,类,单例类等等
Alt+insert 选中一个目录或包,可以新建一个class、package等等操
Alt+insert 在类中点击可以生成getter setter、构造器、toString方法等等

shift+f6:重命名 类名,文件名,变量名等等,如果某个类名写错了,而且还有依赖关系,它会将类名,文件名,以及一些依赖的地方都会自动进行修改,有些不是强行依赖的地方(例如修改的接口类UserService,而实现类的名字UserServiceImpl会提示你是否也跟随着修改,因为这里只是编码规范,名字不一样不是什么语法错误)
修改完后直接点回车就行

Alt+Enter: 1.自动导包 2.也可以实现未实现的方法,在接口类和实现类上按都行
也可以自己设置自动导包,不需要手动导入
IntelliJ IDEA可以自动优化导入包,但是有多个同名的类位于不同的包时,需要自己手动使用Alt + Enter进行导入。
Settings→Editor→General→Auto Import
选中Optimize imports on the fly和Add unambiguous imports on the fly

Optimize imports on the fly:自动去掉一些没有用到的包
Add unambiguous imports on the fly:自动帮我们优化导入的包

sout:输出语句自动补全

soutv:输出一个值,用于测试的较多,如下

手动创建一个测试类,如下


Debug断点调试

绿色的代表执行完了,黄色的代表将要执行,但是目前这行还没执行
step over:一步一步 越过 详细中间过程,到当前文件的下一行
step into:一步一步 进入 到详细中间过程(会跳的别的文件中)
最左下角那个方框中可以查看所有的断点,可以执行删除断点的操作。

web工程的使用

教你部署一个web项目:https://www.cnblogs.com/jxldjsn/p/8203859.html

这里我就创建在同一个workspace(也就是empty project)中,所以我是new Module,没有new Project

明确几个概念:javaSE版(标准) 和 javaEE版本(企业)是2个概念,发布的时间也都是互相独立的,例如现在最新的是javaSE11和javaEE8。
(关于javaME用的较少,一般是嵌入式或手机应用或小设备有应用,删减了javaSE的部分东西,加了一点适用小设备的API,安卓一般用的是SE+Android的SDK,也不用这个)

sdk:Software Development Kit 软件开发工具包,一个总称
jdk:Java Development Kit java开发工具包, jdk不分javaME,javaSE,javaEE,但是大家口中的jdk一般指的的javaSE

javaEE JavaSE javaME 用的JDK是同一个,开发javaSE工程的话只要有JDK就可以了,开发javaEE工程和javaME工程除了需要JDK还要有他们各自的一些jar包协助开发。

javaSE是基础 包含基础类,javaEE包含javaSE并且还有一些web开发的相关类

但是好像javaSE也可以用来开发web项目,可能是都集合了,哪个都可以了,还是说因为大家的ide(Integrated Development Environment 集成开发环境=编程软件)中集成了javaee?并肯定不是集合了(否则就不用分ee和se了),也不是集成了(那还需要下载什么jdk,直接都集成更好,而且版本众多而且一直在更新没法集成的),真正的原因是你开发web项目的时候用的还是javase,也就是jdk,但是你需要自己去导入相关web开发的jar包而已,一般咱们都是用哪个jar包导入哪个。

因此一般去官网下载的都是下载javaSE,目前版本用的最多的是1.8版,也是大家口中说的jdk1.8版本
下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

一般创建一个web项目的时候都需要选择一个servlet版本(影响着web.xml写法) 例如3.1版 4.0版,而这个版本又与javaEE的版本有关,例如javaEE8或更高—servlet4.0 javaEE7或更高—servlet3.1等等

 C:\Users\Administrator>java -versionjava version "1.8.0_31"-->JDKJava(TM) SE Runtime Environment (build 1.8.0_31-b13)--》JREJava HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)-->64位

下图中的javaEE版本有些说法,javaEE8一般不用web.xml,因为大部分都用注解的方式
所以可以将javaEE版本换7,底下的版本号选的是web.xml的3.1,但是根据表格用EE8也没问题

tomcat版本和servletl版本(也是web.xml版本)和jdk版本是有对应关系的

Servlet Spec JSP Spec EL Spec WebSocket Spec JASPIC Spec Apache Tomcat Version Latest Released Version Supported Java Versions
4.0 2.3 3.0 1.1 1.1 9.0.x 9.0.1 8 and later
3.1 2.3 3.0 1.1 1.1 8.5.x 8.5.37 7 and later
3.1 2.3 3.0 1.1 N/A 8.0.x (superseded) 8.0.53 (superseded) 7 and later
3.0 2.2 2.2 1.1 N/A 7.0.x 7.0.92 6 and later(7 and later for WebSocket)
2.5 2.1 2.1 N/A N/A 6.0.x (archived) 6.0.53 (archived) 5 and later
2.4 2.0 N/A N/A N/A 5.5.x (archived) 5.5.36 (archived) 1.4 and later
2.3 1.2 N/A N/A N/A 4.1.x (archived) 4.1.40 (archived) 1.3 and later
2.2 1.1 N/A N/A N/A 3.3.x (archived) 3.3.2 (archived) 1.1 and later

通过利用web.xml中写sevlet标签和servlet-mapping标签实践证明,我用
javaEE8–web.xml4.0(有个警告:21-Dec-2018 08:35:52.335 WARNING [RMI TCP Connection(5)-127.0.0.1] org.apache.tomcat.util.descriptor.web.WebXml.setVersion Unknown version string [4.0]. Default version will be used. 自己根据上面的官方表格推断应该是我的tomcat版本低了的问题,但正常使用,因为这个警告说默认版本将被使用应该是自动给我降了web.xml的版本吧)
javeEE8–web.xml3.1
javaEE7–web.xml3.1
tomcat都是8.0.9都正常使用,没啥问题


server:服务器的意思

Deployment:部署的意思

如下图在部署Deployment选项卡中,可以点击加号来添加更多的web项目(也就是说 启动一个tomcat,部署多个web项目),每个项目都要起个上下文路径用来访问



上面这些配置好,就可以启动tomcat了,主页面上的绿色三角启动就行,因为项目已经部署好了

改了后端代码只需要点击重新部署一下就行,不用重启tomcat,大大提高了效率!!
下图中选中的是3个已经部署好了的web项目,双击可以直接从浏览器中访问!!

关于web项目的war包:

exploded:分解的–》这种模式在你运行项目之后会产生一个分解的完整的项目文件夹(不是一个压缩包),该文件夹可以直接放到你的web容器中,就可以运行。

archived:存档的–》顾名思义,就是不但会产出一个分解的完整的项目文件夹,而且还会存档一份war压缩包,也就是一共产出2个文件(一个文件夹,一个war压缩包,里面内容是一样的),拿出这个war包就行,到客户那里去解开放到web容器中就行,linux中直接上传war包到tomcat中,就会自动解开。

新版本中选择archived–>for ****(这里只会显示你已经建好的war explded),也就是说相当于将之前解压的给你打war包存档一份

idea中会自动为我的每一个web项目自动创建一个exploded war(如果没有 就自己创建一个),然后你需要创建一个war的为了压缩包方便拷贝等等。在File->project structure->Artifacts中查看

平常run项目的的时候会自动打出war包
也可以Build->build Artifacts来选择打哪一个项目

勾选include in project build(包含在构建项目中:意思就是在构建项目的时候也会把这个war包顺手也打了)选项,那么直接点击Build->build project(这个就是构建项目),也可以打包成war包。

idea的几个好用快捷键、常用配置(包括git)、jdk和javaSE和javaEE、创建一个SE工程、debug、创建一个Web工程、打war包相关推荐

  1. Vmware 安装 Ubuntu 虚拟机常用配置

    Vmware 安装 Ubuntu 虚拟机常用配置包括安装 Vmare tools,配置环境变量和修改软件源- ubuntu 的默认服务器在国外,在国内安装软件的速度特别慢,但是更换源不一定能解决此问题 ...

  2. 常用 linux 快捷键设置,Eclipse常用的快捷键及配置

    一.Eclipse常用快捷键: Ctrl+F11 运行 Ctrl+Shift+/ 在代码窗口中加入/* ...  */注释 Ctrl+Shift+\  消除/* ...  */注释 Ctrl+Shif ...

  3. idea 常用配置和快捷键

    常用配置 配置jdk开发环境 设置主题和编辑器字体 设置自动关闭更新 设置启动时不自动打开项目 设置代码字体和大小设置 设置项目编码 设置代码提示忽略大小写 设置自动导包 设置序列化ID Settin ...

  4. IDEA常用配置和常用插件及常用快捷键

    欢迎转载,转载请注明出处! 知乎:迷人滴海嘉 思否:迷人滴海嘉 简书:迷人滴海嘉 前言 本人使用 IntelliJ IDEA 两年多了,觉得还是非常好用的.在使用过程中总结了个人的IDEA常用配置和常 ...

  5. idea快捷键 常用

    //idea idea 文件误删还原 https://blog.csdn.net/yjt520557/article/details/85095883 --工程模块-- load/unload  是否 ...

  6. WebStorm常用配置及快捷键

    版权声明:本文为博主原创文章,未经博主允许不得转载.转载请注明出处:https://blog.csdn.net/weixin_44222492/article/details/98726429 . 一 ...

  7. Vim基本配置快捷键常用命令

    2022.11.2 vim配置 使用vim的目的,是为了实现纯键盘编辑. vim模式 normal模式:默认模式 普通模式下,可以进行各种命令操作和移动 大部分情况下,我们是在浏览而不是在编辑,所以v ...

  8. Firefox扩展中Keyconfig配置快捷键常用代码

    Firefox扩展中Keyconfig配置快捷键常用代码 下载地址:http://mozilla.dorando.at/keyconfig.xpi //1.关闭左边标签页://代码:var tab = ...

  9. excel初学快捷键+常用函数

    excel初学快捷键+常用函数 Ctrl快捷键 Ctrl + A 全选当前选中单元格附近所有连续单元格(可全选表中所有数据) Ctrl + D 把上一个单元格的数据复制到选中单元格(可多选) Ctrl ...

最新文章

  1. 【Java学习笔记之四】java进制转化
  2. 华科与浙大计算机学院,计算机最强14所高校排名,清华第2,浙大第4,南大第6,华科第10...
  3. 如何在matlab sfunction 函数中调用自己写的函数?
  4. CentOS7虚拟机之间设置免密登录
  5. Python导入模块Import和from+Import区别
  6. Keil中的Code,RO,RW,ZI分别表示什么?
  7. 互联网下半场的角逐,玩转轻资产的大数据服务 | 阿里云栖开发者沙龙大数据专场(北京站)干货集锦
  8. 奋战杭电ACM(DAY10)1015
  9. opencv基于DNN的人脸检测
  10. STM32L0 读取芯片温度与当前供电电压 STM32L051C8T6
  11. SQL Server 索引使用分析(1)- 索引结构
  12. 我学Delphi心得及笔记----内存(第七讲)
  13. Mac 连不上华为 p9 处理历程(二)
  14. 注册EXE文件为Windows服务.txt
  15. 空气中弥漫着『病毒』的味道
  16. 内存地址重映射的选项_ARM处理器重映射原理的分析与实现
  17. 如何给PDF文件加密?PDF加密的3种方法
  18. 在win7 上安装 Visual Studio 2019 步骤 及 vs2019离线安装包
  19. (2020年最新版)App Store 审核指南
  20. 黑盒测试、白盒测试与灰盒测试方法

热门文章

  1. help efun matlab,Matlab优化工具箱在函数最值求解中的应用.pdf
  2. python 自动生成问卷表的软件的设计与实现 毕业设计源码291138
  3. MacBook无故黑屏,按键没反应解决办法
  4. LinkedIn高级分析师王益:大数据时代的理想主义和现实主义
  5. proteus仿真arduino控制舵机
  6. Cobble Web 页面操作记录
  7. OpenHarmony恢复启动子系统init进程之服务启动
  8. FCC ID认证简介
  9. 如何用Camtasia将喜欢的视频做出复古的感觉
  10. Audified U73b 复古压缩器评测:带来复古温暖的色彩