2

我正在阅读这篇关于将 cppcheck 集成到 VS 中的文章:http: //www.codeproject.com/Tips/472065/Poor-Man-s-Visual-Studio-Cppcheck-Integration

我想在保存文件时运行检查,这在文章中有所介绍。但是,这篇文章提到了 Macros IDE,它显然是从 VS2012 中取出的。还有其他方法吗?

4

4 回答 4

3

使用Mark Hall 的回答,我安装并使用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;
}
于 2014-11-30T11:18:53.383 回答
2

Visual Commander在 Visual Studio 库中还有一个免费工具可用,更多信息请点击此处

从第一个链接:

在 Visual Studio IDE 中自动执行重复性任务。重用现有的 Visual Studio 宏或在 C# 或 VB 中创建新的命令和扩展。

Visual Commander 命令是用 C# 或 VB 编写的实现 Run 方法的类。它可以完全访问 Visual Studio 自动化模型和 .NET 框架。可以将以前版本的 Visual Studio 中现有 Visual Studio 宏的代码粘贴到新 VB 命令的运行子例程中。

于 2013-09-24T15:49:48.353 回答
1

您几乎可以肯定地编写一个视觉工作室扩展来按照这些思路做一些事情。我编写了一个扩展VSFileNav,它连接到项目事件以侦听被删除/添加的项目等。我想项目(甚至可能是某些文档窗口)上的稍微不同的事件会允许你做这样的事情。

DocumentEventClass.DocumentSaved
DTE.ActiveDocument

于 2013-09-24T15:43:00.830 回答
0

从 1.15 版开始,这个Visual Studio 扩展可以做你想做的事。

于 2018-09-03T15:37:37.197 回答