程式設計師如何在Eclipse Orion中使用LSP?

2020-12-25 IT168

  【IT168 編譯】Eclipse Orion由兩個不同的部分組成:伺服器端和運行在瀏覽器中的客戶端。Orion伺服器有兩個單獨的實現,其中一個是用Java編寫,另一個是用Node.js編寫。針對語言伺服器協議(LSP),我們選擇使用了Node.js伺服器。

  Orion中的LSP集成著重在Orion編輯器中獲得對Java語言的支持。眾所周知,Eclipse平臺的JDT插件提供了豐富的功能,使Java開發者能夠把Eclipse作為一個Java IDE來使用。JDT是一套插件集合,不僅為Eclipse平臺提供了Java編譯器、調試器,而且還提供了許多Java特定的用戶界面元素,支持Java應用的開發,提供重整、增量編譯和只能編輯等支持。

  如何開始

  首先執行以下步驟來獲取最新的Orion LSP代碼:

  使用Docker

  orion.client / modules / orionnode /中有一個docker文件,可以用於創建Docker映像,其中包含Eclipse jdt.ls的最新版本以及lsp支持的最新Orion node.js。

  構建映像運行:./docker_build.sh

  構建完成,可以啟動映像:docker run -p 8083:8083 orionlsp

  通過打開瀏覽器連接到http://localhost:8083/。

  然後檢查Orion伺服器和Orion客戶端的更改,以便支持Orion編輯器中的Java語言。

  選擇架構

  在開始之前,我們要搞清楚Orion是如何與與語言伺服器進行交互的。

  LSP伺服器和Node.js伺服器現在在同一臺機器上運行。LSP伺服器本地安裝在Node.js伺服器中名為'server'的文件夾內。這樣做的目的是讓每個Node.js伺服器運行一個LSP伺服器。目前,兩臺Orion伺服器之間無法共享LSP伺服器。

  Orion伺服器

  在Orion伺服器端,無法使語言伺服器通信進行。我們定義了一個在伺服器代碼中註冊的擴展名(請參閱server.js中的第100行)。該擴展開始偵聽用於啟動和初始化LSP伺服器的命名套接字。

  Orion客戶端

  語言伺服器協議定義了很多,並且可以向LSP伺服器發出請求,例如文檔生命周期,代碼格式化,hover事件,搜索引用,代碼補全等等。

  目前Orion支持其中的大多數,一旦伺服器在工作空間內啟動和初始化,用戶就可以格式化代碼,獲取問題和警告,搜索引用,獲取Javadoc hover,獲取錯誤警告等。

  因為現在不支持代碼操作,所以在Orion編輯器中沒有可用於報告的錯誤和警告的快速修復。

  使用Orion插件完成編輯器集成。該插件定義了用於啟動語言伺服器的命名套接字。該插件註冊之後,為使用以下內容類型的文件進行初始化:「text / x-java-source」或「application / x-jsp」。這兩種文件在Orion插件中註冊之後,擴展名為「.java」和「.jsp」。因此,當插件啟動和初始化時,它將觸發命名套接字的連接並發送'start'事件。然後初始化LSP伺服器,並且讓兩個套接字用於LSP伺服器和Orion客戶端之間的雙向通信。Orion插件也用於通過使用Orion stylers來註冊Java語言的語法高亮。

  其中mJava和mJSP被定義為:

  Orion編輯器的每個功能都已經被更新了,以檢查LSP伺服器是否已註冊並需要處理。

  例如,對于格式化程序,在調用的文件中org.eclipse.orion.client.ui/web/orion/formatter.js,我們檢查是否存在為當前文件內容類型註冊的LSP伺服器。為此,我們將所有LSP伺服器註冊到一個註冊表中,然後加速查找基於特定內容類型的LSP伺服器。如果我們找到一個,從協議調用相應的處理程序來使用它。在這種情況下,它是執行文檔格式化請求或者文檔範圍格式化請求,要取決於編輯器中的當前選擇。

  我們可以這樣做:

  我們使用同樣的原理來實現所有可以利用LSP伺服器特性的Orion編輯器特性(事件、搜索引用等)。

  未來方向

  我們還需要添加LSP中定義的代碼操作請求的支持,以便能夠在Orion編輯器中添加快速修復。

  現在,LSP伺服器在Maven和Gradle項目中運行正常。 這是一個快速發展的領域,我們相信未來會有更多的項目可以適用。就像通用Eclipse編輯器一樣,不僅可以支持Java,還可以支持其它語言。

  運行界面:

相關焦點

  • eclipse從下載到使用
    確認你使用eclipse來做什麼,本文是用來編寫java程序的。(eclipse還有針對c,c++,php等其他程式語言) ① 在線安裝版這種安裝方式既不能中途斷網,也不能以後安裝。在線下載完成後安裝。(我不推薦)一般看到這個地方可以直接跳過,往後面找。
  • 習慣使用eclipse,如何快速上手IDEA?
    1.前言首先下載ideaIU-2019.3.4.win.zip包激活,打開如下:2.修改IDEA為eclipse快捷鍵方式菜單File-》Settings中搜索keymap,設置eclipse快捷鍵操作設置快捷鍵為eclipse之後,就可以使用eclipse的快捷鍵在IDEA中操作了3.設置默認sdk(jdk
  • eclipse如何使用JDBC向資料庫插入數據!
    eclipse如何使用JDBC向資料庫插入數據!1.在工程中新建InsertTest.java類2.向資料庫中插入數據總共分為4步   1.獲取資料庫連接   2.準備sql語句   3.執行插入      3.1使用connection的createStatement()方法獲取Statement對象      3.2調用Statement對象的executeUpdate(sql)方法執行插入操作   4.關閉資料庫連接
  • eclipse離線安裝sonarlink和阿里規約插件提高代碼質量
    sonarlink是eclipse的代碼質量檢查工具插件,在寫代碼的時候會給出提示。java程式設計師應該知道阿里規約吧,我們在寫代碼的時候應該遵循規約來提高我們的代碼質量。阿里規約不僅只有文檔,還有配合IDE使用的插件。
  • 使用eclipse開發Java Web項目
    本篇首先給出Tomcat 8.0的安裝及驗證過程,然後在eclipse中配置已安裝成功的Tomcat伺服器,最後新建一個Java web工程,並綁定已部署的Tomcat伺服器,在工程中新建並運行JSP文件。
  • 如何使Java程式設計師擁有高效率的開發環境
    如何使Java程式設計師擁有高效率的開發環境 作為一名程式設計師,好的開發環境可以提升你的工作效率,事半功倍。那麼一名Java程式設計師應該擁有什麼樣的開發工具呢。
  • 十年開發經驗的程式設計師一句話說出了重點
    程式設計師的開始總有人評價是從sql開始的,增刪改查是起點,高迸發,數據分析和以及機器學習是未來,但是往往我們會忽略了一個很重要的環節,編程環境的搭建。有人覺得麻煩,也有人覺得沒有啥技術含量,而我覺得編程環境就是好比我們自己所居住的環境一樣,如果你居住的房子沒有窗戶,不專修不擺設家具就根本稱不上是家,編程開發也是如此,環境都搭建不好的程式設計師都不是一個合格的程式設計師。接下來的內容就是來自一位開發十年的老程式設計師的經驗分享。
  • LSP是什麼意思 彈幕評論lsp是什麼梗出處在哪
    首頁 > 問答 > 關鍵詞 > lsp最新資訊 > 正文 LSP是什麼意思 彈幕評論lsp是什麼梗出處在哪
  • 如何在Ubuntu20.04安裝最新版本eclipse並創建Java項目
    1、打開Ubuntu20.04虛擬機,使用帳號和密碼登錄系統使用帳號和密碼登錄系統2、打開瀏覽器,搜索eclipse,進入官網,下載Linux-Ubuntu版本的eclipse,拷貝到虛擬機中>滑鼠右鍵選擇創建終端4、使用tar命令解壓縮eclipse壓縮包使用tar命令解壓縮eclipse壓縮包
  • Eclipse的Debug介紹與技巧
    沒有任何程式設計師能夠一氣呵成的寫出沒有任何BUG的代碼,所以很多程式設計師有相當一部分時間是花費在Debug上的,程序調試是每個程式設計師必須面對的工作,如何使用Eclipse進行有效的、尤其是高效的進行代碼調試是一個值得學習的技巧。
  • 奮鬥中的程式設計師充實而快樂
    當時我們學的是Access,資料庫程式語言使用的是VB,而Java也是一門類似的程式語言,在管理信息系統中也需要用來開發資料庫的程序。當然,一切從零開始。我從網上找來一些視頻教程,跟著老師的講解熟悉Java的語法,編程語句,同時我也試著練習敲代碼,在eclipse上寫一些小程序。隨著我的嘗試不斷地成功,我也越來越有信心成為一名程式設計師。
  • 舒適穩定高效 程式設計師寫代碼用本推薦
    目前,隨著我國軟體行業的快速發展,從事軟體開發與測試行業的人是越來越多了,對於他們來說,電腦選擇似乎不太在意,很多程式設計師認為寫程序對電腦配置沒什麼特別高的要求,只需要一臺「打字機」配置的電腦就可以了,編輯對此卻又不同看法,很多軟體開發程序(如eclipse、C++builder等)在編譯過程中都將佔用大量的
  • eclipse相關
    eclipse下載安裝http://www.eclipse.org/downloads/下載下來解壓可用。eclipse常用快捷鍵可以通過菜單欄中Window–>Preferences–>General–>Keys來查看和修改快捷鍵綁定。
  • Eclipse安裝及配置
    1 下載軟體 Windows系統 ( 32位 / 64位 ) :從網盤裡下載Eclipse綠色版:eclipse-oxygen-win64.zip 或 eclipse-oxygen-win32.zip
  • 「乾貨」Java 程式設計師開發常用的工具(全)
    除了上面提到的這四款由大公司開發的IDE外,JAVA開發的IDE還有很多,例如Spring基於eclipse推出的STS(Spring Tool Suite)、小而且快JCreator,但是以上最常用的eclipse和IntelliJ IDEA。國內Java開發人員使用的最多也是eclipse和IntelliJ IDEA。
  • Windows環境下Eclipse配置
    eclipse安裝    安裝JDK,配置環境變量2. Hadoop安裝包(hadoop-2.7.3.tar.gz)解壓     在網上找對應Hadoop版本的windows編譯版本(hadoop-eclipse-plugin-2.7.3.jar  不是對應版本也可以)複製到eclipse安裝目錄下的plugins目錄中,重啟eclipse打開 window-->preference 就會出現Hadop Map/Reduce
  • gitbash和eclipse中配置git提交時換行符的風格
    如下圖所示:二、eclipse中配置git提交時換行符的風格Window > Preferences > Team > Git > Configuration從圖形界面中可以看到,eclipse中設置配置git提交時換行符的風格,其實也是在用戶家目錄下的.gitconfig
  • Java語法 | 初識Eclipse
    實際上對於這種語法型錯誤,我們可以使用專業的工具,在代碼編寫過程中隨時解決掉,這種專業工具被稱為:IDE。今天查老師將帶著你領略一款成熟且有魅力的 Java 系 IDE。IDE(集成開發環境)IDE概述在前言中,查老師已經簡單的說了一下 IDE 的能力,它們除了可以有效解決你的上述問題,還能讓你編譯和運行程序更便捷(提升開發效率),尤其使用上快捷鍵之後,可能滑鼠都將"失業"!但是前期,查老師建議你,不要著急使用 IDE 的快捷鍵,先練練打字速度和完整語法吧。
  • 思維導圖,Eclipse 上提高效率的技巧
    一張思維導圖1、控制臺(console )日誌輸出另保存經常會遇到這種情況,習慣性的清掉控制臺上的輸出日誌,再然後發現剛才的日誌居然還有用,不得不又當然有一個很讓我蛋疼的地方,就是變量名也自動提示你在變量名後面添加屬性後綴,額。。。仔細在網上搜了一下,還是有辦法解決哈,裝個插件就可以了聽說,我還沒試過,最近忙又懶。。。 連結我發出來,有興趣的可以試試哈。
  • 【processing】Windows下基於eclipse的processing編譯環境配置
    然後又看了下潘大神更早之前的processing教程,開篇就是關於在eclipse進行processing編程的相關配置,看後決定嘗試一下,過程中遇到諸多疑問,最後查看了processing官方的介紹才得以完全解決。在這裡,就把這個的流程(以windows7為例)分享給大家。