日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
EclipseJDT的自定義跳轉(zhuǎn)功能

之前曾介紹過(guò)六大便捷Eclipse JDT特性,應(yīng)該說(shuō)Eclipse JDT對(duì)于Java開(kāi)發(fā)者而言是很方便的。下面將介紹其中的自定義跳轉(zhuǎn)功能。

網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)建站專注網(wǎng)站定制,經(jīng)驗(yàn)豐富,不做模板,主營(yíng)網(wǎng)站定制開(kāi)發(fā).小程序定制開(kāi)發(fā),H5頁(yè)面制作!給你煥然一新的設(shè)計(jì)體驗(yàn)!已為成都玻璃隔斷等企業(yè)提供專業(yè)服務(wù)。

在JDT中,可以在一個(gè)類上進(jìn)行跳轉(zhuǎn),或者是方法,或者是變量進(jìn)行跳轉(zhuǎn)。這個(gè)功能相當(dāng)方法,使用也很簡(jiǎn)單:在欲跳轉(zhuǎn)的對(duì)象上按ctrl+鼠標(biāo)左鍵即可。

但是如果我們想提供一個(gè)自定義的跳轉(zhuǎn)功能怎么辦?這個(gè)功能可能有機(jī)會(huì)用的不多,但是如果我們需要,那我們就需要知道怎么用。對(duì)吧?

為了演示,這里我假定我想實(shí)現(xiàn)一個(gè)以下功能的跳轉(zhuǎn):

在方法或其他地方注釋里可以聲明一個(gè)“@super”標(biāo)簽,然后在這個(gè)標(biāo)簽上點(diǎn)鏈接的時(shí)候,會(huì)跳到這個(gè)類的父類里去。

為了實(shí)現(xiàn)跳轉(zhuǎn),首先我們需要知道擴(kuò)展哪個(gè)擴(kuò)展點(diǎn)才能實(shí)現(xiàn)這個(gè)功能:org.eclipse.ui.workbench.texteditor.hyperlinkDetectors

這個(gè)擴(kuò)展點(diǎn)就是用來(lái)擴(kuò)展鏈接功能的擴(kuò)展點(diǎn),當(dāng)然這后面的話就比較多,總體說(shuō)來(lái)就是在editor的configuration里有一個(gè)getHyperlinkDetects()方法,用來(lái)得到所有的鏈接偵聽(tīng)定義。

你可以直接在這個(gè)方法中返回你的定義,不過(guò)在jdt,它是通過(guò)讀取上面這個(gè)擴(kuò)展點(diǎn)的所有定義來(lái)實(shí)現(xiàn)的。這也給我們一個(gè)提示:如果我們要實(shí)現(xiàn)一個(gè)自已的鏈接,最好也是去讀這個(gè)擴(kuò)展點(diǎn)。

下面就是擴(kuò)展點(diǎn)的聲明了。下面是一個(gè)例子:

 
 
 
  1. < extension>   
  2.    < extension 
  3.       point="org.eclipse.ui.workbench.texteditor.hyperlinkDetectors"> 
  4.    < hyperlinkDetector 
  5.          activate="true" 
  6.          class="#className" 
  7.          id="#id" 
  8.          name="Link Control" 
  9.          targetId="org.eclipse.jdt.ui.javaCode"> 
  10.    < /hyperlinkDetector> 
  11. < /extension>   

這里要注意的就是這個(gè)targetId,表示這個(gè)鏈接偵聽(tīng)是對(duì)誰(shuí)來(lái)說(shuō)的。否則真要把所有的擴(kuò)展都加到j(luò)ava上去了。所以如果想擴(kuò)展java,這個(gè)targetId就應(yīng)該像上面這樣寫(xiě)。

最后剩下的就是實(shí)現(xiàn)那個(gè)類了。

這個(gè)類需要繼承:AbstractHyperlinkDetector,然后實(shí)現(xiàn)他的一個(gè)方法:

 
 
 
  1. detectHyperlinks(ITextViewer textViewer,  
  2.    IRegion region, boolean canShowMultipleHyperlinks)     

在這個(gè)方法里返回一個(gè)IHyperLink[]對(duì)象,或者是返回空。你需要做的其實(shí)就是判斷你當(dāng)前選中的內(nèi)容范圍,然后判斷是否要起用一個(gè)鏈接。例如上面說(shuō)的“@super”,當(dāng)前的內(nèi)容是“super”,你可以往前追加一個(gè),判斷是否是"@",然后再往最前和最后追加一個(gè),判斷是否是空格。如果是,那你就應(yīng)該返回一個(gè)IHyperLink[]對(duì)象。

如果返回空,那按ctrl+鼠標(biāo)左鍵時(shí)沒(méi)有反應(yīng),否則會(huì)出現(xiàn)一個(gè)手形和一條鏈接線,就像其他的鏈接一樣。

最后就是實(shí)現(xiàn)你的IHyperLink對(duì)象了,顯然,這個(gè)需要實(shí)現(xiàn)IHyperLink接口。

最后試試效果,如果你做的沒(méi)錯(cuò)的話,那就OK了。有需要的話,就試試看Eclipse JDT的自定義跳轉(zhuǎn)功能吧。

編輯推薦】

  1. 六大便捷Eclipse JDT特性一覽
  2. 部署Eclipse RAP到Tomcat的步驟詳解
  3. Eclipse 3.5插件安裝與卸載的10個(gè)小竅門
  4. Eclipse平臺(tái)應(yīng)用與開(kāi)發(fā)專題
  5. Eclipse 3.5年度穩(wěn)定版現(xiàn)已公開(kāi)測(cè)試

分享題目:EclipseJDT的自定義跳轉(zhuǎn)功能
當(dāng)前網(wǎng)址:http://www.5511xx.com/article/dhpgjgj.html