2017-10-12 59 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,我猜在实现任何更改之前,您应该直接询问它们,也许有更好的方法。我们来看看是否有其他人发表评论。 –

相关问题