更改TaggerProvider的名称,代码无法正常工作

时间:2019-09-07 20:52:19

标签: visual-studio-extensions

我克隆了https://github.com/microsoft/VSSDK-Extensibility-Samples,项目Intra-text_Adornment / C#可以很好地工作。

然后,我将ColorAdornmentTaggerProvider的名称更改为CCAdornmentTaggerProvider,然后运行该项目。该扩展程序不再起作用。

我的更改是https://github.com/gqqnbig/VSSDK-Extensibility-Samples/commit/575d74300fc22b61d694f0c7f6a05e71c7fd79fe

我该如何解决?

2 个答案:

答案 0 :(得分:1)

  

我该如何解决?

ColorAdornmentTaggerProvider的名称更改为CCAdornmentTaggerProvider时,需要将所有与Color相关的类都更改为与CC有关的类,以使扩展名起作用。

尝试在解决方案资源管理器中重命名类名称,并在收到此消息框时将OK的所有代码元素重命名为Colorxxx,然后选择CCxxx

enter image description here

重命名类名后,结构应与此类似:

enter image description here

然后,您可以在修复编译错误(如果存在)之后进行扩展工作。

答案 1 :(得分:1)

我找到了另一种解决方法。我必须从实验实例中卸载扩展程序,或删除文件夹%LOCALAPPDATA%\Microsoft\VisualStudio\15.0_5c91ae55Exp\Extensions

我的猜测是,由于ColorAdornmentTaggerProvider具有Export属性,因此在VS安装扩展时,VS会记住类名ContentTypeTagType和其他东西。当我将类重命名为CCAdornmentTaggerProvider时,扩展名没有重新安装,实验实例仍在寻找ColorAdornmentTaggerProvider,但找不到它。