簡體   English   中英

Eclipse:Java的全文自動完成?

[英]Eclipse: Fulltext autocompletion for Java?

我可以為Java @ Eclipse啟用全文自動填充嗎? 讓我們演示一下:

最后一段代碼:

getVariants().add(new Variant(MediaType.TEXT_XML));

我現在該如何編碼:

getv [ctrl + space] .a [Enter]新V [ctrl + space,向下箭頭,輸入] M [Ctrl + Space,Enter]。 text_x

基本上,當我提供字母“ TEXT_X”時,Eclipse將完成單詞“ TEXT_XML”。

我想如何編碼:

getv [ctrl + space] .a [Enter]新V [ctrl + space,向下箭頭,輸入] M [Ctrl + Space,Enter]。 XML文件

Eclipse應該意識到我的意思是“ TEXT_XML”(全文自動完成)。

據我所知, 還沒有辦法在Eclipse preferences視圖中啟用全文代碼完成 這也困擾了我一段時間。 我做了很多挖掘工作,並且我確定沒有簡單的方法可以實現這一目標。

但是,有兩種方法可以實現所需的目標,但是我認為這兩種方法都是解決這一小麻煩的工作。

  1. JDT Java完成提議計算機參考頁中有一個Eclipse插件擴展點。可以在此存儲庫中找到實現此擴展點的示例項目。 這相當方便, 但是仍然有很多樣板代碼和乏味的代碼。

  2. 您可以在內部org.eclipse.jdt.internal.codeassist.CompletionEngine類中更改findKeywords方法,並編譯自己的JDT fork。 但是,出於多種原因,我們不建議這樣做。 首先,該類是12000線怪獸,很難跳進去。當然,如果您只想闖入一團,這幾乎不可能成為官方貢獻,因此您需要擔心關於每個月食發布。

另外,將來可能會有一個非常冷淡的方式。 盡管這可能會超出您的要求。

看一下Code Recommenders項目 博客 概述了項目目標。它沒有特別提到全文自動完成功能,但是我認為它的匹配算法甚至超出了該范圍。

編輯 :在適當的SO精神中,我將使此答案保持最新:

顯然,該功能已在“代碼推薦器”插件中實現。 請參閱此博客文章和此論壇主題 我很驚訝它只用了10個位置。 對我來說,擴展點顯得更加復雜。

如果您的MediaType類不包含大量可訪問的字段/方法,則可以簡單地使用

getv[ctrl+space].a[Enter]new V[ctrl+space, down arrow, Enter]M[Ctrl+Space, Enter].[Ctrl+Space, down arrow, Enter]

您可能需要多次按下向下箭頭,才能選擇所需的字段。

是的,您可以使用模板。 (窗口->首選項-> Java->編輯器->模板)

基本用法是將名稱設置為要鍵入的名稱,並將模式設置為要顯示的名稱。

在測試中,我將名稱設置為xml ,將上下文設置為Java ,將模式設置為TEXT_XML並打開了自動插入功能。 然后,當我輸入您的示例時,我可以遵循以下模式:

getv[ctrl+space].a[enter]new V[ctrl+space, down arrow, Enter]M[ctrl+Space, Enter].xml[ctrl+space]

既然自動插入被打開 TEXT_XML插入。

模板的功能遠不止這些,而我用於此答案的一個來源是有效的Eclipse

我希望這有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM