我想写一个新的模板语言,我希望Visual Studio“支持”它。我需要知道的是:
我更喜欢用C#编写解析器。
答案 0 :(得分:62)
我会看一下已经完成与Visual Studio集成的另一种语言。一个很好的例子是Boo。语言和Visual Studio集成是开源的。所以你可以看看他们到底要做什么。
针对VS2010的Boo语法突出显示包括其主页上的一些推荐链接,我将其复制以供参考:
答案 1 :(得分:29)
关于Visual Studio方面,您需要的是“语言服务”,它是处理给定文件扩展名/类型的着色,智能感知等的实体。
对于介绍,see this article
对于代码示例see here
关于解析,有很多技术,我不会提供意见/建议。
请注意,涉及到相当多的工作,但在我看来,在VS2010中比在以前版本的Visual Studio中提供这种扩展要简单得多。
另见
答案 2 :(得分:9)
我使用这篇文章作为我的基础编写了一个VS语言服务: http://www.codeproject.com/KB/recipes/VSLanguageService.aspx
如果你有一个关于语法的基本句柄,那也不算太糟糕。
答案 3 :(得分:2)
VS SDK中有一个示例,显示了您要查找的大多数功能。
答案 4 :(得分:2)
我发现这个非常有用的Visual Studio 2013 SDK最新示例集合: http://blogs.msdn.com/b/vsx/archive/2014/05/30/vs-2013-sdk-samples-released.aspx
它还包含最新版本的OokLanguage,听起来很有希望。
我们使用ANTLR 4解析我们的语言,它像魅力一样工作,并允许直接与C#代码交互。完全可以推荐它。
答案 5 :(得分:2)
我使用自己语言的VS,迫切需要语法高亮。我根据本教程建立了我的:https://mattduffield.wordpress.com/2012/07/31/writing-a-brightscript-syntax-highlight-extension-for-visual-studio-2010/
我知道该教程是在VS2010中。我在VS2012中制造了我的没有或非常小的打嗝。 (也曾在VS2013工作过)最近我改为VS2015并且可以编辑解决方案,没有问题。
答案 6 :(得分:0)
正如其他答案中所提到的,最有趣的代码示例是Visual Studio最新版本的Ook language extension(撰写本文时为2017年)。
对于VS 2015,请参阅sample in the VS2015 branch。
要安装适用于2015或更高版本的SDK,您需要重新运行VS设置。 2015年,它被称为" Visual Studio可扩展性工具更新3"。