eclipse如何自动添加函数

eclipse如何自动添加函数,第1张

关于自动添加代码确实有很多种,alt+/也是一种。这里主要讲成员函数自动生成和自动抽取函数的方法。

1、 打开eclipse选择工程-源文件-包-双击进入一个的具体的java文件

2、在这个文件中按alt+shift+s看到一个自动生成代码菜单,选册唯择需要的方式:

3、我个人认为,实际编码时比较实用的是抽取动作,抽取后生成新的函数,代码结果不州旁培变,这是重构里面最常用启竖的方法。方法是先选择要抽取的代码部分,再按alt+shift+m

填写好方法名称,确定后:

Eclipse中提供了几个扩展点 方便扩展重构功能

基本的重构功能有

Rename Move Create Delete Copy 对应扩展点即为

re refactoring renameParticipantsre refactoring moveParticipantsre refactoring createParticipantsre refactoring deleteParticipantspyParticipants

以ReName为例 其余 项与ReName大同小异

实现这个扩展点的基本语法

<extension point= re refactoring renameParticipants ><renameParticipant    id= intramart app producer refactoring renameTypeParticipant     name= Ebuilder RenameTypeParticipant     class= intramart app producer refactoring TypeRenameParticipant >    <enablement>    </enablement></renameParticipant></extension>

这里默认对响应所有改名事件 如果需要过滤可凯橡以在元素<enablement/>中加以定义 不赘述 实现改名扩展的关键在实现类 必须是re refactoring participants RenameParticipant 的子类

下面代码进如世行了简渣孙肢单的Eclipse重构功能实现

import re resources IFileimport re resources ResourcesPluginimport re runtime CoreExceptionimport re runtime IProgressMonitorimport re runtime OperationCanceledExceptionimport re refactoring Changeimport re refactoring RefactoringStatusimport re refactoring TextFileChangeimport re refactoring participants CheckConditionsContextimport re refactoring participants RenameParticipantimport eclipse text edits ReplaceEdit

public class TypeRenameParticipant extends RenameParticipant {

public TypeRenameParticipant() {    }

@Override    public RefactoringStatus checkConditions(IProgressMonitor pm             CheckConditionsContext context) throws OperationCanceledException {        return new RefactoringStatus()    }

@Override    public Change createChange(IProgressMonitor pm) throws CoreException             OperationCanceledException {        IFile file = ResourcesPlugin getWorkspace() getRoot() getProject( a )                getFile( a )        TextFileChange textFileChange = new TextFileChange( File Changed                 file)

ReplaceEdit edit = new ReplaceEdit( haha )        textFileChange setEdit(edit)        return textFileChange    }

@Override    public String getName() {        return Ebuilder RenameTypeParticipant     }

@Override    protected boolean initialize(Object element) {        // need sub        return true    }

}

CreateChange方法内实现过于粗糙 仅仅是为了可以让大家看到结果

Eclipse重构功能结果预览

通过利用扩展点 我们就自然的将重构时的差异比较 警告 preview 重构history redo/undo等 eclipse平台提供的基本功能加以利用了

Preview的结果如下图


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11978787.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存