成人免费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技術棧公眾號

主站蜘蛛池模板: 国产乱肥老妇国产一区二 | 亚洲免费观看视频网站 | 国产日韩欧美在线观看 | 97伦理最新伦理 | 日本精品久久 | 成人久久视频 | 国产欧美精品一区 | 国产精品一区二区在线 | 91九色在线观看 | 亚洲精品一区中文字幕乱码 | 日韩电影一区 | 91精品国产色综合久久 | 日本午夜一区 | 337p日韩 | 91免费看片 | 爽爽免费视频 | 成人在线视频免费看 | 亚洲精品一区二区三区 | 日本三级全黄三级三级三级口周 | 国产精品99久久久久久人 | 日韩视频一区二区 | 日韩av成人 | 91一区二区三区 | 色婷婷综合久久久中字幕精品久久 | 亚洲乱码国产乱码精品精的特点 | 免费在线国产视频 | 精品一区二区三区在线观看 | 激情综合五月 | 91短视频网址 | 国产91在线视频 | 99久久亚洲 | 特级生活片 | 日韩综合| 亚洲综合天堂 | 国产精品久久久99 | 国产精品综合一区二区 | 国产免国产免费 | 亚洲精品视 | 国产一区二区在线视频 | 欧美一区二区三区在线观看 | a视频在线 |