C# 代码片段在安装 VSIX 后不起作用

C# code snippets not working after VSIX install

我们创建了许多 C# 代码片段。如果我使用代码片段管理器直接导入它们,它们将按预期完美运行。

由于我们要让人们在不同的时间加入我们的项目,我们希望简化入职流程,因此我们希望将这些片段包含到 VSIX 项目中。为此,我严格按照 this process 进行操作。

现在有几个问题:
1. 当我 运行 VSIX 处于调试模式时,我得到了 visual studio 的实验实例,但是脚本文件夹不在管理器中,当我查看 "Extensions and updates".

  1. 如果我关闭 VS 和 运行 VSIX 安装程序,在重新打开 VS 后我可以看到安装在 "Extensions and updates" 中的包,我可以在脚本管理器中看到自定义脚本的文件夹,并且所有脚本都在那里,但是,当我打开一个代码文件并尝试使用它们时,它们只是不可用,无法识别快捷方式,并且脚本在插入脚本上下文菜单中不可用。

我们已经在三种不同的环境中尝试了这两种方法,并且行为是相同的。

我们正在使用 Visual Studio 2017 和 .Net Framework 4.7.1

我已经对所有设置进行了三次检查,确保没有任何拼写错误,所有需要添加的文件都在正确的位置,所以我不知道还有什么要检查或尝试的。

很抱歉,我没有包含任何代码,但有些东西被认为是机密的,但我尝试用 Hello World 示例来做,但我得到了相同的结果。

感谢您提供的任何帮助。

事实证明,这种行为有多种原因。

环境 1:对于 Visual Studio 2017 的全新实例,片段管理器中有一个名为 %LCID%[=27 的文件夹=].在此文件夹中,有两个专门针对 MVC 4 应用程序的片段。我们不知道为什么,但是这些片段或文件夹阻止了我们自定义的片段被检测到,一旦我们删除了这个文件夹,一切都开始按预期工作。

环境 2:此环境没有 %LCID% 文件夹,但安装了 ReSharper 并且配置为使用IntelliJ 键盘架构。一旦我们将其更改为使用 Visual Studio,代码片段就可用了。

环境 3:在这个环境中,%LCID% 文件夹不存在,ReSharper 键盘配置设置为 Visual Studio.我们禁用了 ReSharper,代码片段仍然不可用。我们基本上无法弄清楚为什么这些片段不可用,所以我们最终进入文件系统,从自定义文件夹中剪切它们并将它们粘贴到 "My Snippets" 默认文件夹下,然后它们就可用了。

希望这些信息对某人有用,或者更好的是,有人可以解释为什么情况一和三会导致代码段不可用。