Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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# VS2010扩展性:如何按F5执行自定义操作_C#_Visual Studio 2010_Visual Studio_.net 4.0_Visual Studio Extensions - Fatal编程技术网

C# VS2010扩展性:如何按F5执行自定义操作

C# VS2010扩展性:如何按F5执行自定义操作,c#,visual-studio-2010,visual-studio,.net-4.0,visual-studio-extensions,C#,Visual Studio 2010,Visual Studio,.net 4.0,Visual Studio Extensions,我需要为自定义项目模板实现某种扩展性 打开C代码文件,如果…: …当前项目具有某些特定的类型id …代码文件是一个类,继承了一些具体的基类 …用户按F5 …我想…: …启动任意程序(控制台应用程序) …将Visual Studio附加到任意程序的进程 …调试 事实上我完全迷路了,我不知道该怎么做。我知道我需要VisualStudio2010SDK,但我不知道如何创建一个扩展来实现我需要的功能 先谢谢你 更新 我在Stackoverflow Q&A中做一些研究,并将添加与我自己的问题相关的

我需要为自定义项目模板实现某种扩展性

打开C代码文件,如果…:

  • …当前项目具有某些特定的类型id
  • …代码文件是一个类,继承了一些具体的基类
  • …用户按F5
…我想…:

  • …启动任意程序(控制台应用程序)
  • …将Visual Studio附加到任意程序的进程
  • …调试
事实上我完全迷路了,我不知道该怎么做。我知道我需要VisualStudio2010SDK,但我不知道如何创建一个扩展来实现我需要的功能

先谢谢你

更新

我在Stackoverflow Q&A中做一些研究,并将添加与我自己的问题相关的问题:

  • (这似乎很好,但我不喜欢这种方法。我更喜欢完整的Visual Studio集成。无论如何,它给出了一个提示)


我想最好的尝试方法是VS加载项,它将捕获Run(F5)命令并按照您的意愿处理它。请参阅本文作为从VS加载项捕获命令的起点:。这些用于从VS addin和


希望帮助解决您的需求。

< P>您是否考虑使用第三方扩展,例如,免费VisualStudio可扩展性框架?它可以满足您的需要。

首先,感谢大家提供的信息,它非常有用

基本上,我找到了我想要实现的目标

因为我想在类似的情况下帮助他人,所以我想分享一下我用来解决所有问题的方法:

  • nFactory作为C#代码解析器它就像一个符咒您可以从代码文件中获取大量信息

  • VSPackageVisualStudio2010 SDK项目模板

  • 为了附加到一个过程中,我将期待德米特里·巴甫洛夫的建议

有趣的链接:

  • VSPackage操作指南:

一旦一切正常,我将编辑此答案并提供更详细的信息。

这似乎有助于实现我的目标。我的问题中最难的部分是“…代码文件是一个类,继承了一些具体的基类。”这似乎在某种程度上操纵文档窗口,但我不知道如何获得类名称空间,名称及其基类。阅读有关Roslyn的内容-也许这就是您需要使用的内容-Roslyn更多的是关于编译。在这种情况下,我想您需要自己解析C#文件。希望我能找到一些开源解析器。。!是的,我知道它,我正在考虑它,但它是Visual Studio可扩展性之上的一层,没有源代码,我不喜欢使用它。但既然没有多少选择,也许,为什么不呢?您能分享一下当使用VSPackage按下F5时如何实现自定义操作吗,在编译之前,我必须检查错误的数量。@JerricLynsJohn我可以查找代码,但我已经很久没有遇到这个问题了…:(