Visual Studio运行自定义外部工具
来源:互联网 发布:终极算法 pdf 编辑:程序博客网 时间:2024/06/07 02:23
Visual Studio运行自定义工具或命令
在软件开发中调试运行肯定用的非常多,但也有很多情况下并不需要调试。比如在开发过程中需要不断测试阶段性功能,而软件运行的异常与否可以直接通过软件的输出信息获得,并不需要漫长的调试过程,除非遇到复杂的问题。
在Debug模式下程序跑得慢是一个原因,另一个原因是我需要每次都点”X”按钮,然后在确认保存对话框中点“否”——因为我总是不需要保存修改。所以今天遇到的一个问题就是“怎样才能一键停止当前正在运行的程序,然后编译修改的代码并重新运行(不调试)”,因为如果不关闭当前正在运行的程序,那么在链接阶段就会失败。如果程序是在F5调试模式下调试运行,则可以直接点“重新启动”来重启程序,但这里程序运行在“开始执行(不调试)”模式下,该怎么办呢?
第一步,找到问题的解决思路。要知道VS可以执行外部工具,比如在工具菜单下的“创建GUID”就是一个外部工具。根据这个思路来制作自己的外部工具。
第二步,终止当前正在运行的程序。这个可以通过cmd命令来实现:
taskkill /F /IM /notepad.exe
关于taskkill的详细说明,可以通过taskkill /?查看。这里以记事本程序(notepad.exe)为例
第三步,启动编译并开始执行(不调试)。这一步可以直接通过VS按钮实现,问题的关键是如何与上一步衔接。对,可以通过向系统发送按键来完成,当然前提是“开始执行(不调试)”已绑定有快捷键。可cmd命令好像并不支持模拟按键,不过VBS脚本可以,那就再写几句脚本吧。注意把上一条cmd命令放到VBS脚本中,执行终止程序命令,然后发送“开始执行(不调试)”对应的快捷键: Restart.vbs
set MCObject = CreateObject(“WScript.Shell”) MCobject.Run "taskkill /F /IM notepad.exe" '终止正在运行程序MCObject.SendKeys "{F6}" '发送快捷键
第四步,整合为VS可调用的批处理程序。一个批处理程序,调用上边的vbs脚本 Restart.bat
call "X:\Restart.vbs"
第五步,VS中添加外部命令。菜单工具–外部工具–添加,在命令输入框中浏览到已完成的Restart.bat
批处理程序。
最后,可以给自己的外部工具添加快捷键哦,比如我的设置为“Alt+R”。为了进一步懒到底,再添加一个Kill.bat
的脚本:
taskkill /F /IM notepad.exe
好了,两个快捷键搞定重启与终止,再也不需要多余的鼠标点击了。文中所用的脚本都是现学现用,这里贴上网址方便大家学习:
1. cmd命令:https://jingyan.baidu.com/article/fd8044faf3eaa05030137a62.html
2. VBS脚本:https://zhidao.baidu.com/question/546535000.html
http://blog.sina.com.cn/s/blog_670b6d8801015c4a.html
3. VS添加外部工具:http://www.cnblogs.com/ChinaHook/p/4698733.html
- Visual Studio运行自定义外部工具
- Visual Studio下添加命令行外部工具
- Visual Studio 2013 自定义工具 MSLinqToSQLGenerator失败的解决方案
- visual studio 运行框
- visual studio 自定义 关键字
- Visual Studio自定义插件
- Visual Studio工具名称
- Visual Studio工具相关
- visual studio 运行命令行参数
- 自定义 Visual Studio 起始页
- 自定义visual studio 安装类
- 自定义Visual Studio 2010 快捷键
- 自定义Visual Studio 2010 快捷键
- visual studio如何自定义快捷键
- visual studio如何自定义快捷键
- visual studio如何自定义快捷键
- Visual Studio 添加自定义菜单
- 【Visual Studio】VS自定义工具栏
- SQL 使用update case when 批量更新
- 多重背包的二进制优化
- LR入门
- BZOJ1179: [Apio2009]Atm
- [网络流24题]魔术球问题(简化版
- Visual Studio运行自定义外部工具
- [Oracle] sqlplus / as sysdba ora-01031 insufficient privileges
- 小米笔记本在Kali Linux下所遇问题部分解决方案(持续更新中)
- 学习发布/订阅机制
- 实现listview的item侧滑功能
- FOJ2277(dfs序 + 树状数组区间更新)
- 笔记3 《C++大学教程》
- 曝光与测光
- C语言-内存管理