bin目录下的
idea.exe.vmoptions 文件中修改内容为
-Xms32m
-Xmx512m
-XX:MaxPermSize=120m
-ea
可正确运行
把idea中的idea.exe.vmoptions文件替换成以下内容。
- -XX:+UseParallelGC
- -XX:MaxPermSize=256m
- -ea
中文问题解决方案:)
1、操作界面相关的中文问题
点击菜单File => Settings或快捷键(Crtl+Alt+S),在弹出的设置面板选择IDE Setting => Appearance(B)
在Appearance对话框中,将Font的Name设置为dialog.plain,然后保存。
2、编辑器里的中文问题
点击File => Settings或快捷键(Crtl+Alt+S),在弹出的设置面板选择Colors & Fonts(F)
在Colors & Fonts对话框中,在Scheme name的后右点击Save as...按钮,输入你想要的名称NewColorFont,创建一个新的颜色和字体方案。
再将NewColorFont方案的Editor Font设置为Courier,为了方便阅读Size可调整为14,保存颜色和字体的方案配置。
如果没有Courier字体可以选择,关闭IDEA,然后到X:\Documents and Settings\Administrator\.IntelliJIdea\config\colors目录下打开NewColorFont.xml,修改EDITOR_FONT_NAME项目为:<option name="EDITOR_FONT_NAME" value="Courier" />,保存,重新打开IDEA即可。
最常用快捷键
1.Ctrl+E,可以显示最近编辑的文件列表
2.Shift+Click可以关闭文件
3.Ctrl+[或]可以跳到大括号的开头结尾
4.Ctrl+Shift+Backspace可以跳转到上次编辑的地方
5.Ctrl+F12,可以显示当前文件的结构
6.Ctrl+F7可以查询当前元素在当前文件中的引用,然后按F3可以选择
7.Ctrl+N,可以快速打开类
8.Ctrl+Shift+N,可以快速打开文件
9.Alt+Q可以看到当前方法的声明
10.Ctrl+W可以选择单词继而语句继而行继而函数
11.Alt+F1可以将正在编辑的元素在各个面板中定位
12.Ctrl+P,可以显示参数信息
13.Ctrl+Shift+Insert可以选择剪贴板内容并插入
14.Alt+Insert可以生成构造器/Getter/Setter等
15.Ctrl+Alt+V 可以引入变量。例如把括号内的SQL赋成一个变量
16.Ctrl+Alt+T可以把代码包在一块内,例如try/catch
17.Alt+Up and Alt+Down可在方法间快速移动
下面的不是很有用
18.在一些地方按Alt+Enter可以得到一些Intention Action,例如将”==”改为”equals()”
19.Ctrl+Shift+Alt+N可以快速打开符号
20.Ctrl+Shift+Space在很多时候都能够给出Smart提示
21.Alt+F3可以快速寻找
22.Ctrl+/和Ctrl+Shift+/可以注释代码
23.Ctrl+Alt+B可以跳转到抽象方法的实现
24.Ctrl+O可以选择父类的方法进行重写
25.Ctrl+Q可以看JavaDoc
26.Ctrl+Alt+Space是类名自动完成
27.快速打开类/文件/符号时,可以使用通配符,也可以使用缩写
28.Live Templates! Ctrl+J
29.Ctrl+Shift+F7可以高亮当前元素在当前文件中的使用
30.Ctrl+Alt+Up /Ctrl+Alt+Down可以快速跳转搜索结果
31.Ctrl+Shift+J可以整合两行
32.Alt+F8是计算变量值
Ctrl+D // 复制上一行或复制选定
Ctrl+Alt+L // 格式化代码
Alt+Shift+Insert // 列编辑
装上UpperLowerCapitalize后
Alt+P // to uppercase
Alt+L // to lowercase
Alt+C // 首字母大写
1、写代码时用Alt-Insert(Code|Generate…)可以创建类里面任何字段的getter与setter方法。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />microsoft-com:vml" />aspectratio="t" v:ext="edit">
2、右键点击断点标记(在文本的左边栏里)激活速查菜单,你可以快速设置enable/disable断点或者条件它的属性。
3、CodeCompletion(代码完成)属性里的一个特殊的变量是,激活Ctrl-Alt-Space可以完成在或不在当前文件里的类名。如果类没有引入则import标志会自动创建。
4、使用Ctrl-Shift-V快捷键可以将最近使用的剪贴板内容选择插入到文本。使用时系统会弹出一个含有剪贴内容的对话框,从中你可以选择你要粘贴的部分。
5、利用CodeCompletion(代码完成)属性可以快速地在代码中完成各种不同地语句,方法是先键入一个类名地前几个字母然后再用Ctrl-Space完成全称。如果有多个选项,它们会列在速查列表里。
6、用Ctrl-/与Ctrl-Shift-/来注释/反注释代码行与代码块。
-/用单行注释标记(“//…”)来注释/反注释当前行或者选择地代码块。而Ctrl-Shift-/则可以用块注释标记(“/*…*/”)把所选块包围起来。要反注释一个代码块就在块中任何一个地方按Ctrl-Shift-/即可。
7、按Alt-Q(View|Context Info)可以不需要移动代码就能查看当前方法地声明。连续按两次会显示当前所编辑的类名。
8、使用Refactor|Copy Class…可以创建一个所选择的类的“副本”。这一点很有用,比如,在你想要创建一个大部分内容都和已存在类相同的类时。
9、在编辑器里Ctrl-D可以复制选择的块或者没有所选块是的当前行。
10、Ctrl-W(选择字)在编辑器里的功能是先选择脱字符处的单词,然后选择源代码的扩展区域。举例来说,先选择一个方法名,然后是调用这个方法的表达式,然后是整个语句,然后包容块,等等。
11、如果你不想让指示事件细节的“亮球”图标在编辑器上显示,通过按Alt-Enter组合键打开所有事件列表然后用鼠标点击它就可以把这个事件文本附件的亮球置成非活动状态。
这样以后就不会有指示特殊事件的亮球出现了,但是你仍然可以用Alt-Enter快捷键使用它。
12、在使用CodeCompletion时,可以用逗点(.)字符,逗号(,)分号(;),空格和其它字符输入弹出列表里的当前高亮部分。选择的名字会随着输入的字符自动输入到编辑器里。
13、在任何工具窗口里使用Escape键都可以把焦点移到编辑器上。
Shift-Escape不仅可以把焦点移到编辑器上而且还可以隐藏当前(或最后活动的)工具窗口。
F12键把焦点从编辑器移到最近使用的工具窗口。
14、在调试程序时查看任何表达式值的一个容易的方法就是在编辑器中选择文本(可以按几次Ctrl-W组合键更有效地执行这个操作)然后按Alt-F8。
15、要打开编辑器脱字符处使用的类或者方法Java文档的浏览器,就按Shift-F1(右键菜单的External JavaDoc)。
要使用这个功能须要把加入浏览器的路径,在“General”选项中设置(Options | IDE Settings),另外还要把创建的Java文档加入到工程中(File | Project Properties)。
16、用Ctrl-F12(View | File Structure Popup)键你可以在当前编辑的文件中快速导航。
这时它会显示当前类的成员列表。选中一个要导航的元素然后按Enter键或F4键。要轻松地定位到列表中的一个条目,只需键入它的名字即可。
17、在代码中把光标置于标记符或者它的检查点上再按Alt-F7(右键菜单中的Find Usages…)会很快地查找到在整个工程中使用地某一个类、方法或者变量的位置。
18、按Ctrl-N(Go to | Class…)再键入类的名字可以快速地在编辑器里打开任何一个类。从显示出来的下拉列表里选择类。
同样的方法你可以通过使用Ctrl-Shift-N(Go to | File…)打开工程中的非Java文件。
19、要导航代码中一些地方使用到的类、方法或者变量的声明,把光标放在查看项上再按Ctrl-B即可。也可以通过按Ctrl键的同时在查看点上单击鼠标键调转到声明处。
20、把光标放到查看点上再按Ctrl-Alt-B可以导航到一个抽象方法的实现代码。
21、要看一个所选择的类的继承层次,按Ctrl-H(Browse Type Hierarchy)即可。也可以激活编辑器中的继承关系视图查看当前编辑类的继承关系。
22、使用Ctrl-Shift-F7(Search | Highlight Usages in File)可以快速高亮显示当前文件中某一变量的使用地方。按Escape清除高亮显示。
23、用Alt-F3(Search | Incremental Search)在编辑器中实现快速查查找功能。
在“Search for:”提示工具里输入字符,使用箭头键朝前和朝后搜索。按Escape退出。
24、按Ctrl-J组合键来执行一些你记不起来的Live Template缩写。比如,键“it”然后按Ctrl-J看看有什么发生。
25、Introduce Variable整合帮助你简化代码中复杂的声明。举个例子,在下面的代码片断里,在代码中选择一个表达式:
然后按Ctrl-Alt-V(Refactor | Introduce Variable)就会出现下面的结果:
26、Ctrl-Shift-J快捷键把两行合成一行并把不必要的空格去掉以匹配你的代码格式。
27、Ctrl-Shift-Backspace(Go to | Last Edit Location)让你调转到代码中所做改变的最后一个地方。
多按几次Ctrl-Shift-Backspace查看更深的修改历史。
28、用Tools | Reformat Code…根据你的代码样式参考(查看Options | IDE Setting | Code Style)格式化代码。
使用Tools | Optimize Imports…可以根据设置(查看Options | IDE Setting | Code Style | Imports)自动“优化”imports(清除无用的imports等)。
29、使用IDEA的Live Templates | Live Templates让你在眨眼间创建许多典型代码。比如,在一个方法里键入
再按Tab键看有什么事情发生了。
用Tab键在不同的模板域内移动。查看Options | Live Templates获取更多的细节。
30、要查看一个文件中修改的本地历史,激活右键菜单里的Local VCS | Show History…。也许你可以导航不同的文件版本,看看它们的不同之处再回滚到以前的任何一个版本吧。
使用同样的右键菜单条目还可以看到一个目录里修改的历史。有了这个特性你就不会丢失任何代码了。
31、如果要了解主菜单里每一个条目的用途,把鼠标指针移到菜单条目上再应用程序框架的底部的状态栏里就会显示它们的一些简短描述,也许会对你有帮助。
32、要在编辑器里显示方法间的分隔线,打开Options | IDE Settings | Editor,选中“Show method separators”检查盒(checkbox)。
33、用Alt-Up和Alt-Down键可以在编辑器里不同的方法之间快速移动。
34、用F2/Shift-F2键在高亮显示的语法错误间跳转。
用Ctrl-Alt-Down/Ctrl-Alt-Up快捷键则可以在编译器错误信息或者查找操作结果间跳转。
35、通过按Ctrl-O(Code | Override Methods…)可以很容易地重载基本类地方法。
要完成当前类implements的(或者抽象基本类的)接口的方法,就使用Ctrl-I(Code | Implement Methods…)。
36、如果光标置于一个方法调用的括号间,按Ctrl-P会显示一个可用参数的列表。
37、要快速查看编辑器脱字符处使用的类或方法的Java文档,按Ctrl-Q(在弹出菜单的Show Quick JavaDoc里)即可。
38、像Ctrl-Q(Show Quick JavaDoc显示简洁Java文档),Ctrl-P(Show Parameter Info显示参数信息),Ctrl-B(Go to Declaration跳转到声明),Shift-F1(External JavaDoc外部Java文档)以及其它一些快捷键不仅可以在编辑器里使用,也可以应用在代码完成右键列表里。
39、Ctrl-E(View | Recent Files)弹出最近访问的文件右键列表。选中文件按Enter键打开。
40、在IDEA中可以很容易地对你的类,方法以及变量进行重命名并在所有使用到它们的地方自动更正。
试一下,把编辑器脱字符置于任何一个变量名字上然后按Shift-F6(Refactor | Rename…)。在对话框里键入要显示地新名字再按Enter。你会浏览到使用这个变量地所有地方然后按“Do Refactor”按钮结束重命名操作。
41、要在任何视图(Project View工程视图,Structure View结构视图或者其它视图)里快速
选择当前编辑地部分(类,文件,方法或者字段),按Alt-F1(View | Select in…)。
42、在“new”字符后实例化一个已知类型对象时也许你会用到SmartType代码完成这个特性。比如,键入
再按Ctrl-Shift-Space:
43、通过使用SmartType代码完成,在IDEA中创建接口的整个匿名implementation也是非常容易的,比如,对于一些listener(监听器),可以键入
Component component;
component.addMouseListener(
new <caret is here>
);
然后再按Ctrl-Shift-Space看看有什么发生了。
44、在你需要设置一个已知类型的表达式的值时用SmartType代码完成也很有帮助。比如,键入
String s = (<caret is here>
再按Ctrl-Shift-Space看看会有什么出现。
45、在所有视图里都提供了速查功能:在树里只需键入字符就可以快速定位到一个条目。
46、当你想用代码片断捕捉异常时,在编辑器里选中这个片断,按Ctrl-Alt-T(Code | Surround with…)然后选择“try/catch”。它会自动产生代码片断中抛出的所有异常的捕捉块。在Options | File Templates | Code tab中你还可以自己定制产生捕捉块的模板。
用列表中的其它项可以包围别的一些结构。
47、在使用代码完成时,用Tab键可以输入弹出列表里的高亮显示部分。
不像用Enter键接受输入,这个选中的名字会覆盖掉脱字符右边名字的其它部分。这一点在用一个方法或者变量名替换另一个时特别有用。
48、在声明一个变量时代码完成特性会给你显示一个建议名。比如,开始键入“private FileOutputStream”然后按Ctrl-Space
在Options | IDE Setting | Code Style中还可以为本地变量,参数,实例及静态字段定制名字。
IntelliJ IDEA 目录技巧
IntelliJ IDEA的Web应用的目录结构
Ø 目录图:
Ø 目录解释:
开发目录 | |
目录名称 | 描述 |
Test | 工程名称 |
lib | Jar包的存放目录 |
src | 源文件也就是文件(类,资源文件)存放的目录 |
test | 测试用例文件(类、资源文件)测存放的目录 |
web | WEB根目录,存放WEB资源 |
WEB-INF | 配置文件存放目录 |
Module的输出目录 | |
目录名称 | 描述 |
out | 当前工程的输出,包括所有的资源和类文件 |
Exploded | 工程的输出目录 |
TestWeb | 工程在容器中运行的别名 |
production | 类文件的输出目录 |
Test | 工程名称,准确的说应该是模块的名称,存放src编译后文件,都输出到这里了 |
test | 测试的类文件目录 |
Test | 工程名称,准确的说应该是模块的名称,存放test编译后的类和资源文件,都输出到这里了 |
Ø 首先我要说一点,在IntelliJ IDEA里面“new Project”就相当于我们eclipse的“workspace”,而“new Module”才是创建一个工程,这是要注意的一点。
Ø 我们会发现,在用IntelliJ IDEA 进行开发的时候,会有2个目录,一个是“开发目录”,用来经常进行我们的开发操作,是可见的,另一个就是“输出目录”,这个环境目录,我们是看不见的,也就是在IDEA里面看不见,我们在实际的路径中能看到,其实这个环境目录就相当于我们的容器的当前环境,我们通常的做法是把容器的虚拟目录指定到一个目录,这里IntelliJ IDEA会默认把当前环境指定到out里面,这样一来不用再往容器里面发布了,节省了开发时间。
Ø 我们会发现,lib竟然和src成了同级目录了,常理应该放在WEB-INF下面的,这是IntelliJ IDEA默认的,当然,这个目录我们也可以改回“WEB-INF”下面,这是一点。
Ø 接着我们会发现,没有classes目录,常理,它也应该在“WEB-INF”下面呀,是在,一会儿我在告诉你,他藏到哪里去了,呵呵。
Ø 然后就是输出目录了,我来给大家逐步解释,我们可以打开实际的目录结构来查看,“production”这个目录放的是所有工程文件(类,和资源)文件,也就是所有放在src下面的所有文件。下面的“Test”就是工程的名称,在IntelliJ IDEA就是Module的名称,因为可以有多个Module。我们只要“Make Module”的时候,编译后的文件,都会自动发布过来。这里我只有一个Module,就是“Test”,所以下面就一个“Test”目录。
Ø 现在就是“test”,这个目录就是我们测试用例,我们所有的测试类和资源文件,都会编译到这里了,下面是我们的工程名,记住,在IntelliJ IDEA里面叫Module,呵呵
Ø “Exploded”就是真正运行的目录,因为我们可以有多个“Module”,当在ide里面选择运行哪个“Module”的时候,环境将指定到哪里目录,然后就是“TestWeb”,这个就是我们运行的Web程序的别名,它会自动给你加上“web”用于区分吧。然后这个“TestWeb”就是我们当前环境的目录了,如果你仔细看,你会发现,这个目录符合我们发布到容器里面的目录,我的意思是说,在“WEB-INF”下面竟然会有“classes”、“lib”目录,原来才知道这都是由容器自动完成,只是开发目录和平常的目录有变化,但是运行目录没有区别。
Ø IntelliJ IDEA不支持自动编译,也就是说不能像Eclipse那样,自动编译class,IntelliJ IDEA必须由我们Make进行。
Ø IntelliJ IDEA不支持热发布,我们平常在Eclipse里面改页面的时候不需要启动容器,直接就能刷新过来了,但是IntelliJ IDEA不行,因为需要Make,和输出(out),这里需要一些技巧,马上就讲到。
IntelliJ IDEA部署技巧
Ø 上面的目录结构,都是工具默认的,这里我们改变它的目录结构,来提高开发效率。
Ø 刚才说到,IntelliJ IDEA不支持热发布,就因为改个页面我们去重启容器,是很浪费时间的,也很麻烦。我们通过改变目录来解决这个问题。
n 在“Project Settings”里面“Modules”也就是我们工程的名字,然后“Paths”,这是没改成前的图:
n 我们把目录改变后的如下:
然后我们“Make Module“,发现文件都编译到classes下了。和我们以前的一样了吧。哈
n 然后还是在“Project Settings”里面,“Modules”然后点来你右边的Modules名字,你会发现有个Web的子节点,这里记得光标要放在“Web”节点上,然后看右边有个配置页面,未改变前如图:
到这里,你会发现有个Web Facet Exploede Directory,然后我们改变这个目录,指向当前工程的Web跟节点即可。
n 如下图:
*:注意 Exclude from module content勾去掉,不然会有webroot不见了的现象
n 然后我们启动容器,随便的编辑页面,然后点击刷新,发现页面立即能显示出来了,哈,这样开发是不是省去很多重启容器的时间,呵呵。
作者:周大庆(zhoudaqing)
网址:http://www.blogjava.net/yifeng