首先推荐几个我认为比较重要的:
1.代码得自动补全
对于使用eclipse的朋友,会不习惯idea的返回值操作,eclipse可以将光标放在代码上来看返回值,但idea不提供这一操作
idea: alt+shift+L键,代码得自动补全(返回值);
2..抛异常或者是 try catch
光标放在这一行,然后alt+enter键
3.循环,判断:Ctrl +alt +T
4.get、set、tostring方法:alt+insert或者右击选择Generate
(alt+enter和alt+insert这两个快捷键需要经常使用)
5.idea中让两个文件左右同屏显示:选中文件右击->move right(或者选择其他的)
6.ctrl+alt+L 代码格式化
下面贴上常用快捷键:
动作 | 快捷键 | 说明 |
---|---|---|
Move Caret to Code Block End | Ctrl+] | 诸如{}围起来的代码块,使用该快捷键可以快速跳转至代码块的结尾处 |
Move Caret to Code Block Start | Ctrl+[ | 同上,快速跳至代码块的开始出 |
Complete Current Statement | Ctrl+Shift+Enter | 将输入的if、for、函数等等补上{}或者;使代码语句完整 |
Start New Line | Shift+Enter | 在当前行的下方开始新行 |
Start New Line Before Current | Ctrl+Alt+Enter | 在当前行上方插入新行 |
Delete to Word End | Ctrl+Delete | 删除光标所在至单词结尾处的所有字符 |
Delete to Word Start | Ctrl+BackSpace | 删除光标所在至单词开头的所有字符 |
Move Caret to Previous Word | Ctrl+向左箭头 | 将光标移至前一个单词 |
Move Caret to Next Word | Ctrl+向右箭头 | 将光标移至后一个单词 |
Scroll Up | Ctrl+向上箭头 | 向上滚动一行 |
Scroll Down | Ctrl+向下箭头 | 向下滚动一行 |
Extend Selection | Ctrl+W | 选中整个单词 |
Toggle Case | Ctrl+Shift+U | 切换大小写 |
edit-编辑
动作 | 快捷键 | 说明 |
---|---|---|
Undo | Ctrl+Z | 撤销 |
Redo | Ctrl+Shift+Z | 重做 |
Cut | Ctrl+X | 剪切 |
Copy | Ctrl+C | 复制 |
Paste | Ctrl+V | 粘贴 |
Join Lines | Ctrl+Shift+J | 将选中的行合并成一行 |
find-查询
动作 | 快捷键 | 说明 |
---|---|---|
Find | Ctrl+F | 在当前文件中查找 |
Replace | Ctrl+R | 替换字符串 |
Find in Path | Ctrl+Shift+F | 在全局文件中查找字符串 |
Replace in Path | Ctrl+Shift+R | 在全局中替换字符串 |
Find Usages | Alt+F7 | 查找当前变量的使用,并列表显示 |
Show Usages | Ctrl+Alt+F7 | 查找当前变量的使用,并直接对话框显示 |
Find Usages in File | Ctrl+F7 | 在文件中查找符号的使用 |
Highlight Usages in File | Ctrl+Shift+F7 | 在文件中高亮显示变量的使用 |
navigate-导航
动作 | 快捷键 | 说明 |
---|---|---|
Class… | Ctrl+N | 查找类文件 |
File… | Ctrl+Shift+N | 查找文件 |
Line… | Ctrl+G | 定位到文件某一行 |
Back | Alt+向左箭头 | 返回至上次光标位置 |
Forward | Alt+向右箭头 | 返回至后一次光标位置 |
Last Edit Location | Ctrl+Shift+Backspace | 返回上次编辑位置 |
Next Edit Location | Ctrl+Shift+反斜杠 | 返回后一次编辑位置 |
Declaration | Ctrl+B | 定位至变量定义的位置 |
Implementation(s) | Ctrl+Alt+B | 定位至选中类或方法的具体实现 |
Type Declaration | Ctrl+Shift+B | 直接定位至光标所在变量的类型定义 |
Super Method | Ctrl+U | 直接定位至当前方法override或者implements的方法定义处 |
File Structure | Ctrl+F12 | 显示当前文件的文件结构 |
File Path | Ctrl+Alt+F12 | 显示当前文件的路径,并可以方便的将相关父路径打开 |
Type Hierarchy | Ctrl+H | 显示当前类的继承层次 |
Method Hierarchy | Ctrl+Shift+H | 显示当前方法的继承层次 |
Call Hierarchy | Ctrl+Alt+H | 显示当前方法的调用层次 |
Next Highlighted Error | F2 | 定位至下一个错误处 |
Previous Highlighted Error | Shift+F2 | 定位至前一个错误处 |
Previous Occurrence | Ctrl+Alt+向上箭头 | 查找前一个变量共现的地方 |
Next Occurrence | Ctrl+Alt+向下箭头 | 查找下一个变量共现的地方 |
code-代码生成
动作 | 快捷键 | 说明 |
---|---|---|
Override Methods… | Ctrl+O | 重写基类的方法 |
Implement Methods… | Ctrl+I | 实现基类或接口中的方法 |
Generate… | Alt+Insert | 产生构造方法、getter/setter等方法 |
Surround With… | Ctrl+Alt+T | 将选中的代码使用if、while、try/catch等包装 |
Unwrap/Remove… | Ctrl+Shift+Delete | 去除相关的包装代码 |
completion-完成、结束
动作 | 快捷键 | 说明 |
---|---|---|
Basic | Alt+/ | 自动完成 |
SmartType | Alt+Enter | 自动提示完成 |
folding-可折叠
动作 | 快捷键 | 说明 |
---|---|---|
Expand | Ctrl+= | 展开代码 |
Collapse | Ctrl+- | 收缩代码 |
Expand Recursively | Ctrl+Alt+= | 递归展开代码 |
Collapse Recursively | Ctrl+Alt+- | 递归收缩代码 |
Expand All | Ctrl+Shift+= | 展开所有代码 |
Collapse All | Ctrl+Shift+- | 收缩所有代码 |
———————————
动作 | 快捷键 | 说明 |
---|---|---|
Insert Live Template | Ctrl+J | 插入Live Template |
Surround with Live Template | Ctrl+Alt+J | 使用Live Template包装 |
Comment with Line Comment | Ctrl+/ | 使用//进行注释 |
Comment with Block Comment | Ctrl+Shift+/ | 使用/**/进行注释 |
Reformat Code | Ctrl+Alt+L | 格式化代码 |
Auto-Indent Lines | Ctrl+Alt+I | 自动缩进行 |
Optimize Imports | Ctrl+Alt+O | 优化import |
———————————
动作 | 快捷键 | 说明 |
---|---|---|
Move Statement Down | Ctrl+Shift+向下箭头 | 将光标所在的代码块向下整体移动 |
Move Statement Up | Ctrl+Shift+向上箭头 | 将光标所在的代码块向上移动 |
Move Element Left | Ctrl+Alt+Shift+向左箭头 | 将元素向左移动 |
Move Element Right | Ctrl+Alt+Shift+向右箭头 | 将元素向右移动 |
Move Line Down | Alt+Shift+向下箭头 | 将行向下移动 |
Move Line Up | Alt+Shift+向上箭头 | 将行向上移动 |
refactor-重构
动作 | 快捷键 | 说明 |
---|---|---|
Rename | Shift+F6 | 重命名 |
Change Signature | Ctrl+F6 | 更改函数签名 |
Type Migration | Ctrl+Shift+F6 | 更改类型 |
idea使用的注意事项
1.项目中添加了新的css或js文件或图片,需要重新编译一下
2.在项目开发中使用git做项目托管,在多人协同开发的情况一下,难免会有代码冲突,因此我们在编辑了某文件后最好ctrl+alt+L(格式化代码)一下,保持代码得整洁规范,避免冲突,以及在比较本地和远程代码时方便观察。
3.双击shift查找目标文件和Ctrl+f 查找当前文件的目标关键字,经常使用也便于我们日常开发。
4.css文件和js文件尽量使用CDN链接,可以加快用户的访问速度,减轻我们服务器的压力等(传送门:https://www.zhihu.com/question/36514327)
5.在需要用到jq库的地方,考虑用Zepto替代,Zepto体量更小,而且功能也比较完备,足矣用于我们日常的开发需求(传送门:http://www.cnblogs.com/colima/p/5289386.html)
6.WEB前端开发人员在写页面时,如果修改了html or css要想看效果通常的做法就是保存代码就得 Alt+Tab,切换到浏览器(当然,我知道很多开发人员是双屏操作不一定需要切换到浏览器),但是一定要F5刷新才能看自己刚写的代码有没有效果,没有效果就再切换到编辑器下修改,然后再切换到浏览器F5刷新看效果,还没有效果,就再继续修改,如此反复。时间久了,前端自动化一类的工具就是为了把双手从这些反复的,无意义的操作中拯救出来。开发人员就是那种能让机器完成的事自己绝不动手的动物,所以当然有解决这种问题的方法。网上的方案很多,谷歌浏览器插件今天在这里介绍的LiveReload就是一款这样的工具,它可以监听你设置的文件夹中文件的改变,若是文件内容有改变,它会自动刷新浏览器.
7.介绍一个解决图像占位符问题的国外网站,https://placeholder.com/(用于替代图片的位置)
8.推荐一些非常实用的工具类
- StringUtils、CollectionUtils它们一般主要是用来判断String和集合是否为空
- Spring的BeanUtils,主要使用它的copyProperties(form, admin)方法:将用户提交的表单的相关属性拷贝到对应的实体类中。
- BCrypt:一个跨平台的文件加密工具。由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。它有几个方法经常使用:
String salt = BCrypt.gensalt()(生成数据加密用到的’盐’)。 BCrypt.hashpw(form.getPassword(), salt)(将用户密码与’盐’一起哈希散列得到加密后的密码)。
BCrypt.checkpw(AdminForm.getPassword(), admin.getPassword())(校验密码,左边为用户输入的密码,右边是从数据库中得到的加密后的密码)
9.我们不能再外联的js文件中直接引用页面model中的数据,如果直接在html中的<script>中倒是可以:比如 var abc=[[${name}]];那么如何在外联js文件中取到数据呢?一个很简单的方法我想应该是将model中的数据放在页面隐藏域中,这样外部的js文件就能获取数据了
10.某个页面若发送了一个请求到同一工程目录下的另一个模块中的controller,那么请求会失败,返回404,你只能访问同一模块中的controller!!
11.普通工程转maven工程,比较简单的做法是在工程根目录创建一个pom.xml,然后右键对应的pom.xml,点击add maven project