【问题标题】:Can you add to a VSCode language's auto complete?您可以添加到 VSCode 语言自动完成功能吗?
【发布时间】:2018-03-24 21:27:10
【问题描述】:

我们的应用程序有一个 Ruby API,我想知道是否可以为 VSCode 做一个扩展,为我们的 API 添加自动完成功能到编辑器的 Intellisense 功能。

使用 RubyMine,我只需使用打包为 gem 的存根就可以做到这一点。将 gem 添加到 RubyMine 项目中,我只需要让编辑器提供包含我们 API 的代码洞察力。

如何为 VSCode 做到这一点?我希望在现有的 vscode-ruby 扩展代码的基础上进行构建。但我只找到添加语言扩展的示例。

【问题讨论】:

标签: ruby visual-studio-code intellisense vscode-extensions


【解决方案1】:

感谢这样的问题,我跟上新技术和工具的步伐。

我快速阅读了documentation,虽然 VSCode 支持多种语言,但页面引用 VS Code Marketplace 进行扩展,ruby 就是其中之一。

现在,ruby 扩展声称具有 IntelliSense 和自动完成功能,但是如果这没有检测到您的 API,那么您可能需要创建自己的 language extension。我假设如果您的 Ruby 是一个 API,如您所说,那么 VSCode 无法访问该接口以提供可能的预测。 也许如果你能以某种方式获得 API 的源代码,VSCode 会检测到接口,生活会容易得多。

不管怎样,看看extensionAPI7Language-support 那里解释了如何创建

  • 源代码sn-ps
  • 显示代码完成建议

两者都必须手动配置。

【讨论】:

  • 您知道是否可以扩展现有的语言服务器?为 Ruby 重新实现智能感知和自动完成功能只是为了能够为我们的 API 提供完整的代码,这似乎有点矫枉过正。 RubyMine 的工作方式似乎是它解析 Gemfile 并为列出的 gem 包含自动完成功能。这使得通过 gem 将我们的 API 作为存根提供给它变得非常容易。曾希望 VSCode 有类似的轻量级方式来做同样的事情。
  • 我从 ruby​​ide/vscode-ruby 下载了源代码,他们确实在他们的代码中使用了 CompletionItme,我想在实施任何更改之前你应该直接询问他们,也许有更好的方法。让我们看看有没有其他人发表评论。
猜你喜欢
  • 1970-01-01
  • 2019-12-09
  • 2014-06-19
  • 2014-09-28
  • 2017-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-29
相关资源
最近更新 更多