成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Eclipse JDT的自定義跳轉功能

開發 后端
本文介紹Eclipse JDT的自定義跳轉功能,比如說從定義的跳轉標簽跳轉到父類中去等等。這個功能通過org.eclipse.ui.workbench.texteditor.hyperlinkDetectors跳轉點實現。

之前51CTO曾介紹過六大便捷Eclipse JDT特性,應該說Eclipse JDT對于Java開發者而言是很方便的。下面將介紹其中的自定義跳轉功能。

在JDT中,可以在一個類上進行跳轉,或者是方法,或者是變量進行跳轉。這個功能相當方法,使用也很簡單:在欲跳轉的對象上按ctrl+鼠標左鍵即可。

但是如果我們想提供一個自定義的跳轉功能怎么辦?這個功能可能有機會用的不多,但是如果我們需要,那我們就需要知道怎么用。對吧?

為了演示,這里我假定我想實現一個以下功能的跳轉:

在方法或其他地方注釋里可以聲明一個“@super”標簽,然后在這個標簽上點鏈接的時候,會跳到這個類的父類里去。

為了實現跳轉,首先我們需要知道擴展哪個擴展點才能實現這個功能:org.eclipse.ui.workbench.texteditor.hyperlinkDetectors

這個擴展點就是用來擴展鏈接功能的擴展點,當然這后面的話就比較多,總體說來就是在editor的configuration里有一個getHyperlinkDetects()方法,用來得到所有的鏈接偵聽定義。

你可以直接在這個方法中返回你的定義,不過在jdt,它是通過讀取上面這個擴展點的所有定義來實現的。這也給我們一個提示:如果我們要實現一個自已的鏈接,最好也是去讀這個擴展點。

下面就是擴展點的聲明了。下面是一個例子:

  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>   

這里要注意的就是這個targetId,表示這個鏈接偵聽是對誰來說的。否則真要把所有的擴展都加到java上去了。所以如果想擴展java,這個targetId就應該像上面這樣寫。

最后剩下的就是實現那個類了。

這個類需要繼承:AbstractHyperlinkDetector,然后實現他的一個方法:

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

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

如果返回空,那按ctrl+鼠標左鍵時沒有反應,否則會出現一個手形和一條鏈接線,就像其他的鏈接一樣。

最后就是實現你的IHyperLink對象了,顯然,這個需要實現IHyperLink接口。

最后試試效果,如果你做的沒錯的話,那就OK了。有需要的話,就試試看Eclipse JDT的自定義跳轉功能吧。

編輯推薦】

  1. 六大便捷Eclipse JDT特性一覽
  2. 部署Eclipse RAP到Tomcat的步驟詳解
  3. Eclipse 3.5插件安裝與卸載的10個小竅門
  4. Eclipse平臺應用與開發專題
  5. Eclipse 3.5年度穩定版現已公開測試
責任編輯:yangsai 來源: JavaEye博客
相關推薦

2009-06-08 20:13:36

Eclipse自定義控

2012-07-24 15:03:19

OpenStack架構

2023-07-21 19:16:59

OpenAIChatGPT

2009-07-27 16:43:51

自定義Eclipse菜

2009-04-23 09:05:08

IE8llq自定義功能

2015-01-15 16:45:05

iOS源碼自定義畫圖

2009-06-17 14:13:10

Eclipse常用技巧

2015-02-12 15:33:43

微信SDK

2016-02-26 14:57:50

飛象網

2015-01-14 15:06:48

定義相機

2010-05-06 14:50:23

Unix系統功能鍵

2013-03-28 11:32:07

微信菜單輕App

2015-02-12 15:38:26

微信SDK

2016-11-16 21:55:55

源碼分析自定義view androi

2016-12-26 15:25:59

Android自定義View

2011-06-23 10:49:13

Qt 自定義信號

2022-06-06 09:01:16

SwiftUI自定義導航

2010-10-25 16:05:07

oracle自定義函數

2021-11-22 10:00:33

鴻蒙HarmonyOS應用

2009-04-16 08:29:03

IE8自定義功能瀏覽器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品一区在线发布 | 亚洲一区二区在线播放 | 日韩欧美一区二区三区四区 | 亚洲视频观看 | 国产精品福利久久久 | av特级毛片 | 久久精品小视频 | 亚洲成人精品在线 | 午夜爽爽爽男女免费观看影院 | 国产精品一区二区福利视频 | 91一区二区三区 | 国产一区免费视频 | 午夜a√| 国产欧美精品在线观看 | 国产精品爱久久久久久久 | 精品不卡 | 国产精品中文字幕在线播放 | 牛牛热在线视频 | 欧美日韩久久久久 | aaa精品| 久久国内 | 久久精品视频亚洲 | 新av在线 | 特黄色一级毛片 | 亚洲成人av在线播放 | 国产一区亚洲二区三区 | 日韩久久久一区二区 | 国产一级在线观看 | 麻豆国产一区二区三区四区 | 久久精品中文 | 99精品观看| 亚洲高清中文字幕 | 国产成人一区二区三区电影 | 成人精品网 | 精品产国自在拍 | 国产区在线观看 | 国产伦精品一区二区 | 久久免费视频在线 | 欧美中文字幕在线观看 | 欧美亚洲网站 | 视频一区二区三区四区五区 |