2017-10-12 61 views
3

我們爲我們的應用程序獲得了一個Ruby API,並試圖弄清楚我是否可以爲VSCode添加一個擴展,以將我們的API的自動完成功能添加到編輯器的Intellisense功能中。您可以添加VSCode語言的自動完成嗎?

使用RubyMine我通過簡單地使用存根打包成一個gem來做到這一點。將Ruby添加到RubyMine項目是我需要編輯器提供包括我們的API的代碼洞察力的所有東西。

VSCode如何做到這一點?我希望能夠基於Code的現有vscode-ruby擴展。但我只找到添加語言擴展的例子。

+0

你看過添加Snippets嗎?我不確定這正是你正在尋找的東西,但值得一看https://code.visualstudio.com/docs/editor/userdefinedsnippets或https://code.visualstudio.com/docs/editor/intellisense –

回答

2

感謝這樣的問題,我使用新技術和工具保持一天。

我做了一個快速閱讀documentation,雖然VSCode支持幾種語言,頁面指的是VS Code Marketplace的擴展名,而ruby就是其中之一。

現在,ruby擴展宣稱擁有IntelliSense和自動完成功能,但是如果這沒有檢測到您的API,那麼您可能需要創建自己的language extension。我假設如果你的Ruby是一個API,就像你說的那樣,那麼VSCode就不能訪問這個接口來提供可能的預測。 也許如果你以某種方式獲得API的源代碼VSCode會檢測接口,並且生活會更容易。

無論如何,看看到extensionAPI7Language-support 沒有說明如何創建

  • 的源代碼片段
  • 顯示代碼完成建議

兩者則必須手動配置。

+0

做你知道是否可以擴展現有的語言服務器?對於Ruby來說,重新實現智能感知和自動完成似乎只是爲了能夠爲我們的API提供完整的代碼。 RubyMine似乎能夠工作的方式是它解析Gemfile併爲列出的寶石包含自動完成功能。這使得通過寶石將我們的API作爲存根提供給它非常容易。本來希望VSCode有類似的輕量級方式來做同樣的事情。 – thomthom

+0

我從rubyide/vscode-ruby下載了源代碼,他們在代碼中使用了CompletionItme,我猜在實現任何更改之前,您應該直接詢問它們,也許有更好的方法。我們來看看是否有其他人發表評論。 –

相關問題