【问题标题】:How do i implement intellisense for my language in visual studio?如何在 Visual Studio 中为我的语言实现智能感知?
【发布时间】:2009-08-09 01:18:44
【问题描述】:

我提到我正在设计一种语言。该计划始终是不实施它而是设计它,但如果我认为我可以在合理的时间内完成它,我正在考虑实施它。

如何让我的语言在视觉工作室中使用智能感知? BooLangStudio 有它http://www.codinginstinct.com/2008/05/boo-in-visual-studio.html, http://www.codeplex.com/BooLangStudio

【问题讨论】:

    标签: visual-studio intellisense


    【解决方案1】:

    这完全取决于您想花多少时间在上面。我在我的 Visual Studio IntelliSense 项目中工作了大约 2,000 小时,从而产生了几乎完整的语言服务。也就是说,这不是 Visual Studio 的“普通”IntelliSense 扩展 - 请参阅 feature set for more info

    这里有一些很好的资源可供查看。我倾向于假设用户已经熟悉 Visual Studio 可扩展性基础知识和使用 ANTLR 进行解析。如果不是,您可能应该从www.antlr.org 开始,并使用simple Visual Studio language service tutorials 之一的“ANTLR 端口”。

    这里有一些帖子显示了我对这个主题的认真程度。 :D

    PS:我现在可以在 1 天内为新语言注释/取消注释构建语法荧光笔。在同一天,我通常也能够获得类型和成员栏。

    【讨论】:

    • 如果您想加入一个将新语言集成到 VS 中的 OSS 项目,请查看 Marvin fulloo.info/Examples/Marvin 或 github.com/runefs/Marvin
    • @280Z28,我也一直在尝试使用 Visual Studio 可扩展性。不过,我无法回答的问题是:像 VS2012/VS2010 那样,实现完全成熟的语言服务的“正确”方式是什么?现在我一直在使用 MEF 来实现一切(IWpfTextViewCreationListener、IClassifier、IQuickInfoSource、ISignatureHelpSource、ICompletionSource)等。它似乎正在工作,但我想知道实现 ILanguageService 是否是更好的方法?
    【解决方案2】:

    This 是查找 Visual Studio 可扩展性的好地方。

    另外,here。但是,第一个链接有一个视频,专门用于将 Intellisense 添加到您的语言服务中。

    【讨论】:

      【解决方案3】:

      截至 2017 年 4 月 4 日:本文似乎提供了创建语言扩展的所有基础知识,包括突出显示单词和提供智能感知(代码完成)。

      https://code.visualstudio.com/docs/extensions/example-language-server

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-10-07
        • 2021-01-07
        • 2016-03-20
        • 2011-10-14
        • 2018-11-09
        • 2017-02-17
        • 2014-07-17
        • 2013-12-07
        相关资源
        最近更新 更多