IDEA的学习总结
IntelliJ IDEA是一款非常优秀的JAVA编辑器,初学都可会对其中的一些做法感到很别扭,刚开始用的时候我也感到很不习惯,在参考了网上一些文章后在这里把我的一些经验写出来,希望初学者能快速适应它,不久你就会感觉到编程是一种享受了。
1. IDEA内存优化
先看看你机器本身的配置而配置.
\IntelliJ IDEA 8\bin\idea.exe.vmoptions
-----------------------------------------
-Xms64m
-Xmx256m
-XX:MaxPermSize=92m
-ea
-server
-Dsun.awt.keepWorkingSetOnMinimize=true
2.IDEA快捷键总结
2.1查询快捷键
CTRL+N 查找类
CTRL+SHIFT+N 查找文件
CTRL+SHIFT+ALT+N 查 找类中的方法或变量
CIRL+B 找变量的来源
CTRL+ALT+B 找所有的子类
CTRL+SHIFT+B 找变量的 类
CTRL+G 定位行
CTRL+F 在当前窗口查找文本
CTRL+SHIFT+F 在指定窗口查找文本
CTRL+R 在 当前窗口替换文本
CTRL+SHIFT+R 在指定窗口替换文本
ALT+SHIFT+C 查找修改的文件
CTRL+E 最 近打开的文件
F3 向下查找关键字出现位置
SHIFT+F3 向上一个关键字出现位置
F4 查找变量来源
CTRL+ALT+F7 选 中的字符 查找工程出现的地方
CTRL+SHIFT+O 弹出显示查找内容
2.2 自动代码
ALT+回车 导入包,自动修正
CTRL+ALT+L 格式化代码
CTRL+ALT+I 自 动缩进
CTRL+ALT+O 优化导入的类和包
ALT+INSERT 生成代码(如GET,SET方法,构造函数等)
CTRL+E 或者ALT+SHIFT+C 最近更改的代码
CTRL+SHIFT+SPACE 自动补全代码
CTRL+空格 代码提示
CTRL+ALT+SPACE 类 名或接口名提示
CTRL+P 方法参数提示
CTRL+J 自动代码
CTRL+ALT+T 把选中的代码放在 TRY{} IF{} ELSE{} 里
2.3 复制快捷方式
F5 拷贝文件快捷方式
CTRL+D 复制行
CTRL+X 剪 切,删除行
CTRL+SHIFT+V 可以复制多个文本
2.4 高亮
CTRL+F 选中的文字,高亮显示 上下跳到下一个或者上一个
F2 或SHIFT+F2 高亮错误或警告快速定位
CTRL+SHIFT+F7 高亮显示多个关键字.
2.5 其他快捷方式
这个快捷键是我最经常使用的快捷键了,它可以完成类、方法、变量名称的自动录入,很方便,现在我写程序基本上都不会完整的输入变量名称了,因为有了工具帮你输入,为什么还要自己敲键盘呢?
2. Ctrl + N(Ctrl + Shift + N) 跳转到指定的java文件(其它文件)
这个功能很方便,至少我不用每回都在一长串的文件列表里找寻我想要编辑的类文件和jsp文件了
3. Ctrl + B 跳转到定义处
4. Ctrl + Alt + Right/Left 在编辑过的代码位置之间跳转(前进/后退)
5. Ctrl + Alt + T 用*来围绕选中的代码行( * 包括if、while、try catch等),这个功能也很方便,把以前要做的:①先写if-else,②然后调整代码的缩进格式,还要注意括号是否匹配了,现在用这个功能来做,省事多了
6. Ctrl + Alt + B 跳转到方法实现处
7. Ctrl + W 按一个word来进行选择操作,在IDEA里的这个快捷键功能是先选择光标所在字符处的单词,然后是选择源代码的扩展区域。
举例来说,对下边这个语句
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm");
当光标的位置在双引号内的字符串中时,会先选中这个字符串,然后是等号
右边的表达式,再是整个句子。我一般都是在对代码进行重新修改的时候使用
它来选择出那些长长的复合表达式,很方便:)
8. Shift + F1 在浏览器中显示指定的java docs , 这个也应该是几乎所有的java ide都提供的功能,就不多说了。
9. Ctrl + Q 在editor window中显示java docs
这个功能很方便--因为有时仅仅是忘记了自己编写的方法中的某个参数的
含义,此时又不想再起一个浏览器来查看java doc,此时这个功能的好处就
体现出来了
10. Ctrl + / 注释/反注释指定的语句
它可以注释和反注释你所选择的语句(使用单行注释符号"//"),
也可以用Ctrl + Shift + / 来进行多行语句的注释(即使用多行注释符号"/* ... */")
11. F2/Shift + F2 跳转到下/上一个错误语句处
IDEA提供了一个在错误语句之间方便的跳转的功能,你使用这个快捷键可以
快捷在出错的语句之间进行跳转。
12. Shift + F6 提供对方法、变量的重命名
对IDEA提供的Refector功能我用得比较少,相比之下这个功能是我用得最多
的了。对于这个功能没什么可说的了,确实很方便,赶快试一试吧。
13. Ctrl + Alt + L 根据模板格式化选择的代码
根据模板中设定的格式来format你的java代码,不过可惜的是只对java文件
有效:(
14. Ctrl + Alt + I 将选中的代码进行自动缩进编排
这个功能在编辑jsp文件的时候也可以工作,提供了一个对上边格式化代码
功能的补充。
15. Ctrl + Alt + O 优化import
自动去除无用的import语句,蛮不错的一个功能。
16. Ctrl + ]/[ 跳转到代码块结束/开始处
Ctrl+G(跳转到指定行)、Ctrl+F4(关闭当前编辑页面)、Ctrl+F(搜索)
Ctrl+Space // Complete Code, 与输入法冲突, 改为Alt+S
Ctrl+D // 行复制, 或选定字符串复制
Ctrl + W 按一个word来进行选择操作
Ctrl + N(Ctrl + Shift + N) //跳转到指定的java文件(其它文件)
Ctrl + B 跳转到定义处
Ctrl + Alt + B 跳转到方法实现处
Ctrl+J // 插入代码模板
Alt+Insert // Generate, 生成Constructor, setter, getter
Ctrl+O // 覆盖方法
Ctrl+I // 实现方法
Ctrl+Alt+T // Surround With
Ctrl+/ // 行注释
Ctrl + Shift + / 来进行多行语句的注释(即使用多行注释符号"/* ... */")
Ctrl + Alt + L // 格式化代码
Ctrl + Alt + O 优化import
Ctrl + Alt + T 用*来围绕选中的代码行( * 包括if、while、try catch等)
Alt+F7 // 查找使用情况
Shift+F6 // 重命名
F6 // 移动
Ctrl+Shift+F7 // 显示字符串使用次数
Alt+Delete // 安全删除
Ctrl + ]/[ //跳转到代码块结束/开始处
CIRL+U //大小写切换
CTRL+Z //倒退
CTRL+SHIFT+Z //向 前
CTRL+ALT+F12 //资源管理器打开文件夹
ALT+F1 //查找文件所在目录位置
SHIFT+ALT+INSERT //竖编辑模式
CTRL+/ // 注释"/"
CTRL+SHIFT+/ // 注释/*...*/
CTRL+W // 选中代码,连续按会 有其他效果
CTRL+B // 快速打开光标处的类或方法
ALT+ ←/→ // 切换代码视图
CTRL+ALT ←/→ // 返回上次编辑的位置
ALT+ ↑/↓ // 在方法间快速移动定位
SHIFT+F6 // 重构-重命名
CTRL+H // 显 示类结构图
CTRL+Q // 显示注释文档
ALT+1 // 快速打开或隐藏工程面板
CTRL+SHIFT+UP/DOWN // 代码 向上/下移动。
CTRL+UP/DOWN 光标跳转到第一行或最后一行下
ESC 光标返回编辑框
SHIFT+ESC 光标返回编辑框,关闭无用的窗口
F1 帮助 千万别按,很卡!
对于快捷键,可以去IDEA的官方网站下载一份IDEA 3.0 Default Keymap的pdf文档(http://www.intellij.com/docs/ReferenceCard.pdf),上面有快捷键的详细列表及功能简介。
当然了,如果你觉得IDEA定义的快捷键的键位组合不符合你的使用习惯的话,你可以在Option--Keymaps中修改设置成你的习惯键位组合。
3 .重要的设置
3.1 不编译某个MODULES的方法,但在视图上还是有显示
SETTINGS -> COMPILER -> EXCLUDES ->
不编译某个MODULES,并且不显示在视图上
MODULES SETTINGS -> (选择你的MODULE) -> SOURCES -> EXCLUDED -> 整个工程文件夹
3.2 IDEA编码设置3步曲
FILE -> SETTINGS -> FILE ENCODINGS -> IDE ENCODING
FILE -> SETTINGS -> FILE ENCODINGS -> DEFAULT ENCODING FOR PROPERTIES FILES
FILE -> SETTINGS -> COMPILER -> JAVA COMPILER -> ADDITIONAL COMMAND LINE PARAMETERS
3.3 加上参数 -ENCODING UTF-8 编译GROOVY文件的时候如果不加,STRING S = "中文"; 这样的GROOVY文件编译不过去.
3.4 编译中添加其他类型文件比如 *.TXT *.INI
FILE -> SETTINGS -> RESOURCE PATTERNS
3.5 改变编辑文本字体大小
FILE -> SETTINGS -> EDITOR COLORS & FONTS -> FONT -> SIZE
3.6 修改智能提示快捷键
FILE -> SETTINGS -> KEYMAP -> MAIN MENU -> CODE -> COMPLETE CODE -> BASIC
具体操作
默认代码提示和补全快捷键跟输入法冲突,如何解决:Settings->Keymap
先copy一份快捷键方案。
再展开。如图:
选择功能,再添加一个新的快捷键
剩下功能,也要改,如上图蓝色字体部分。我只是把原有快捷键中的空格改成了“;”,就是分号,这样会方便很多。
3.7 显示文件过滤
FILE -> SETTINGS -> FILE TYPES -> IGNORE FILES...
下边是我过滤的类型,区分大小写的
CVS;SCCS;RCS;rcs;.DS_Store;.svn;.pyc;.pyo;*.pyc;*.pyo;.git;*.hprof;_svn;.sbas;.IJI.*;vssver.scc;vssver2.scc;.*;*.iml;*.ipr;*.iws;*.ids
3.8 在PROJECT窗口中快速定位,编辑窗口中的文件,在编辑的所选文件按ALT+F1, 然后选择PROJECT VIEW
3.9 SVN 管理
把SVN库添加到IDEA中 SETTING -> VERSION CONTROL -> VCS = SVBVERSION
------------------------------------------------------------------------------------------------------------
3.10 优化文件保存和工程加载
取消“Synchronize file on frame activation”(同步文件功能,酌情考虑可以不取消)
取消“Save files on framedeactivation”的选择
同时我们选择"Save files automatically", 并将其设置为30秒,这样IDEA依然可以自动保持文件,所以在每次切换时,你需要按下Ctrl+S保存文件
如何让IntelliJ IDEA动的时候不打开工程文件:Settings->General去掉Reopen last project on startup
3.11 用*标识编辑过的文件
Editor –> Editor Tabs
—————————————–
在IDEA中,你需要做以下设置, 这样被修改的文件会以*号标识出来,你可以及时保存相关的文件。"Mark modifyied tabs with asterisk"
3.12 显示行号
如何显示行号:Settings->Editor->Appearance标签项,勾选Show line numbers
3.13 如何让光标不随意定位
Settings->Editor中去掉Allow placement of caret after end of line。
3.14 中文乱码问题
Settings-> File Encondings 选择 IDE Encoding为GBK。
在包含中文文件名或者文件夹的时候会出现??的乱码,解决方法如下:
File菜单->Settings->Colors & Fonts->Editor Font=宋体, size=12, line spacing =1.0
Settings->Appearance中勾选Override default fonts by (not recommended),设置Name:NSimSun,Size:12
------------------------------------------------------------------------------------------------------------------------------------------------
3.15 安装后的一些设置技巧:
3.15.1 如何完美显示中文:Settings->Appearance中勾选Override default fonts by (not recommended),设置Name:NSimSun,Size:12
3.15.2
如何让光标不随意定位:Settings->Editor中去掉Allow placement of caret after end of line。
3.15.3
如何显示行号:Settings->Editor->Appearance标签项,勾选Show line numbers
------------------------------------------------------------------------------------------------------------------------------------------------
4. IntelliJ IDEA创建项目技
首先我要说一点,在IntelliJ IDEA里面“new Project”就相当于我们eclipse的“workspace”,而“new Module”才是创建一个工程,在IDEA里面“new Project”,它会自动建一个工程(如果你一直按标准程序创建的),名字和你这个工作空间是一样的(first),如果你在这个空间里多建一个自己的 工程(second),那么seconde的工程的根目录会和first的web,src,out在平级目录中。显得很乱,虽然这样也是正确的,所以,强烈建议还是一个空间中只有一个工程(也是IDEA标准建法)。
IDEA建好的工程中,你是看不到输出目录的,只能看到src,web,而WEB-INF下的classes,lib,都没有。但是你在磁盘中打开,你就能发现out中,有3个目录exploded,production,test,
exploded:是你真正的web的输出目录,IDEA给你起了个别名,叫xxxxweb,这里面大家就熟悉了,什么都有了。
production:所有的.class文件的输出都在这
test:测试类和资源文件输出目录。
IDEA建工程的技巧
1. 首先是new project--->create project --->取个名字--->next--->next---->复选框web application勾上,当然你需要别的也勾上----->finish
这个基本大家都会了
2.现在你有标准目录了, 配置tomcat
tomcat配置页,点一下Edit Configurations,------>左上角的"+"标志 ------>TomcatServer--->local---->起个名字---->在Application Server----->configure---->选择tomcat路径---->干掉start browser的复选框---->干掉左下角的复选框,在选右下的fix----->apply-->ok
3.去你的磁盘中,打开你新建的项目,找到E:\test\web\WEB-INF(假设项目叫test),在WEB-INF中手动建两个文件夹,取名classes和lib.
4. 回到idea,右键点击你的空间---->Module Settings----第2竖栏选test--->右边选Paths----->Use module compile output path----->output path选你刚刚在磁盘中建的classes。
5.还是第2竖栏 ---->web----->右边选Java EE Bulid Settings---->右边的 Create web module exploded directory路径选择你程序的web路径就行了(E:\test\web)
下面Exclude from module content的复选框一点要干掉,不干掉你的web在idea里面就没了。
6.添加lib,还是第2竖栏---->web----->右边选Dependencies--->add---->Module Library
---->Attach Jar Directories--->目录选择之前手动建的lib。
终于大功告成了。
现在只要jar包拷贝到你手动建的lib目录中,idea就会自动导入,你每次切换回idea的时候,会有显示,现在改动jsp,再也不需要保存和编译了,极大的增加了开发效率。
文章出处:
http://totohust.iteye.com/blog/1035550
http://blog.csdn.net/neutrojan/article/details/8064106
IDEA的学习总结的更多相关文章
- 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...
- Angular2学习笔记(1)
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- 消息队列——RabbitMQ学习笔记
消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Unity3d学习 制作地形
这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...
- 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...
- 菜鸟Python学习笔记第一天:关于一些函数库的使用
2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...
- 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)
前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
随机推荐
- [LeetCode 题解]: Partition List
Given a linked list and a value x, partition it such that all nodes less than x come before nodes gr ...
- Buffer Pool--数据库内存结构
数据库从操作系统申请到的内存可分为两部分:1.缓存池内存(数据页和空闲页)2.非缓存池内存(线程/DLL/连接服务器等) Note:通过服务器实例属性设置的最大/最小服务器内存是指缓存池内存Note: ...
- 修改chrome插件
背景 例子为:ModHeader插件,顾名思义可以修改request header的插件,官方地址为:https://chrome.google.com/webstore/detail/modhead ...
- ASP.NET基于Aspose.Words插入Word水印以及多个水印
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Da ...
- js日期转换工具
var dq = new Date();//定义当前时间var sDueDate = formatDate(dq);/调用日期转换方法 传入当前时间 //进行日期转换 function formatD ...
- Handler运行机制
https://blog.csdn.net/u012827296/article/details/51236614
- django系列8.3.2--django中间件实现登录验证(2) 个人构想逻辑
middleware.py from django.utils.deprecation import MiddlewareMixin from django.shortcuts import rend ...
- python中的函数(基础)
1.什么是函数 函数是指将一组数据的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用函数名即可 (函数就是对功能或者动作的封装) 2.函数的语法和定义 def 函数名() 函数体 调用: ...
- 1416: Kick Ass Biu [几何]
点击打开链接 1416: Kick Ass Biu [几何] 时间限制: 1 Sec 内存限制: 128 MB 提交: 174 解决: 35 统计 题目描述 在玩Kick Ass的时候,可以发现子弹的 ...
- 弹性盒子模型display:flex
1.div上下左右居中 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...