在Visual Studio中运行外部命令保存在文件中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Visual Studio中运行外部命令保存在文件中相关的知识,希望对你有一定的参考价值。
我正在读这篇关于将cppcheck集成到VS:http://www.codeproject.com/Tips/472065/Poor-Man-s-Visual-Studio-Cppcheck-Integration的文章
我想在保存文件时运行检查,文章中对此进行了介绍。但是,文章提到的是Macros IDE,它显然是从VS2012中删除的。还有其他办法吗?
使用Mark Hall's answer,我安装并使用Visual Commander做类似的事情。这是我的扩展,当我的项目(“我的项目”)中的文件被保存时,它运行第一个外部工具:
using EnvDTE;
using EnvDTE80;
public class E : VisualCommanderExt.IExtension
{
public void SetSite(EnvDTE80.DTE2 DTE_, Microsoft.VisualStudio.Shell.Package package)
{
DTE = DTE_;
events = DTE.Events;
documentEvents = events.DocumentEvents;
documentEvents.DocumentSaved += OnDocumentSaved;
}
public void Close()
{
documentEvents.DocumentSaved -= OnDocumentSaved;
}
private void OnDocumentSaved(EnvDTE.Document doc)
{
if(doc.Path.ToLower().Contains("my-project")) DTE.ExecuteCommand("Tools.ExternalCommand1");
}
private EnvDTE80.DTE2 DTE;
private EnvDTE.Events events;
private EnvDTE.DocumentEvents documentEvents;
}
在Visual Studio Gallery中还有一个名为Visual Commander
的免费工具,更多信息here。
从第一个链接:
在Visual Studio IDE中自动执行重复性任务。重用现有的Visual Studio宏或在C#或VB中创建新的命令和扩展。
Visual Commander命令是用C#或VB编写的实现Run方法的类。它可以完全访问Visual Studio自动化模型和.NET框架。以前版本的Visual Studio中现有Visual Studio宏的代码只能粘贴到新VB命令的Run子例程中。
你几乎可以肯定地写一个视觉工作室扩展来做这些事情。我写了一个扩展VSFileNav,它连接项目事件来监听被删除/添加的项目等。我想项目(或者甚至某些文档窗口)上的一个稍微不同的事件将允许你做这样的事情。
DocumentEventClass.DocumentSaved DTE.ActiveDocument
从版本1.15开始,这个Visual Studio extension可以做你想要的。
以上是关于在Visual Studio中运行外部命令保存在文件中的主要内容,如果未能解决你的问题,请参考以下文章
我将如何创建一个 Visual Studio 外部工具来运行“将项目添加到文件夹...”TFS 命令?
Visual Studio Code-批量在文末添加文本字段
visual studio 2013 在运行.exe 时修改路径变量