gpt4 book ai didi

c# - Visual Studio 2010 的 BaseDefinitions 的 ClassificationTypeDefinition 列表

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:15 26 4
gpt4 key购买 nike

有人知道我在哪里可以获得 Visual Studio 2010 中 ClassificationTypeDefitionsBaseDefinitions 列表吗?

我正在尝试定义“UserTypes”的基本定义,但它似乎不起作用。对于那些不太了解我在说什么并且需要代码使其更容易的人...

[Export(typeof(ClassificationTypeDefinition))]
[Name("keyword")]
[BaseDefinition("keyword")]
internal static ClassificationTypeDefinition KeywordDefinition = null;

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

提前致谢

最佳答案

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

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

长答案是这样的:

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

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

所以问题是在编辑器选择您的分类类型定义时该类型不存在。但是,为可能动态生成的类型添加分类类型定义应该让双方都满意:您的类型的基本定义将被正确设置,并且同步过程将愉快地跳过步骤 #2,因为已经有一个项目那个名字。

关于c# - Visual Studio 2010 的 BaseDefinitions 的 ClassificationTypeDefinition 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3586109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com