首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Visual Studio2010的ClassificationTypeDefinition BaseDefinitions列表

Visual Studio2010的ClassificationTypeDefinition BaseDefinitions列表
EN

Stack Overflow用户
提问于 2010-08-27 16:09:22
回答 1查看 533关注 0票数 2

谁知道我在哪里可以得到Visual Studio2010中ClassificationTypeDefitionsBaseDefinitions列表?

我试图定义一个"UserTypes“的基本定义,但似乎行不通。对于那些不太知道我在说什么的人来说,需要代码来让它更容易……

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Export(typeof(ClassificationTypeDefinition))]
[Name("keyword")]
[BaseDefinition("keyword")]
internal static ClassificationTypeDefinition KeywordDefinition = null;

当前使用c#的关键字定义来突出显示或不突出显示。但是我似乎不能让用户类型工作(类/枚举/结构名称和其他类似的对象)。我尝试使用vs设置文件并使用其中定义的定义,但“用户类型”的定义不起作用。

谢谢,提前说

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-27 17:45:30

PredefinedClassificationTypeNames类型有一个公共/共享类型列表,但“用户类型”是由语言提供的一个示例。

简短的答案是,对于尚未移出VS2008接口的语言服务(如C#),[BaseDefinition]应该与字体和颜色对话框中的显示名称相匹配。如果在这种情况下它不工作,您可以通过添加另一个具有该名称的分类类型定义(“用户类型”)来说服它工作。

长长的答案是:

为了提供这些语言的分类类型信息,编辑器会在您第一次打开与语言服务关联的文件时动态生成这些信息。同步过程本质上是:

  1. 遍历语言服务提供的可着色项目任何可着色项目都没有关联的分类类型,为其生成新的分类类型(使用IClassificationTypeRegistryService.CreateClassificationType).
  2. Walk浏览字体和颜色中的信息以创建/修改这些分类类型的格式信息

因此,问题是在编辑器选取分类类型定义时,该类型并不存在。然而,为将要动态生成的类型添加一个分类类型定义应该会让两个部分都满意:您的类型的基定义将被正确设置,并且同步过程将很乐意跳过第2步,因为已经有一个同名的项。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3586109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文