C# 在Visual Studio 2012中的源代码编辑\保存时运行批处理文件
我试图做到的是,每次在VisualStudio中编辑和保存源文件时,都要运行一个自定义批处理或exe。它不必在每一个文件上运行,我实际上只有12个.cs文件,我想这样做。如果能够使用刚刚保存的文件的参数启动一个新的batch\exe,那就太好了。谢谢。最好的方法是在VS的“工具”菜单下创建一个自定义快捷方式,然后在该快捷方式下运行 添加自定义快捷键的步骤C# 在Visual Studio 2012中的源代码编辑\保存时运行批处理文件,c#,build,visual-studio-2012,C#,Build,Visual Studio 2012,我试图做到的是,每次在VisualStudio中编辑和保存源文件时,都要运行一个自定义批处理或exe。它不必在每一个文件上运行,我实际上只有12个.cs文件,我想这样做。如果能够使用刚刚保存的文件的参数启动一个新的batch\exe,那就太好了。谢谢。最好的方法是在VS的“工具”菜单下创建一个自定义快捷方式,然后在该快捷方式下运行 添加自定义快捷键的步骤 在“工具”菜单上,选择“选项”,打开“环境”文件夹,然后单击 选择键盘 在键盘页面上,选择键盘映射方案 在“显示包含的命令”文本框中,键入
项目建筑。最好的方法是在VS的“工具”菜单下创建一个自定义快捷方式,然后在该快捷方式下运行 添加自定义快捷键的步骤
项目生成。在Visual Studio 2012中,您可以创建一个外接程序,如下所示,它将捕获保存事件并运行批处理文件 文件>新项目 选择可扩展性 选择Visual Studio加载项 在Connect.cs中:
public void OnConnection(object application, ext_ConnectMode connectMode,
object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
if (_de == null)
{
_de = _applicationObject.Events.get_DocumentEvents(null);
}
//Handle document saved event
if (_deSavedEvent == null)
{
_deSavedEvent = new _dispDocumentEvents_DocumentSavedEventHandler(
DocumentEvents_DocumentSaved);
_de.DocumentSaved += _deSavedEvent;
}
}
private static DocumentEvents _de = null;
private static _dispDocumentEvents_DocumentSavedEventHandler _deSavedEvent =null;
private void DocumentEvents_DocumentSaved(EnvDTE.Document document)
{
System.Windows.Forms.MessageBox.Show("Replace this with code to run .bat");
}
代码示例取自Visual Studio 2012中的,您可以制作一个外接程序,如下所示,它将捕获保存事件并运行批处理文件 文件>新项目 选择可扩展性 选择Visual Studio加载项 在Connect.cs中:
public void OnConnection(object application, ext_ConnectMode connectMode,
object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
if (_de == null)
{
_de = _applicationObject.Events.get_DocumentEvents(null);
}
//Handle document saved event
if (_deSavedEvent == null)
{
_deSavedEvent = new _dispDocumentEvents_DocumentSavedEventHandler(
DocumentEvents_DocumentSaved);
_de.DocumentSaved += _deSavedEvent;
}
}
private static DocumentEvents _de = null;
private static _dispDocumentEvents_DocumentSavedEventHandler _deSavedEvent =null;
private void DocumentEvents_DocumentSaved(EnvDTE.Document document)
{
System.Windows.Forms.MessageBox.Show("Replace this with code to run .bat");
}
代码示例取自我正在寻找一种在保存时触发的方法,无论在VS2012中如何进行保存,这似乎与此相去甚远。不过谢谢您的努力。@AaronStainback抱歉,如果没有某种扩展/插件,我不确定这是否可行。我正在寻找一种在保存时触发的方法,无论在VS2012中如何进行保存,这似乎离这很远。谢谢你的努力。@AaronStainback对不起,如果没有某种扩展/插件,我不确定这是否可行。