当前位置 : 首页 » 文章分类 :  开发  »  Eclipse-使用笔记

Eclipse-使用笔记

Eclipse 使用笔记


快捷键

Ctrl + M:最大化/恢复窗口
Alt + Left/Right:跳转到上/下一光标位置
Ctrl + L:跳转到某行
Ctrl + H:显示搜索对话框
Ctrl + Shift + R:查找工作空间(Workspace)中的所有文件(包括Java文件),也可以使用通配符
ctrl + O:快速outline。如果想要查看当前类的方法或某个特定方法,但又不想把代码拉上拉下,也不想使用查找功能的话,就用ctrl+o吧。它可以列出当前类中的所有方法及属性,你只需输入你想要查询的方法名,点击enter就能够直接跳转至你想去的位置。
Ctrl + K:参照选中的Word快速定位到下一个
Ctrl + T:从接口找到实现类,它可以根据当前光标所在的文字作判断。如果在一个接口类名上,就直接查找实现类,如果在一个接口 方法上,就直接查找实现方法。


编辑

高亮显示选中的相同变量

工具栏上有个黄色画笔头的图标,按下后就启用了高亮显示选中的相同变量

选中大括号内的内容

把你的光标移动到大括号左右,另外一个大括号就会有底色标记。
你可以在括号的右边双击文本编辑区域,这样括号内的内容都会被选中并自动跳转到内容的最后一行(只有某些文本类型才有效,比如java,js),这样你也能清楚的看到一对大括号的位置。

修改工作空间编码

导入的工程中有中文乱码,修改工作空间编码为utf-8即可:
windows->Preferences->General->Workspace->
Text file encoding->Other:UTF-8

目录自动展开

Package Explorer和Project Explorer上方有个黄色的左右双向箭头,选中的话,左侧目录会自动展开编辑器中当前编辑的文件

删除RemoteSystemsTempFiles项目

step1、在Eclipse中依次打开Windows–>Preferences–>General–>Startup and Shutdown将RSE UI前的对号去掉,关闭Eclipse;
step2、将Eclipse工作空间中的“RemoteSystemsTempFiles”项目删除掉,再启动Eclipse程序,这个项目就不会再自动生成了;


自动换行插件WordWrap

Eclipse 使用系统内置的“ Text Editor ”做为文本编辑器,这个文本编辑器有一个问题,就是文本无法换行。这个问题在显示上给人们带来不少麻烦。
终于有人忍不住开发了一个扩展插件 WordWrap ,这个插件非常小,但是安装这个插件以后就可以轻松实现文本编辑器的自动换行功能了。


.开头文件的隐藏与显示

在包管理器右边点下三角,选择Filters…

去掉.* resources前面的勾即可显示.开头的文件,勾选后会隐藏.开头的文件。


com.cb.eclipse.folding代码折叠插件

下载 http://download.csdn.net/detail/huyuyang6688/9280759
安装,即把下载后解压出来的的com.cb.eclipse.folding_1.0.6.jar放到eclipse\plugins目录,重启eclipse
配置,如下图:

Windows→Preference→Java→Editor→Folding
勾选“Enable folding”,在Select folding to use后面选择Coffee Bytes Java Folding

http://www.cnblogs.com/Micheal-G/articles/5073778.html


自动补全增强

Window -> preferences -> 左侧Java -> Editor -> Content assist -> 右侧Auto-Activation下,
有一个Auto activation triggers for Java:会看到只有一个”.”存在,表示:只有输入”.”之后才会有代码提示,把”.”的地方修改成 .abcdefghijklmnopqrstuvwsyzABCDEFGHIJKLMNOPQRSTUVWSYZ_,点最下面的”OK”来保存设置。


统计代码行数

CTRL+H 打开查找对话框,选择file search,
Containing text输入\n,勾选Regular expression,
File name pattern输入*.java,
选择搜索范围,点击搜索,在Search窗口会出现\n匹配的个数,即行数。


设置自动注释模版

Window -> Preference -> Java -> Code Style -> Code Templates -> Comments
可以看到Comments下面一系列可以注释的Java代码组成部分(对文件、变量、方法、构造方法、重载函数等等),比如我想定制Java文件的注释风格,那么在右侧选择Comments中的File项,点击Edit,进入编辑模式,这样就可以自定义注释了。
另外可以插入一些变量,如年、日期等等。
例如,Java文件注释模版:

/**
* Project Name:${project_name}
* File Name:${file_name}
* Package Name:${package_name}
* Author:${user}
* Date:${date} ${time}
* Copyright(c) ${year}, 中国民航信息网络股份有限公司 All Rights Reserved.
*/

Java类注释模版:

/**
* ClassName:${type_name}
* @author ${user}
*/

Methods注释模版:

/**
* 方法描述
* @param
* @return
* @author ${user}
* @time ${date} ${time}
*/

最后,确保 Code -> New Java files 中有:"${filecomment}",这样才能在新建java文件时自动生成上面的Files注释。


以工作集方式组织包

调出包管理器

Window > Show View > Other > Java > Package Explorer
然后可以将其拖拽到Eclipse的任意区域停泊
以包的形式查看项目更简洁

顶层菜单以工作集方式显示

View Menu > Top Level Elements > Working Sets

工作集的显示与隐藏

View Menu > Configure Working Sets
勾选工作集后会显示,未勾选的会被隐藏

新建工作集

View Menu > Configure Working Sets > New >
给新建的工作集起一个名字,从左侧选择一个已经导入的工程到右侧工作集中。
若工程中包含子工程,也可以单独选择子工程到工作集中。


错误与调试

@Override报错

在有@Override注解的方法上面会报错如下:
The method XXX must override or implement a supertype method
这是jdk的问题,@override注释在jdk1.5环境下只能用于对继承的类的方法的重写,而不能用于对实现的接口中的方法的实现,认为这不是Override而报错。JDK6修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override。

要解决该问题,首先要确保机器上安装了jdk 1.6或以上版本。

然后,选择eclipse菜单Windows->Preferences–>java->Compiler–>compiler compliance level选择 1.6或以上,刷新工程,重新编译。

如果问题还没解决,原因是打开了Project指定设置。在报错的工程上右键选择 Properties–>Java Compiler
去掉”Enable project specific settings”前面的勾,这样会使用系统默认Java Compiler配置。
或者在”Enable project specific settings”勾选的情况下,compiler compliance level 中选择 1.6或以上,刷新工程,重新编译。

java中@Override注解的作用
作用:当子类函数添加 @Override 后,该函数必须重写父类中签名相同的函数,否则将会编译失败。
注意: @Override 仅提供一种辅助功能提示函数为父类函数的重写,并非重写的必要条件。即使没有该注解,只要子类函数的签名与父类的相同,该子类函数就重写了父类相应的函数了。


错误:使用jre编译项目

报错:

[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] Unable to locate the Javac Compiler in:
  C:\Program Files\Java\jre7\..\lib\tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the JAVA_HOME environment variable.

原因:
启动时选择的java运行环境为jre

解决:
右击项目->Run As->Run Configurations->JRE标签
Runtime JRE:选择jdk,而不是jre。

如果不确定下拉列表中到底是什么,点击“Installed JREs”,查看已安装的java运行环境

注意:Eclipse安装后默认的java环境是jre
如下图:

需手动将其改为jdk,如下图:


错误:32位Eclipse用64位jdk启动

报错:

Java was started but returned exit code=13

Eclipse启动时报错Java was started but returned exit code=13
如下图所示:

原因是通过第三方更新JRE时,第三方安装的是32位的JRE,与64位的eclipse不匹配(报错信息的–launcher.library中有x86_64说明这个eclipse是64位的)

解决方法:重新安装一遍64位的JDK

JDK8/JRE8在安装完成之后,会添加一个环境变量C:\ProgramData\Oracle\Java\javapath
这个环境变量是三个快捷方式,分别是java.exe.lnk javaw.exe.lnk javaws.exe.lnk,你每安装一次JDK/JRE,这三个快捷方式都会更新路径为最后一次的JRE路径

Eclipse启动时报错Java was started but returned exit code=13
http://blog.csdn.net/gsls200808/article/details/48104217

如何区分本机Java是32位还是64位?

命令行输入命令java -version看java版本

C:\Users\masi>java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) Client VM (build 25.161-b12, mixed mode, sharing)

如果出现64-Bit字样,就说明是64位的;如果没出现,默认是32位的。
另外,安装jdk的时候,默认是Program Files (x86)的安装文件夹,则是32位的。如果是Program Files文件夹,则是64位的。

如何区分Eclipse是32位的还是64位的?

通过eclipse目录特定文件判断eclipse是32位还是64位

eclipse32位和64位的目录结构是差不多的,我们可以解压后查看eclipse.ini文件,通过对比-launcher.library查找有没有x86_64字样,有说明是64位,反之就是32位
如图,上面的是32位,下面的是64位

此外,一般64位的默认安装在Program Files文件夹中,32位的默认安装在Program Files (x86)文件夹中


错误:Unsupported major.minor version 51.0(jdk版本错误)

原因:外部jar包使用jdk1.7(jdk7)编译,而使用此jar包的工程jdk版本为jdk1.6(jdk6)
解决:本地也用jdk1.7编译。
http://swiftlet.net/archives/716
https://stackoverflow.com/questions/10382929/how-to-fix-java-lang-unsupportedclassversionerror-unsupported-major-minor-versi

  • 第一步:在eclipse新增java运行环境jdk1.7。
    Window->Preferences->Java->Installed JREs
    添加JRE:Add->Standard VM->
    JRE home : C:\Program Files\Java\jdk1.7.0_79
  • 第二步:修改项目的编译环境jdk为1.7。
    右击项目->Build Path->Configure Build Path->Libraries标签->修改JRE System libraries 为1.7。
  • 第三步:修改项目启动环境为jdk1.7。
    右击项目->Run As->Run Configurations->JRE标签->确保选项为jre7

调试

Unable to install breakpoint in

原因可能是代码变更后断点行数和之前不一致导致的。
在Preferences - Java - Complier 下有一个 Add line number attributes to generated class files,要勾上。
删除断点,Project - clean之后再添加断点。


debug时运行临时代码

选中要运行的代码->Run->Inspect


远程调试 Remote Debug

JVM启动参数中增加-Xrunjdwp选项

以TAPI服务jboss5为例,在配置文件/opt/app/dev/jboss-eap-5.2/jboss-as/server/myproject/run.conf
中的JVM启动参数中增加-Xrunjdwp选项
JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_socket,address=8757,server=y,suspend=n"
-Xrunjdwp是通知JVM使用JDWP来运行调试环境,该参数同时了一系列的调试选项:
transport指定了调试数据的传送方式,
dt_socket,是指用SOCKET模式,另有dt_shmem指用共享内存方式,其中,dt_shmem只适用于Windows平台。
server=y/n,VM是否需要作为调试服务器执行
suspend=y/n,是否在调试客户端建立连接之后启动VM。关于suspend多说一句,如果设置为y,它会阻塞程序运行,直到有客户端连接到对应的监听端口(这里是9527),程序才真正开始执行。我们有时候会抱怨程序一闪而过,还没来得及在本地加载上代码程序就执行完了,这种情况就可以使用suspend参数。

Eclipse远程调试配置

点击工具栏上的debug按钮旁边的下拉三角,在弹出的拉下菜单中选择”Debug Configurations…”,
在Debug配置界面的左侧选择Remote Java Application->右键->New,新建一个配置项,若存在已有配置项,可编辑已有配置项,
在右侧上方Name处给新建配置项取一个容易区分的名称(可任意取),
在右侧Connect标签下配置:
Project:点击右侧Browse按钮,选择要调试的java项目
Connection Type:默认Standard(Socket Attach)
Connection Properties:
Host:172.27.19.163(要调试的服务器IP)
Port:8784(-Xrunjdwp启动参数中配置的调试端口)

加断点
在代码左边的行号上双击增加断点,再次双击删除断点

开始远程调试
配置完后点击下方的Debug按钮,进入debug模式,现在调试的是远程服务器上部署的程序,必须保证本地代码和远端class文件一致才有意义。回到网页点击相应按钮,可看到程序在断点处停住,并自动弹出Debug界面。

结束远程调试
Disconnect按钮高亮,表示已连接到远程服务器,想要断开,直接点击这个按钮,则会从远端断开。


修改字体

文本字体

windows–>Preferences–>General–>Appearance–>Colors and Fonts–>Basic–>Text Font中选择Courier New. 10号字体
windows–>Preferences–>General–>Appearance–>Colors and Fonts–>Java–>Java Editor Text Font选择Courier New. 10号字体

问题:系统里有Courier New字体 Eclipse没有这个字体选项
原因:win7(xp)中的系统字体分为”显示”和”隐藏”两种状态,当为”隐藏”状态时,其它软件程序就无法找到该字体。
解决:在C:/windows/Fonts中设置Courier New 字体为显示就可以了

包管理器字体

包管理器字体与系统字体有关
桌面右击→个性化→窗口颜色→高级外观设置→在项目中选择“消息框”→修改字体

控制台字体

windows–>Preferences–>General–>Appearance–>Colors and Fonts–>Debug–>Console font


插件

Markdown Editor插件

Help -> Install New Software,Work with: http://winterwell.com/software/updatesite/ ,回车出现Markdown Editor,勾选安装。

Help -> Eclipse Marketplace,搜索markdown,找到Markdown Text Editor 安装。

GitHub Flavored Markdown

Help -> Eclipse Marketplace,搜索GitHub Flavored Markdown 安装
使用:
Window -> Show View -> Other… 选择 GFM Support -> GFM Viewer,可打开GFM视图
markdown文件上右键,选择Show in GFM view,以GFM视图打开markdown文件


Maven插件配置

Eclipse中已默认安装了Maven.
若未安装,点击eclipse菜单栏Help->Eclipse Marketplace搜索maven,搜索到插件Maven Integration for Eclipse 并点击安装即可。

我的Maven仓库目录(使用默认目录):C:\Users\username.m2\repository
将settings.xml和repository并列放在同层目录下,这样Maven就可以根据配置去下载一些需要的库了。

Eclipse中Maven配置
Window->Preferences->Maven->User Settings
确保User Settings中的文件为C:\Users\username.m2\settings.xml
确保Local Repository为C:\Users\username.m2\repository

Window->Preferences->Maven
勾选 Download repository index updates on startup


MyBatis Generator 1.3.1

自动生成数据表映射代码
下载Eclipse插件zip包,解压后将plugins和features目录中的jar包分别复制到Eclipse安装目录的对应文件夹中


SonarLint插件

Eclipse->Help->Eclipse Marketplace…->
Find:输入sonar搜索,安装SonarLint


Subclipse

Subclipse是Eclipse的一个插件,为Eclipse添加SVN版本控制功能。

通过Install New Software安装

Eclipse -> Help -> Install New Software -> Add,location中填入下面的url
https://dl.bintray.com/subclipse/releases/subclipse/latest/

出现Subclipse和SVNKit,全都勾选安装。
重启Eclipse后Window->Preferences->Team中有SVN配置项说明安装成功

通过Eclipse Marketplace安装

Eclipse -> Help -> Eclipse Marketplace… ->
Find:输入subclipse搜索,安装。


设置不需要纳入版本控制的文件

Window->Preferences->Team->Ignored Resources->Add Pattern 依次添加下面的模式串

target
.settings
.classpath
.project

检出svn项目到Eclipse并导入为Maven项目

File->Import->SVN->从SVN检出项目->创建新的资源库位置->输入url->选择文件夹->作为工作空间中的项目检出
然后再在src上右键导入maven工程:
Import->Maven->Existing Maven Projects,
选择刚刚SVN checkout下来的项目,导入。


已有项目连接至svn

  • 情况1:已在TortoiseSVN关联svn,但没有在Eclipse中关联SVN的项目。
    项目上点右键->Team->Share Project…->SVN
    提示:“项目已有SVN/目录。有可能它先前已共享,或是使用另一工具取出的。将自动地使用以下信息进行共享。”
    点确定即可
  • 情况2:未在TortoiseSVN关联svn(例如新建的工程),也没有在Eclipse中关联SVN
    项目上点右键->Team->Share Project…->SVN->使用已有资源库位置->使用指定的模块名,浏览,选择svn目录->完成。
  • 情况3:若先在Eclipse中安装subclipse插件,再导入已关联SVN的Maven项目,则自动在Eclipse中关联SVN。

已连接到svn的项目从svn断开

项目上点右键->Team->断开连接->从目录中删除svn元信息


分支操作

切换到分支/主干
项目上点右键->Team->切换…
项目上点右键->Replace With->分支/标记…
至URL:填入分支/主干的SVN目录,其他选项不动。

分支代码合并到主干

  1. 若当前工程在分支代码上,先通过“Replace With”或“Team->切换”切换到主干代码。
  2. 项目上点右键->Team->合并(Merge)->Merge a range of versions->
    在Eclipse中合并不是很方便,用TortoiseSVN的界面合并更方便一些。

创建分支(Tortoise SVN)

  1. 新建一个存放分支的文件夹branch1,并提交到svn
  2. 在主干myproject上右键,Branch/tag…,To path:选择刚才新建的分支文件夹branch1,并指明一个和本分支相关的子文件,例如 myproject/data-push
  3. 到分支文件夹branch1中update即可。

Eclipse

Eclipse开源,免费,免安装,本身就是用Java开发的。

下载
http://www.eclipse.org/downloads/

默认工程目录workspace:
C:\Users\username\workspace

打开(导入)java工程

点击Eclipse界面中的file(文件)下的import(导入),
进入导入界面,选择General下的Exiting Project into Workspace,
点击Select root directory选项行的后面的Browse按钮选择自己工程文件夹,点击确定,
回到Import界面,点击finish(完成)按钮,完成导入工作。

导入项目后没有JRE System Library

项目右键–>Build Path–>Configure Build Path–>Libraries标签–>Add Library–>JRE System Library–>选择JDK

项目添加jar包

  • 添加外部jar包
    项目右键–>Build Path–>Configure Build Path–>Libraries标签–>Add External JARs,选择想要添加的外部jar包。
    缺点是项目在其他机器上重新导入后jar包可能找不到,因为引用的外部jar包可能不存在
  • 添加本项目内jar包
    在项目中新建文件夹:项目右键–>New–>Folder,输入文件夹名称,比如lib。将想要添加的jar包拷贝到lib文件夹中。
    项目右键–>Build Path–>Configure Build Path–>Libraries标签–>Add JARs–>找到本项目的lib文件夹,选中刚才拷贝过来的jar包,点OK,Libraries标签下就能看到想要添加的jar包了。
    或者,选中lib文件夹中想要添加的jar包,点右键–>Build Path–>Add to Build Path,即可。
    这种方法导入的jar包就在本工程内,使用相对目录,拷贝到其他机器后还可以使用,但多个项目重复使用jar包会有多份拷贝。

右键RunAs没有Java Application

原因:java文件同名public类中没有main函数,或main函数格式错误(比如参数类型不是String[])
注意:如果一个java文件中有多个类,其他非public类中有main函数,但public类中没有main函数,也是找不到RunAs->Java Application选项的。必须是同名public类中有才行。

配置.class文件输出目录

eclipse中找到编译后的class路径有两种方法:
一、设置项目.class输出目录
右键项目 > Properties > Java Build Path > Source > 下面有个配置项 Default Output Folder
点击”Browse”时可以选择目录或新建目录用于存放.class文件
设置完成后,src中的.java文件编译后生成的.class文件与package所对应的目录一起存放在classes目录中,并且会在Eclipse中隐藏.class目录

二、设置全局.class输出目录
Window > Preferences > Java > Build Path > Source and Output Folder
此时再新建项目的时候会自动的将.class文件放置在你所设置的目录中


上一篇 刘慈欣《三体》书摘

下一篇 2015年第四季度运动记录

阅读
评论
5.1k
阅读预计20分钟
创建日期 2015-09-06
修改日期 2018-06-24
类别

页面信息

location:
protocol:
host:
hostname:
origin:
pathname:
href:
document:
referrer:
navigator:
platform:
userAgent:

评论