欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Eclipse擴(kuò)展點(diǎn)怎么用

小編給大家分享一下Eclipse擴(kuò)展點(diǎn)怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無止境。

Eclipse中提供了幾個(gè)擴(kuò)展點(diǎn),方便擴(kuò)展重構(gòu)功能。

基本的重構(gòu)功能有,

Rename,Move,Create,Delete,Copy。對應(yīng)擴(kuò)展點(diǎn)即為:

org.eclipse.ltk.core.refactoring.renameParticipants    org.eclipse.ltk.core.refactoring.moveParticipants    org.eclipse.ltk.core.refactoring.createParticipants    org.eclipse.ltk.core.refactoring.deleteParticipants    org.eclipse.ltk.core.refactoring.copyParticipants

以ReName為例,其余4項(xiàng)與ReName大同小異。

實(shí)現(xiàn)這個(gè)擴(kuò)展點(diǎn)的基本語法:

< extension point="org.eclipse.ltk.core.refactoring.renameParticipants">    < renameParticipant        id="jp.co.intramart.app.producer.refactoring.renameTypeParticipant"        name="Ebuilder RenameTypeParticipant"         class="jp.co.intramart.app.producer.refactoring.TypeRenameParticipant">         < enablement>        < /enablement>        < /renameParticipant>    < /extension>

這里默認(rèn)對響應(yīng)所有改名事件,如果需要過濾可以在元素< enablement/>中加以定義。不贅述。實(shí)現(xiàn)改名擴(kuò)展的關(guān)鍵在實(shí)現(xiàn)類,必須是org.eclipse.ltk.core.refactoring.participants.RenameParticipant;的子類

下面代碼進(jìn)行了簡單的Eclipse重構(gòu)功能實(shí)現(xiàn)。

import org.eclipse.core.resources.IFile;    import org.eclipse.core.resources.ResourcesPlugin;    import org.eclipse.core.runtime.CoreException;    import org.eclipse.core.runtime.IProgressMonitor;    import org.eclipse.core.runtime.OperationCanceledException;    import org.eclipse.ltk.core.refactoring.Change;    import org.eclipse.ltk.core.refactoring.RefactoringStatus;    import org.eclipse.ltk.core.refactoring.TextFileChange;    import org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext;    import org.eclipse.ltk.core.refactoring.participants.RenameParticipant;    import org.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(0, 1, "haha");            textFileChange.setEdit(edit);            return textFileChange;        }            @Override        public String getName() {            return "Ebuilder RenameTypeParticipant";        }            @Override        protected boolean initialize(Object element) {            // need sub            return true;        }        }

CreateChange方法內(nèi)實(shí)現(xiàn)過于粗糙,僅僅是為了可以讓大家看到結(jié)果。

Eclipse重構(gòu)功能結(jié)果預(yù)覽

通過利用擴(kuò)展點(diǎn),我們就自然的將重構(gòu)時(shí)的差異比較,警告,preview,重構(gòu)history,redo/undo等,eclipse平臺(tái)提供的基本功能加以利用了。

Preview的結(jié)果如下圖。

Eclipse擴(kuò)展點(diǎn)怎么用

Eclipse重構(gòu)功能:特殊需求

下面我來介紹,通過擴(kuò)展點(diǎn)實(shí)現(xiàn)特殊需求。

除了增,刪,改,移等基本重構(gòu)外,可以增加特殊需求的重構(gòu),比如JDT中對類,方法,變量名的重構(gòu)。

實(shí)現(xiàn)特殊需求,就要實(shí)現(xiàn)自己的Refactoring類,繼承類org.eclipse.ltk.core.refactoring.Refactoring實(shí)現(xiàn)相關(guān)方法,這個(gè)類的結(jié)構(gòu)與RenameParticipant等類的結(jié)構(gòu)基本一致,直接上代碼,不再贅述。

import org.eclipse.core.runtime.CoreException;    import org.eclipse.core.runtime.IProgressMonitor;    import org.eclipse.core.runtime.OperationCanceledException;    import org.eclipse.ltk.core.refactoring.Change;    import org.eclipse.ltk.core.refactoring.Refactoring;    import org.eclipse.ltk.core.refactoring.RefactoringStatus;        public class ProducerRefactoring extends Refactoring {            @Override        public RefactoringStatus checkFinalConditions(IProgressMonitor pm)                throws CoreException, OperationCanceledException {            // need sub            return new RefactoringStatus();        }            @Override        public RefactoringStatus checkInitialConditions(IProgressMonitor pm)                throws CoreException, OperationCanceledException {            // need sub            return new RefactoringStatus();        }            @Override        public Change createChange(IProgressMonitor pm) throws CoreException,                OperationCanceledException {            // need sub            return null;        }            @Override        public String getName() {            return "ProducerRefactoring";        }        }

這個(gè)類負(fù)責(zé)處理特殊需求與重構(gòu)的特殊邏輯。

除了邏輯層,還需要對表現(xiàn)層有實(shí)現(xiàn):

RefactoringWizard 及 RefactoringWizardPage。

實(shí)現(xiàn)了Refactoring,Wizard,WizardPage后,即完成了,UI到邏輯的實(shí)現(xiàn)。

通過相應(yīng)的Action的配置,使用RefactoringWizardOpenOperation。即完成了特殊重構(gòu)需求的開發(fā)。

為了方便對特殊需求的Refactoring邏輯部分的重用,eclipse提供了一個(gè)擴(kuò)展點(diǎn):

org.eclipse.ltk.core.refactoring.refactoringContributions

通過擴(kuò)展點(diǎn)的配置,使用時(shí)通過ID即可隨時(shí)得到Refactoring對象。

以上是“Eclipse擴(kuò)展點(diǎn)怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享標(biāo)題:Eclipse擴(kuò)展點(diǎn)怎么用
URL鏈接:http://aaarwkj.com/article46/pccceg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站營銷、全網(wǎng)營銷推廣網(wǎng)站導(dǎo)航、動(dòng)態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
国产一区在线免费在线观看| 久久久亚洲成人国产av| 日韩欧美亚洲视频另类| 国产日产亚洲欧美综合另类 | 亚洲中文字幕第11页| 日韩av熟女人妻一区二| 后入式动漫在线观看| 国产视频在线一区二区| 综合久久99中文综合久久| 精品欧美一区二区在线| 在线日韩中文字幕二区| 日韩国产欧美一区二区三区| 一区二区三区特黄色片| 91在线播放国产视频| 色婷婷综合五月在线观看| 最新日韩一区二区在线| 亚洲国产自拍精品视频| 免费观看黄片视频在线播放| 日韩一区二区三区av在线| 色呦呦视频在线免费观看| 超碰97国产资源在线| 亚洲精品久久麻豆蜜桃| 一本之道久久成人综合| 国产精品一区二区三区专区| 熟妇丰满多毛的大阴户| 日韩精品一区高清视频| 一区二区三区高清av在线| 91欧美一区二区在线视频| 在线观看国产精品女主播户外麻豆| av黄色在线播放网页| 日韩欧美亚洲一区二区三区| 国产放荡av剧情精品| 日韩熟女av中文字幕| 国产欧洲日本一区二区| 91亚洲国产成人精品性色| 亚洲日本在线观看午夜视频| 麻豆精品国产免费av影片| 亚洲国际天堂av在线| 国产原创剧情av网址| 国产乱码免费一区二区三区| 亚洲综合一区二区三区四区在线|