Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Visual studio(2008)集成-智能感知和着色器_C#_Visual Studio_Parsing_Intellisense - Fatal编程技术网

C# Visual studio(2008)集成-智能感知和着色器

C# Visual studio(2008)集成-智能感知和着色器,c#,visual-studio,parsing,intellisense,C#,Visual Studio,Parsing,Intellisense,所以我现在要看的是如何让visual studio集成为我们的少ruby库端口工作:。这基本上是一个CSS预处理器,它在CSS语言上进行扩展,为您提供变量、混合、嵌套规则等 我们想要的是让我们的.Less文件类型利用VS的智能和语法突出显示。现在,由于Less语言基本上是CSS,有一些额外的细节,因此扩展现有VS对CSS文件的支持似乎是明智的 我们已经开始关注VSSDK,并设法将所有文本都涂成蓝色(这是一个开始)。但是在我们开始研究Lexer impl之前,我真的想知道我们是否能够以某种方式扩展

所以我现在要看的是如何让visual studio集成为我们的少ruby库端口工作:。这基本上是一个CSS预处理器,它在CSS语言上进行扩展,为您提供变量、混合、嵌套规则等

我们想要的是让我们的.Less文件类型利用VS的智能和语法突出显示。现在,由于Less语言基本上是CSS,有一些额外的细节,因此扩展现有VS对CSS文件的支持似乎是明智的

我们已经开始关注VSSDK,并设法将所有文本都涂成蓝色(这是一个开始)。但是在我们开始研究Lexer impl之前,我真的想知道我们是否能够以某种方式扩展CSS支持已经完成的工作

任何指向正确方向的指示都将不胜感激


克里斯

这在VisualStudio2010中是很简单的,它现在是beta 2版。文本编辑器是全新的,旨在支持此场景。如果深入研究SDK,您会发现许多相关示例


对于VS2008及更早版本,您无法扩展现有编辑器。您必须提供一个全新的编辑器,它恰好复制了现有编辑器的所有功能

无论你选择2005年、2008年还是2010年,你都将面临同样的选择——你可以选择其中一个,但决不能同时选择两个

  • 按原样设置在VisualStudio的CSS编辑器中打开的.less文件
  • 为VisualStudio从头开始编写一个新的语言服务,为您的语言提供语法高亮和智能感知

  • 如果您选择#2,那么您将编写所谓的Visual Studio语言服务,这里和web上都有很多资源(我的博客中有一些)。请注意,一旦您通过了简单的语法突出显示,这将是一项非常重要的任务。

    -1:用于添加新语言支持的可扩展性API在2008年和2010年有所不同,但您必须编写语言服务这一事实并非如此。你不能“扩展”内置的语言,除了C++语法高亮器中的用户关键词(如果这甚至是计数)。+ 1:你不需要编写语言服务来修改在VS2010 EddioRoK中显示的任何文档中的颜色,这不是我想要听到的,但只要我知道就好。还有一件事,您通常会发现编写两个解析器意味着一个用于DSL,另一个用于VS集成,或者您成功地让一个解析器用于两种场景吗?我已经用两种方法完成了,但目前我使用一个“轻”词法分析器进行语法高亮显示,另一个词法分析器/解析器进行语义、IntelliSense、,大纲和一些智能感知操作有时也最好由专用解析器处理。