代码改变世界

MyEclipse相关用法介绍

2012-06-10 17:37  javaspring  阅读(277)  评论(0编辑  收藏  举报

MyEclipse相关用法介绍

================================================================================

编辑:

  Ctrl+Shift+L      显示所有快捷键

  Ctrl+K        参照选中的词(Word)快速定位到下一个

  Ctrl+Shift+K      参照选中的词(Word)快速定位到上一个

 

  Ctrl+O         快速显示OutLine

  Ctrl+T        快速显示当前类的继承结构

  Ctrl+Shift+X      把选中文本全部改为大写

  Ctrl+Shift+Y      把选中文本全部改为小写

  Ctrl+Shift+F      按照当前的配置文件格式化源代码

  Ctrl+L        弹出行定位框以便定位到某一行

  Ctrl+Numpad_Divide

  Ctrl+/(小键盘)      使代码折叠可用

  Ctrl+Numpad_Multify

  Ctrl+*(小键盘)      展开当前类中的所有代码

  Ctrl+Shift+Numpad_Divide

  Ctrl+Shift+/(小键盘)  折叠所有,如果不能全部成功折叠,

            将光标移到文档最后试着或多按几次

            折叠当前类中的所有代码

  Ctrl+1        快速修正,需要导包的时候出现导包提示界面,

  Ctrl+Q         定位到最后编辑的地方

  Ctrl+Shift+m      导入当前行上需要的包(add import)

  Ctrl+Shift+o      导入所有需要的包(organize imports)

  Shift+Enter        在当前行的下一行插入行

  Shift+Ctrl+Enter    在当前行的上一行插入行

  Alt+/        语法补充快捷

  Ctrl+MouseLeft      当按住Ctrl时,将Mouse移动到一个类或类的方法或属性时,

            左键点击会进入到源文件内进行查看

            如果没找到源文件,而需要指定Sourece,

            比如说JDK自身的src.zip文件或源文件所在的文件夹

  Ctrl+/ == Ctrl+Shift+C 注释选定行或取消注释

  Ctrl+Shift+/      用*...... */注释选定行

  Ctrl+Shift+\     取消/*...... */注释

  Ctrl+D         删除当前行

  Shift+<         在当前位置插入成对的尖括号:<>

  Ctrl+Alt+down     复制当前行到下一行

  Ctrl+Alt+up       复制当前行到上一行

  Ctrl+Alt+J       Join Lines连接行

  Alt+down       当前行和下面一行交换位值

  Alt+up         当前行和上面一行交换位值

            选定光标所在的行通过用这两个快捷各执行一次来完成

  Alt+left        前一个编辑的代码页面或在当前页面中上一个光标的位置

  Alt+right       下一个编辑的代码页面或在当前页面中下一个光标位置

            (当使用了Alt+←后)

  Alt+Shift+O        (或点击工具栏中的Toggle Mark Occurrences按钮)

            当点击某个标记时可使本页面中其他地方的此标记黄色凸显,

            并且窗口的右边框会出现白色的方块,点击此方块会跳到此标记处                                                 

 

  Shift+Home       选定光标处到行首的内容

  Shift+End       选定光标处到行尾的内容

 

  Ctrl+Shift+Home      选定光标处到首行行首的内容

  Ctrl+Shift+End     选定光标处到尾行行尾的内容

  Ctrl+Shift+P      定位到与之成对匹配的括号{或)

            (从前面定位后面时,光标要在匹配符之后,从后往前定位,反之)

  Tab与Shift+Tab      选中要移动的代码后,按Tab键右移,按Shift+Tab键左移

  Ctrl+up 

  Ctrl+down        上下滚动编辑页面

查找:

  Ctrl+Shift+R      相当于Navigate->Open Resource...

            输入Java源文件名或类名,会按通配的方式列出符合条件的.java源文件

  Ctrl+J         正向增量查找(按下Ctrl+J文件你所输入的每个字母,

            编辑器都提供快速匹配定位到某个单词,如果没有,

            则在stutes line中显示没有找到了,查一个单词时,特别实用,

            这个功能Idea两年前就有了)

           

  Ctrl+Shift+J     反向增量查找(和上条相文件只不过是从后往前查)

窗口:

  Ctrl+M        窗口最大化与恢复大小转换

            最大化当前的Edit或View(再按则恢复)

 

  Ctrl+W        关闭当前Editor

  Ctrl+Shift+F4      关闭所有打开的Editor

           

  Ctrl+E        快速显示当前Editor的下拉文档列表

  Ctrl+Shift+E      显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)                                                 

  F2          当鼠标放在一个标记处出现Tooltip时候,

            按下F2会铆钉显示的 Tooltip 框

  F3          跳到声明或定义(源文件)处

  Alt+Enter        显示当前选择资源(工程,or 文件 or文件)的属性

 

  Ctrl+PgUp       

  Ctrl+PgDown        切换代码窗口的各个文档,

            如果切换到头就会打开"Show List"下拉框

            在此下拉框里显示有最近曾打开的文件,

            连续按可移动选中项

            对于XML文件是切换代码和图示窗口

 

  Alt+Shit+w        在光标处弹出选择view的菜单

            在Package窗口下,弹出Navigator与Properties的选择菜单

                 

  Alt+Shift+Q,Q      弹出"Show View"选择界面

  Alt+Shift+Q,T     Show View(View:  Hierarch)

  Alt+Shift+Q,B     Show View(View: Breakpoints)

  Alt+Shift+Q,H      Show View(View: Cheat Sheets)

  Alt+Shift+Q,C      Show View(View: Console)

  Alt+Shift+Q,L     Show View(View: Error Log)

  Alt+Shift+Q,Z     Show View(View: History)

  Alt+Shift+Q,J      Show View(View: Javadoc)

  Alt+Shift+Q,O      Show View(View: Outline)

  Alt+Shift+Q,P     Show View(View: Package Explorer)

  Alt+Shift+Q,X     Show View(View: Problems)

  Alt+Shift+Q,S     Show View(View: Search)

  Alt+Shift+Q,Y     Show View(View: Synchronize)

  Alt+Shift+Q,V      Show View(View: Variables)

Debug:

  F5          单步调试进入函数内部

 

  F6          单步调试不进入函数内部

  F7          由函数内部返回到调用处

 

  F8          一直执行到下一个断点

Refactor 重构(一般以Alt+Shift开头):

  Alt+Shift+R  重命名被选中的变量

  Alt+Shift+M   抽取方法

  Alt+Shift+C  修改函数结构

  Alt+Shift+L   抽取本地变量

  Alt+Shift+F   把Class中的local变量变为field变量(MyEclipse中需要自定义)

  Alt+Shift+I  合并变量(可能这样说有点不妥Inline)

  Alt+Shift+V  移动方法和变量不怎么常用

  Alt+Shift+Z   重构的后悔药(Undo)

================================================================================

Ctrl+I格式化激活的元素Format Active Elements?

Ctrl+Shift+Space提示信息即Context Information?

================================================================================

1.  更改快捷键设置(自定义快捷键)

================================================================================

  代码的自动完成:

  (1) Windows->Preference->General->Keys

   是管理快捷键的地方

   在这里的type filter text处输入Content Assist,

   找到要修改的"Content Assist"

   在下面会出现"Content Assist",用鼠标选中"Content Assist",

   在下面的"Binding"处按自己需要的快捷键组合,比如Alt+/

   在"When"中选择"Editing Text"

  (2) Windows->Preference->Java->Editor->Templates

   这里是管理Java编辑器模板的地方

   

   比如找到"Name"为sysout的,可以看到其"Preview:"处有:

   System.out.println(${word_selection}${});${cursor}

   其表示在输入sysout后,按Alt+/就可以自动完成System.out.println();的输入

   再比如找到"Name"为main的,可以看到其"Preview:"处有:

   public static void main(String[] args) {

     ${cursor}

   }

   表示在输入main后,按Alt+/就可以在弹出的选项中选择main方法,

   自动完成main方法的格式化输入

  自定义抽取局部变量为成员变量:

   Windows->Preference->General->Keys

   在这里的type filter text处输入Convert a local variable to a field,

   如果看到Binding一栏处还没有绑定快捷键,

   就将光标移到下面的Binding文本框内,然后按Alt+Shift+F,

   然后OK即可.

================================================================================

2.  整合Javadoc文档到MyEclipse

================================================================================

  在MyEclipse中左边的"Package Explorer"窗口中选中一个JAR包

  右键->属性>Javadoc Location可以指定其JAR包所对应的Java文档的位置,

  其中上面的"Javadoc URL"可以点击Browse..."选择文档所在的目录,如:

  javaee.jar在我电脑中的路径是这样的:file:/D:/Program/Sun/SDK/docs/api/

  选择完后,可以点击Browse..."下的"Validate..."进行有效性验证

  一般所选择的目录下面应该有index.html或相应的package-list文件.

  其中下面的"Javadoc in archive"是用来选择一个打包文档jar或zip的"

  选中"External file"表示我们需要从外部而不是MyEclipse工作空间中选择这个文档,

  然后点击Archive path后的"Browse...",选择一个有Javadoc打包的文件

  比如我电脑中的路径是这样的"D:\Program\Sun\SDK\docs\api_doc.zip

  注意从sun公司网站下载的java_ee_sdk-5_03-javadocs.zip其结构是这样的"

     java_ee_sdk-5_03-javadocs.zip     |

                 |docs|

                  |api|

                  | |index.html

                  | |package-list

                  |

                  |legal

  不能直接选中所下载的java_ee_sdk-5_03-javadocs.zip,而要重新打包,

  将其中的index.html那一级目录置为重新打包后的顶层目录

  或者不用重新打包,在Archive path:中找到下载的java_ee_sdk-5_03-javadocs.zip文件

  再在其下面的Path within archive:中选择相应的路径即可

   Archive path:D:\Program\Sun\SDK\java_ee_sdk-5_03-javadocs.zip

   Path within archive:docs/api

  这样,当在编写一个源Java源文件的时便将光标定位到一个类或接口上的时候,

  如:

   选中HttpServlet,然后按F1,在窗口右边就会出现Help窗口,

   点击窗口中的Javadoc for 'javax.servlet.http.HttpServlet',

   就可以在窗口中出现相应的API帮助文档了.

  以上的对相应的JAR包或相关框架的DOC的设置,

  那么对于JDK的DOC的设置,可以使用下面的方式:

  Windows->Preferences

  输入JRE,然后选中Java->Installed JREs

  在右边选中需要进行DOC文档位置设置的JRE,然后选择"Edit",

  在出现的界面中选中相应的jar包,然后点击右边的"Javadoc Location..."进行设置.

================================================================================

3.  无法正常启动

================================================================================

  MyEclipse启动遇到内部错误总启动不了的时便

  将Workspace下的.metadata目录删除重启即可

================================================================================

4.  标记断点:

================================================================================

  在java视图中,直接在你要设置断点的那行的最左边,双击即可,右键的弹出菜单中也有这个选项

  Debug:

   选择debug(F11,Run菜单中的debug)即可,自动进入debug视图,

   用Step into(F5)能进入到被调用方法的跟踪

   用Step over(F6)进行单步调试

================================================================================

5.  更改 Web Project 的 Web Context-root:

================================================================================

  右键点击Web项目->Properties->MyEclipse->Web

  在右边的界面的Context Root中可进行更改设置.

  如果在Tomcat没运行的时便修改一个以前已部署的Web应用的Web Context-root,

  此时MyEclipse会将以前此Web应用的部署删除

  如果在Tomcat运行着的时候,修改一个已部署后正在使用(存在正在访问的客户端)的Web应用

  的Web Context-root,MyEclipse不会将此Web应用的部署删除,而是出现一个黄色的感叹号图标.

  由于Web Context-root被更改此部署其实已失效,

  需要删除原来的部署,重新在Tomcat中"Add Deployment..."

================================================================================

6.  文件上传相关

================================================================================

  文件上传路径,如果不写相对路径或绝对路径

  那么会存入D:\Program\Apache\apache-tomcat-6.0.18\bin目录

================================================================================

7.  MyEclipse各种相关的文件格式的编辑器字体显示设置

================================================================================

  window->preference->General->Appearence->Colors and Fonts

  在其右边有这么几项

  Basic:

   Basic colors and fonts used throughout workbench dialogs and editors.

   基本上指所有对话框和编辑器中的字体,包括jsp,ant的xml等文件的字体显示.

   如果需要对XML等编辑器的字体进行设置,先设置这里,

   对于控制台的字体如果这里设置大了看着不舒服,可专门到Debug下设置控制台的字体.

  CVS:

   版本库相关的显示字体

  Debug:

   控制台的输出字体

  Java:

   Java源文件编辑器字体

  JavaScript:

   JavaScript字体

  Structured Text Editors:

   结构化文本的字体,如xml,xml schemal等

  Text Compare:

   文本比较器的字体

  View and Editor Folders:

   Colors and fonts used by the default Eclipse presentation.

  ->Java Editor Text Font然后点Change

================================================================================

7-1. MyEclipse中UML图中的字体的设置

================================================================================

  window->preference->MyEclipse->UML1

  在右边的Nodes中,有Header font与Body font的设置.

================================================================================

8.  某一文件的存储字符编码设置

================================================================================

  在Eclipse中不能保存中文时,可以设置一下Eclipse的编码方式为gbk等支持中文的字符编码方式。

  可通过以下方式进行修改:

  (1) Window->General->workspace

   ->在右边的界面中的"Text file encoding"下设置;

  (2) 鼠标右键点击所需要修改的文件,或File->Properties

   ->在右边的界面中的"Text file encoding"下设置;

 

  (3) 鼠标右键点击需要修改字符集编码的文件-->proterties(Alt+Enter)-->"Resource",

   在右边窗口中的下面有"Text file encoding",

   在Other处填入需要的字符集编码,如GBK或GB18030或UTF-8等;

================================================================================

8-1. 某种格式的文件的存储字符编码设置

================================================================================

  Window-->Preferences-->MyEclipse-->Files and Editors,

  在这里,可以设置多种文件格式的Encoding,比如说JSP的,

  找到JSP,在右边就会出现一个界面,找到"The following encoding will apply:",

  将Encoding:设置为自己所需要的字符编码,比如说ISO 10646/Unicode(UTF-8)

================================================================================

9.  自定义代码格式

================================================================================

  "Windows"-->"Preferences"-->"Java"-->"Code Style"-->"Formatter"

================================================================================

10. 编辑JSP文档,XML等文档反应慢的问题

================================================================================

  原因:

   (1) 新建的工程中加入了JAVA EE的lib库

     库中的所使用的javax.servelet.jar等这些个包中的javadoc location位置,

     被设置成了官方网站的网址,

     这样每次提示的时候都要去官方网站去找doc,所以导致myeclipse会很忙

     当禁用网卡或者拔掉网线的时便就不会在卡了

   (2) JSP编辑器使用了MyEclipse Visual JSP Designer

    

  最终解决方法

   (1) [Window]->[Preferences]->[MyEclipse]->[JavaEnterprise Project]->[Library Sets]

     [JAVA EE 5.0][J2EE 1.4]和[J2EE 1.3]下的javax.servelet.jar等包,

     点开选择[javadoc location]这个节点,双击后在对话框中,

     把地址去掉为空或者选择你本地javadoc地址,即可解决jsp自动提示卡和慢的问题

   (2) [Window]->[Preferences]->[General]->[Editors]->[File Associations]

     在右边的上半部分列出的文件扩展名中选中*.jsp,

     在右边的下半部分列出的编辑器中选中MyEclipse JSP Editor,

     点击右边的"Default",将这个编辑器设置为默认的编辑器,

     这样当你双击一个jsp文档的时候,就会默认使用这个编辑器打开JSP文档了.

================================================================================

11. MyEclipse版本的区别

================================================================================

  blue

   专为IBM开发的,功能最全的版本

  M(Milestone)

   Milestone版本,是比beta版还要早的版本

   可以看作是下一代正式版本的一个试探性改进测试

  GA(Generally Available)

   正式版MyEclipse

   目前(2009-12-23)8.0GA是最新的

================================================================================

12. 关闭myeclipse的Quick Update自动更新功能

================================================================================

  Windows > Preferences > MyEclipse > Community Essentials,

  把选项 "Search for new features on startup"的前勾去掉即可

================================================================================

13. MyEclipse内存使用相关以及JVM内存分配

================================================================================

  1)  PermGen space简介

   PermGen space的全称是Permanent Generation space,

   是指内存的永久保存区域。

   OutOfMemoryError: PermGen space从表面上看就是内存益出,

   解决方法也一定是加大内存。

  

   说说为什么会内存益出:

   *  这一部分用于存放Class和Meta的信息,Class在被Load的时候被放入PermGen space区域,

     它和和存放Instance的Heap区域不同。

   *  GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,

     所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。

     这种错误常见在web服务器对JSP进行pre compile的时候。

     如果你的WEB APP下都用了大量的第三方jar,

     其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。

13_1.Tomcat内存溢出的解决方法:

  手动设置MaxPermSize大小, 修改TOMCAT_HOME/bin/catalina.sh,

  在echo "Using CATALINA_BASE: $CATALINA_BASE"上面加入以下行

   JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m

  建议:

   将相同的第三方jar文件移置到tomcat/shared/lib目录,这样可以减少jar文档重复占用内存

================================================================================

14. Eclipse 内存溢出或不能启动或死掉的解决

================================================================================

  这一段时间,Eclipse总是死掉,几乎是稍微操作快一点就会死掉,几分钟一次,

  搞得人郁闷至极。浪费了不少时间,在网上搜了下,看到很多朋友也出现类似的情况,

  在网上求救,但是网上的办法都只是说通过修改eclipse.ini文件来加大Eclipse的内存。

 

  自己试了下,发现不管用。今天,又死掉了,不过爆出一个经常出现的错误,

  大意是:permgen space导致内存溢出。

  解决办法如下:

   在eclipse.ini配置文件中加上以下两行

   -XX:PermSize=128M

   -XX:MaxPermSize=128M

  加上上2行后,我的eclipse.ini文件如下所示:

   -showsplash

   org.eclipse.platform

   --launcher.XXMaxPermSize

   512m

   -vmargs

   -Xms256m

   -Xmx512m

   -XX:PermSize=128M

   -XX:MaxPermSize=128M

  这里的内存大小根据自己的物理内存情况来决定吧。

  从网上的资料看PermSize大一点肯定更好,而且最好是设置PermSize和MaxPermSize一样大。

  理由如下: PermSize 和 MaxPermSize如果设置为相同还可以在一定程度上提高性能,

  因为PermSize在不断的变化中会需要转移其中的数据。

  如果固定了以后,则可以减少每次扩大PermSize带来的性能损失。

15. 让你的eclipse也能显示JVM当前内存使用量

================================================================================

  1)  在eclipse或MyEclipse目录下建立一个文件文件名options,

   文件内容:

     org.eclipse.ui/perf/showHeapStatus=true

 

  2)  有两种方式来启用这个配置文件:

   (1) 用命令方式启动:

     D:\MyEclipse\eclipse.exe -debug options -vm javaw.exe

     或者直接右键eclipse的快捷方式的"目标"中填入这行

    

   (2) MyEclipse.ini中前两行加入下面两行:

      -debug

      options    

     修改ini文件是要注意备份。

  3)  启动eclipse,就可以看到下面的状态栏会显示当前JVM内存使用量

   另外还可以强制进行垃圾收集。

   加启动参数和在ini中写是一样的,都是启动的配置

  4)  eclipse对于JRE的加载顺序:

     首先执行 -vm 参数;如果没有-vm参数,

     则查找eclipse\jre子目录,如果没有找到,

     eclipse最后才查找在系统中注册的jre

  -------------------------------------------------------------------------------

  以下是写在MyEclipse目录下的Myeclipse.ini中内容的例子:

   -debug

   options

   -vm

   javaw.exe

   -vmargs

   -Xms256m

   -Xmx512m

   -XX:PermSize=128M

   -XX:MaxPermSize=256M

  在Eclipse目录下建一文件options(无任何扩展名),其内容为:

   org.eclipse.ui/perf/showHeapStatus=true

  加了这个后Eclipse会在下面状态栏显示垃圾回收的东东.

================================================================================

15.1 Eclipse状态栏显示JVM内存使用情况的改进

================================================================================

  1.  打开记事本,输入以下内容org.eclipse.ui/perf/showHeapStatus=true

   然后保存于eclipse根目录下,文件名为options,没有文件扩展名。

  2.  用-debug options -vm javaw.exe这条命令启动eclipse:

   在快捷方式的目标中写入如下"C:\eclipse\eclipse.exe -debug options -vm javaw.exe"

  3.  重启就可以啦

 

================================================================================

15.2 MyEclipse8.0中状态栏显示JVM内存(Show heap status)使用情况

================================================================================

  在MyEclpise8.0中简单了,windows->Preferences->General

  在其右边的界面中,找到"Show heap status",并勾选上,然后确定即可;

================================================================================

16. MyEclipse7.5的Content Assist不起作用了

================================================================================

  (1) 在window->Preferences->Java->Editor->Content Assist

    中找到Enable auto activation,将其选项勾上;

  (2) window->Preferences->Java->Editor->Content Assist->Advanced

   上面的选项卡Select the proposal kinds contained in the 'default' content assist list:中,

   把 Other Java Proposals 选项打上勾就可以了。

================================================================================

17. MyEclipse中启动Tomcat,JBoss等服务器里,控制台不显示启动信息

================================================================================

  现象:

   在控制台为:

   no consoles display at this time

   但服务器已经启动,可正常使用.

   MyEclipse7.5 Tomcat6.0.18  JBoss4.2.3.GA

   之前正常,今天突然就这样了.

  解决方法:

   在MyEclipse菜单中window-->preferences-->Java-->Installed JREs

   中,Add自己安装的JDK,

   而不要使用MyEclipse自带的JDK"com.sun.java.jdk.win32.x86_1.6.0.013"

   或者:

   选择Tomcat6.x-->JDK-->Add,点Browse找到自己的JDK的安装路径.

  

  如果JDK已配置为自己安装的了,就定位到

   window-->preferences-->MyEclipse Enterprise Workbench-->Servers

  随便选择一个服务器,比如Tomcat6.x-->JDK,

  只要定位到JDK,就OK了,

  或者定位到window-->preferences-->Java-->Installed JREs,

  只要一点Installed JREs,就OK了.

  这个是myeclipse7.5本身的问题,莫名其妙.

================================================================================

18. 去掉Show In Breadcrumb显示出来的导航条

================================================================================

  按下快捷键Alt+Shift+B或者右键单击后选中了Show in Breadcrumb时,

  就会在编辑器Editor上方出现一个快速导航条,如果想去掉它可以这样来解决:

  定位到Window -> Customize Perspective -> Commands

  在"Available command groups"下面找到"Java Editor Persentation",

  确定其是被勾选的.然后OK退出设置界面.

  在菜单上会有一个Toggle Breadcrumb的快捷按钮

  (一般在那一长行快捷按钮的右边,也就是切换Java,MyEclipse等视图按钮的左边),

  可看见其状态是被选中的,点击这个按钮图标,即可取消(再次点击这个按钮图标又出现Breadcrumb)。

================================================================================

19. 显示被@Deprecated标注过和方法为一条横线穿过:

================================================================================

  定位到Window->Preferences->Java->Compiler->Errors/Warnings;

  将其右边的"Deprecated and restricted API"下的选项勾选上,然后OK.

================================================================================

20. 恢复不小心被删除的文件

================================================================================

  恢复文件:

   选中你需要恢复文件的Project或package,鼠标右击"Restore from Local History..."

   然后直接选中你需要恢复的文件,点击"Restore"就OK了。

  恢复类语句块:

   选中你需要恢复的块,鼠标右击"Local History..."-->"Replace with..."

   或"Restore From..."然后看清你要恢复的块。OK就行了。

  当然上面只是针对Java源文件来说的,对于WebRoot下的JSP等文件的恢复,

  需要选中其文件,鼠标右击"Replace with"->"Local History"->

================================================================================

21. 增强Content Assist的提示功能

================================================================================

  (1) windows->preferences->Java->Editor->Content Assist

   找到右下方的Auto-Activation(自动激活),

   在Auto activation triggers for Java:的右边框中的.后加入abc,

   (加这个的目的是为了好在后面查找定位),点击"OK",回到主界面,

 

  (2) "File"菜单中选择"Export...",

   在弹出的界面中选择"General->Preferences"->"Next",

   在这个界面中,先勾选上"Keys Preferences"(注意先勾选),

   再注意选中上方的"Export all", 在"To preference file:"框的右边点击"Browse...",

   选择导出路径以及为导出文件取一个文件名(默认扩展名为.epf);

  

  (3) 用文本编辑器打开导出的文件(*.epf),查找".abc"(前面在.后添加的abc就这作用),

   定位到/instance/org.eclipse.jdt.ui/content_assist_autoactivation_triggers_java=.abc

   处,在abc后面添加你想要的触发键,如:

     ...content_assist_autoactivation_triggers_java=.abcdefghijklmnopqrstuvwxyz

   保存.

  (4) 再使用"File"菜单中的"Import..."导入即可使用增强的Content Assist.

================================================================================

22. 为MyEclipse添加XML文档所使用的DTD或XML Schema,

  从而使用Content Assistant可进行代码提示:

================================================================================

  (1) DTD

   1)  定位到:

     WIndow->Preferences->MyEclipse->XML->XML Catalog

 

   2)  在右边的界面中,选择"User Specified Entries",点击右边的"Add...";

  

   3)  在弹出的对话框中点击"File System...",为Location输入框添加DTD文件所在路径;

  

   4)  使用别的文本编辑器打开此DTD文件,找到相应的<!DOCTYPE ...>文档类型声明,

     比如说Hibernate的配置文件:hibernate.cfg.xml所需要的DTD文件为:

      hibernate-configuration-3.0.dtd

     打开hibernate-configuration-3.0.dtd后,找到如下内容:

      <!DOCTYPE hibernate-configuration PUBLIC

        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

  

    4)  "Key Type:"右边的下拉框中(有三个类型:Public ID,System ID,URI),

     根据hibernate-configuration-3.0.dtd中的<!DOCTYPE...>中的PUBLIC,

     选择Public ID(或者直接选择"URI"也可);

  

   5)  "Key:"右边的文本框中,将hibernate-configuration-3.0.dtd中的<!DOCTYPE...>

     中的PUBLIC后的双引号内的内容COPY,然后粘贴到"Key:"右边的文本框中,

     注意,COPY的内容不带双引号"";

     (如果上面第(4)步中选择的是URI,则需要填入的是dtd文件中的http://...部分)

  

   6)  点击"OK",即可看到"User Specified Entries"已有了所增加的DTD(的KEY);

     同样,hibernate-mapping-3.0.dtd这个DTD的加入,也可以如法炮制;

   7)  重启MyEclipse即可,注意如果提示不出来,

     并在状态栏的左下出现"Content Assist not available at the current location",

     请在光标位置键入一个空格再使用Alt+/试试;

 

  (2) XSD(XML Schema)

   1)  定位到:

     WIndow->Preferences->MyEclipse->XML->XML Catalog

 

   2)  在右边的界面中,选择"User Specified Entries",点击右边的"Add...";

  

   3)  在弹出的对话框中点击"File System...",为Location输入框添加XSD文件所在路径;

  

   4)  .xsd文件添加后,在下面的Key:右边的文本框会自动添加一个URI,如Spring的:

      http://www.springframework.org/schema/beans

     如果没有自动添加,使用别的文本编辑器打开此.xsd文件,

     找到相应的<xsd:schema xmlns...>名称空间声明,比如说spring-beans-2.5.xsd

      <xsd:schema xmlns="http://www.springframework.org/schema/beans"

           xmlns:xsd="http://www.w3.org/2001/XMLSchema"

           targetNamespace="http://www.springframework.org/schema/beans">

  

   4)  "Key Type:"右边的下拉框中有Namespace Name与Schema Location两个选项,

     如果是DTD,这里有有三个类型:Public ID,System ID,URI;

     将Key Type置为Schema Location

  

   5)  在Key:右边的文本框中的URI后面加上/,再加上此xsd的名字,

     如spring-beans-2.5.xsd的key为:

      http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

  

   6)  点击"OK",即可看到"User Specified Entries"已有了所增加的xsd(的KEY);

     选中此xsd条目,下面的Details为:

     Location: D:\Programs\Java\spring-framework-2.5.6.SEC01\dist\resources\spring-beans-2.5.xsd

     URI:   file:///D:/Programs/Java/spring-framework-2.5.6.SEC01/dist/resources/spring-beans-2.5.xsd

     Key Type: Schema Location

     Key:   http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

   7)  重启MyEclipse即可,注意如果提示不出来,

     并在状态栏的左下出现"Content Assist not available at the current location",

     请在光标位置键入一个空格再使用Alt+/试试;

================================================================================

23. 在Eclipse中可以通过window->Reset Perspective恢复透视图默认设置。

================================================================================

24. @Override报错的原因:

================================================================================

  在项目的Properties-->Java Compiler的右边视图中,

  选中"Enable project specific settings",

  "Compiler compliance level:"选择为1.6,

  因为1.5中,实现某一接口的时候,方法的实现不能使用@Override标记;

  1.6后无论是方法的覆写还是方法的实现,均可使用@Override标记.

================================================================================

25. MyEclipse8.0GA中安装插件:

================================================================================

  (1) 解压插件,一般会有下面的目录结构:

     eclipse  |

        |features

        |plugins

   早期的MyEclipse版本中,只需要将插件解压后的eclipse文件夹COPY到

   MyEclipse目录下覆盖(补充)到eclipse文件夹中即可,

   但8.0GA中不一样了,需要将插件解压后的eclipse目录中的两个文件夹,

   COPY到MyEclipse安装路径下的D:\Programs\Genuitec\Common目录下,

 

  (2) 修改bundles.info,此文件位于MyEclipse的安装目录下的:

     D:\Programs\Genuitec\MyEclipse8.0GA\configuration

      \org.eclipse.equinox.simpleconfigurator

   目录下;

   在bundles.info文件的最后,增加如下格式的信息:

     包名,版本号,file:/文件绝对路经,4,false

   如(一个国际化资源文件编辑器插件):

   jp.gr.java_conf.ussiy.app.propedit,5.3.3,file:/D:/Programs/Genuitec/Common/plugins/jp.gr.java_conf.ussiy.app.propedit_5.3.3.jar,4,false

 

  (3) 重新启动MyEclipse,OK;

================================================================================

26. 防止代码格式化时出现换行

================================================================================

  辛苦写完的代码,被MyEclipse格式化后,

  想放在一行上的东西被自动转成了多行,

  如果想避免这个情况,可:

  1.  Java代码

     Window->Preferences->Java->Code Style->Formatter->Edit

   在弹出的界面中:

     Line Wrapping->Maximum line width

   这个值是设置一行的宽度,默认值为80,可以在这里把这个值根据自己需要改大;

  2.  HTML/JSP代码

   Window->Preferences->MyEclipse->Files and Editors->Html->Html Source->Line width

   默认值为72,把这个值根据自己需要改大;

  3.  XML代码

   Window->Preferences->MyEclipse->Files and Editors->xml->xml Source->->Line width

   默认值为72,把这个值根据自己需要改大;

================================================================================

27. MyEclipse8.0启动时显示启动界面(splash.bmp)

================================================================================

  在myeclipse.ini的最后一行加上:

   -showsplash

  -Dosgi.splashLocation=D:/Programs/Genuitec/Common/plugins/com.genuitec.myeclipse.product8_8.0.0.me200911192201/splash.bmp

  其中-Dosgi.splashLocation=后面的是界面图片的路径;

================================================================================

28. 加入自己的环境变量: 

================================================================================

  如在myeclipse.ini的最后一行加上:

  -DNLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

  -Duser.language=zh

================================================================================

29. Tomcat内存设置方法

================================================================================

  在windows中大家都知道,JAVA程序启动时都会JVM都会分配一个初始内存和最大内存给这个应用程序。

  这个初始内存和最大内存在一定程度都会影响程序的性能。

  比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。

  所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,

  一般的JAVA程序在运行都可以通过中-Xms -Xmx来调整应用程序(Heap堆)的初始内存和最大内存:

  如:

   java -Xms64m -Xmx128m a.jar

  Tomcat的启动程序是包装过的,不能直接使用java -X..... tomcat.*来改变内存的设置。

  在Tomcat在改变这个设置有两种方法:

  1.  适合用%tomcat_home%\bin中的startup.bat脚本启动,

   需要在环境变量中加上CATALINA_OPTS这个属性,如:

     SET CATALINA_OPTS=-Xms64m -Xmx512m;

   ms是最小的,mx是最大,64m,512m分别是指内存的初始和最大容量.

   因为用startup.bat启动tomcat服务器,会调用catalina.bat文件,

   在Catalian.bat文件的166行"rem Execute Java with the applicable properties"

   下面有加载系统设置的相关属性。

   其中就有%CATALINA_OPTS%这一项。这样tomcat在启动时就会将内存设置为指定的值。

  2.  适合将tomcat作为系统服务启动,这时候上面设置CATALINA_OPTS属性的方法就不适用了,

   因为作为系统服务的话,系统启动时调用的是 %tomcat_home%\bin\tomcat5w.exe,

   他读取注册表中的值,而不是catalina.bat的设置,因此需要修改注册表:

   解决办法,修改注册表:

     HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions

   原值为

     -Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"

     -Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"

     -Xrs

   加入

     -Xms300m -Xmx350m

   重起tomcat服务,设置生效

   最后,测试tomcat使用内存的大小,在jsp页面:

   <%

     Runtime lRuntime = Runtime.getRuntime();

     out.println("*** BEGIN MEMORY STATISTICS ***<br/>");

     out.println("Free Memory: "+lRuntime.freeMemory()+"<br/>");

     out.println("Max   Memory: "+lRuntime.maxMemory()+"<br/>");

     out.println("Total Memory: "+lRuntime.totalMemory()+"<br/>");

     out.println("Available Processors : "+lRuntime.availableProcessors()+"<br/>");

     out.println("*** END MEMORY STATISTICS ***");

   %>

================================================================================

30. MyEclipse中启动Oracle连接的时候报Error:

  Error while performing database login with the Oracle0.2.0.1.0 driver:

  ORA-00604: error occurred at recursive SQL level 1

  ORA-12705: Cannot access NLS data files or invalid environment specified

  大致意思是MyEclipse的环境变量或NLS配置文件与服务器端的有出入或不匹配;

  查看Oracle数据库的相关信息为:

================================================================================

 

  解决:

   Help->Aboub MyEclipse Enterprise Workbench->Installation Details->

   ->Configuration

   找找以下相关参数(下面的参数就是启动Oracle连接报错的原因):

     -Duser.language=en

     osgi.nl=en_CN

     user.country=CN

     user.language=en

   打开myeclipse.ini查看,看到多了一项参数:

     -Duser.language=en

   MyEclipse在启动时候,语言编码是在[MyEclipse路径]\eclipse\eclipse.ini文件中加载的。

   而国家地区编码是从系统的区域设置中得到的。

   如果MyEclipse默认启动参数为"-Duser.language=en",

   而操作系统设为"中文(中国)"也就是CN,那么MyEclipse加载后的信息就是"en_CN",

   这样就会看到osgi.nl=en_CN,这就会出现上述问题,

   所以只要将语言与区域设置一致,就可以解决上述问题,

   可以就系统的区域设置定为"中文(中国)"CN,修改eclipse.ini文件,

   将"-Duser.language=en"修改为"-Duser.language=zh",

   这样在MyEclipse加载后的Configuration Details信息就统一为zh_CN,即"osgi.nl=zh_CN".

   也可以直接在myeclipse.ini中设置:

     -Duser.language=en

     -Dosgi.nl=en_US

   这样在MyEclipse加载后的Configuration Details信息就统一为en_US,即"osgi.nl=en_US".

================================================================================

31. 改变MyEclipse中错误提示的波浪线为其他样式:

================================================================================

  window->Preferences->Ceneral->Editors->Text Editors->Annotations:

  在右边的"Annotation Types"下找到红叉图标的"Errors",选中,

  在界面上的右边,可以看到以下几个Show in的复选项:

   Vertical ruler   左边框坚状条

   Overview ruler   右边框坚状条

   Text as      文本的显示方式

  勾选上"Text as",在其右边的下拉框中有以下几种选项:

  Text as :

     Box           实线框

     Dashed Box       虚线框

     Highlighted        高亮

     Native Problem Underline ??

     Squiggles Line     波浪线

     Underlined       下划线

     Vertical Bar     竖线

================================================================================

32. 改变默认的创建JSP时的pageEncoding编码:

================================================================================

  定位到:

   Window->Preferences->MyEclipse->Files and Editors->JSP

  在其右边的界面中,Encoding右边的下拉组合框中选择需要的字符集,如:

   "ISO 10646/Unicode(UTF-8)"

  在其下会显示:

   IANA:  UTF-8

  如果选择Chinese, National Standard

  则其下会显示:

   IANA:  GB18030

================================================================================

33. MyEclipse中使用正则替换批量生成删表SQL:

================================================================================

  方式一:

   应用于删除数据库中的垃圾表:

   (1) 先在sqlplus下使用如下命令查找到表名,如:

      SELECT table_name from user_tables;

     把表名复制到一个.sql文件中,

  

   (2) MyEclipse打开此.sql文件,按CTRL+F调出查找替换界面,

     勾选上Options中的Regular expressions,

     在Find右边的文本框填写上: (^\W)

     这表示查找每行的第一个字母,并将其缓存于GROUP1中,

    

     在Replace With右边的文本框中填写上:  DROP TABLE  $1

     表示将匹配上的字符替换为DROP TABLE 加上它本身,

     其中$1表示从缓存的GROUP1中取内容;

   (3) 同理在语句最后加上:

     在Find右边的文本框填写上: (\W$)

     这表示查找每行的最后一个字母,并将其缓存于GROUP1中,

     在Replace With右边的文本框中填写上:  $1 CASCADE CONSTRAINTS;

     表示将匹配上的字符替换为它本身加上 CASCADE CONSTRAINTS;,

     其中$1表示从缓存的GROUP1中取内容;

  

   (4) 所有的DROP TABLE XXxxx CASCADE CONSTRAINTS;语句生成; 

  方式二:

   (1) 先动态生成sql脚本(vi gen.sql,然后内容如下):

     set head off

     set feed off

     set echo off

     spool deltab.sql

     SELECT 'DROP TABLE '||table_name||' CASCADE CONSTRAINTS;' FROM user_tables;

     spool off

     set head on

     set feed on

   (2) 执行gen.sql生成deltab.sql;

   (3) 执行deltab.sql脚本;

================================================================================

34. 新建工作空间WorkSpace后,如何使用以前的工作空间设置?

================================================================================

  原工作空间目录下有相关的配置信息:

   \.metadata\.plugins\org.eclipse.ui.workbench

   \.metadata\.plugins\org.eclipse.ui.workbench.texteditor

  将上面两个文件夹COPY到新的工作空间覆盖,然后再启动MyEclispe.

  如果打开新的工作空间后,项目处还有旧工作空间的项目列表,

  则删除即可,但注意不要将其从磁盘上彻底删除,也就是只从工作空间删除.

================================================================================

35. MyEclipse中编写Java源文件时一个奇怪的问题[点Vertical Ruler上的红叉后,代码被隐藏]

================================================================================

  现象描述:

   如果源文件有错,这时在错误行的行首左边(行号)的左边的Vertical Ruler(标断点的那个隔条)上

   会有一个红叉图标,点击这个红叉图标,一般会弹出一个提示你修正的提示框,

   就跟在有错的地方使用快捷键CTRL+1调出Quick Fix框一样,

   但现在用鼠标点这个红叉,快速修正框不弹出了,

   替代的却是整个Editor界面中的代码从错误地方开始,被移动到Editor界面中的最顶,

   在有错的代码的上边的其他代码都会看不到了(注意不是代码被折叠Folding了,而是看不见了,

   但是行号的序号却是此行原来的样子,只不过现在这行是顶行),关掉这个源文件,重新打开,

   所有代码又都显示了,

  

   现在的问题是怎样让鼠标点红叉后出Quick Fix框,而不是将错误代码置顶并隐藏其之前的代码?

  解决:

   这是由于Eclipse中的"Show Source of Selected Element Only"功能引起的,

   定位到:

     Window->Customize Perspective->Tool Bar Visibility->Editor Presentation

   展开Editor Presentation,找到Show Source of Selected Element Only,将其勾选,

   这样在工具栏的快捷处就会出现这个功能的图标,如果这个图标是凹下去的,点击一下,

   使其不被使用即可;

   也可在工具栏快捷的空白处鼠标右键->Customize Perspective->Tool Bar Visibility...

   这样找到Show Source of Selected Element Only选项;

================================================================================

36. 解决MyEclipse中连接数据库连接后,展开table或是view列表是不能显示的问题:

================================================================================

  现象:

   MyEclipse8.0GA中,DB Browers能与数据库建立连接,但是在试图展开table或是view列表时是空的,

   看不到已经建立的表。而且,右键点击table的create table进行建表,

   在提交时报错如下:

  

   Table could not be created

   Reason:ORA-06552:PL/SQL: Compilation unit alalysis terminated

   ORA-06553: PLS-553: 无法识别字符集名称

   ORA-06553: PLS-553: character set name is not recognized;

  开始怀疑是MyEclipse的问题,后来想起来有对数据库做过字符集的修改,

  手动的使用update props$,修改了字符集,其实这并不会真正彻底的改变数据库的所有字符集,

  下面来确认字符集是不是真的被彻底修改:

  SQL> select value$ from props$ where name='NLS_CHARACTERSET';

  VALUE$

  ----------------------------

  ZHS16GBK

  SQL>  SELECT DISTINCT (NLS_CHARSET_NAME(CHARSETID)) CHARACTERSET,

        DECODE( TYPE#,

           1,   DECODE(CHARSETFORM, 1, 'VARCHAR2', 2, 'NVARCHAR2','UNKOWN'),

           9,   DECODE(CHARSETFORM, 1, 'VARCHAR', 2, 'NCHAR VARYING','UNKOWN'),

           96,   DECODE(CHARSETFORM  5  , 1, 'CHAR', 2, 'NCHAR', 'UNKOWN'),

           112, DECODE(CHARSETFORM, 1, 'CLOB', 2, 'NCLOB', 'UNKOWN')

        ) TYPES_USED_IN

     FROM SYS.COL$

     WHERE CHARSETFORM IN (1, 2)

     AND TYPE# IN (1, 9, 96, 112);

  

     CHARACTERSET                             TYPES_USED_IN

     ---------------------------------------- -------------

     WE8ISO8859P1                             VARCHAR2

     WE8ISO8859P1                             CHAR

     AL16UTF16                                NCLOB

     AL16UTF16                                NVARCHAR2

     ZHS16GBK                                 VARCHAR2

     WE8ISO8859P1                             CLOB

     AL16UTF16                                NCHAR

     已选择7行。

  上面SELECT语句的意思是:

  NLS_CHARSET_NAME(CHARSETID) --> 使用NLS_CHARSET_NAME()函数,取到其ID参数的字符集名称;

  DECODE(....) TYPES_USED_IN  --> 括号中的意思是:

              如果TYPE#(TYPE#为第一个DECODE的第一个参数)的值是

              第二个参数(1),则取其后的参数(1后面的)为函数的返回值,

              否则继承判断TYPE#是否其与第四个参数相等,如果相等,

              函数返回第五个参数的值.....,TYPE#如果均不等于

              1,9,96,112,则最外的DECODE()函数返回NULL;

  确实在数据库的列属性中仍然存在着多个字符集的设定,下面解决这个问题。

   SQL> SHUTDOWN IMMEDIATE;

   SQL> STARTUP MOUNT;

   SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;

      System altered.

   SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

      System altered.

   SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;

      System altered.

   SQL> ALTER DATABASE OPEN;

      Database altered.

   SQL> COL VALUE NEW_VALUE CHARSET

   SQL> SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';

   VALUE

   -------------------------------------------

   ZHS16GBK

   SQL> COL VALUE NEW_VALUE NCHARSET

   SQL> SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_NCHAR_CHARACTERSET';

   VALUE

   -------------------------------------------

   ZHS16GBK

  这里的国家语言字符集是有问题的,往下看操作就知道了:

 

  -- INTERNAL_USE是没有写在文档中的参数,用以强制完成字符集一致化

  ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET;

  ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET;

  SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET;

     old   1: ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET

     new   1: ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK

     Database altered.

  SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET;

     old   1: ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET

     new   1: ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE ZHS16GBK

     ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE ZHS16GBK

     *

     ERROR at line 1:

     ORA-12714: invalid national character set specified

  -- 运行到此处出问题了,看来国家字符集不能是ZHS16GBK的了,

  -- 那为什么取的时候会取到呢?是因为早先的时候无知地使用了这个语句:

   SQL>  UPDATE props$ SET value$='ZHS16GBK'

      WHERE name='NLS_CHARACTERSET' or name='NLS_NCHAR_CHARACTERSET';

  -- 其值原来是 AL16UTF16,UPDATE后改成了ZHS16GBK,现在把其改回去先;

   SQL> UPDATE props$ SET value$='AL16UTF16'

     WHERE name='NLS_NCHAR_CHARACTERSET';  2

     1 row updated.

   SQL> commit;

   Commit complete.

  -- 再次运行:

   SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET;

   old   1: ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET

   new   1: ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE ZHS16GBK

   ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE ZHS16GBK

   *

   ERROR at line 1:

   ORA-12714: invalid national character set specified

  -- 还是不行,看看错误原因:

   SQL> !oerr ORA 12714

   12714, 00000, "invalid national character set specified"

   // *Cause: Only UTF8 and AL16UTF16 are allowed to be used as the national

   //         character set

   // *Action: Ensure that the specified national character set is valid

  -- 由此可知,Oracle 10g的NATIONAL CHARACTER SET只有2个选择:AL16UTF16与UTF8

  -- 下面直接用国家字符集名字,而不使用&NCHARSET来取:

   SQL> ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16;

   Database altered.

  -- 成功修改

   

  -- 关闭数据库并重启:

  SQL> SHUTDOWN IMMEDIATE

   Database closed.

   Database dismounted.

   ORACLE instance shut down.

   SQL> STARTUP

   ORACLE instance started.

   Total System Global Area  612368384 bytes

   Fixed Size                  2022696 bytes

   Variable Size             251658968 bytes

   Database Buffers          352321536 bytes

   Redo Buffers                6365184 bytes

  -- 按照上面的步骤,一步一步来,一步不要少,完成以后,重新检索col$表。

此篇文章转自讯猫官方博客http://blog.163.com/messcat@126/blog/static/172090879201191244730471/觉得写得很全就转过来了,以备自己在日后的学习中方便查找!