把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

宏命令重返 Visual Studio

  • 2016-06-16
  • 本文字数:756 字

    阅读完需:约 2 分钟

几年以前(Visual Studio 2010 时代),Visual Studio 中包含了一款非常受欢迎的基于 VBA Macro 语言搭建的宏系统。从 VS2012 版本开始,这个功能就已经从 Visual Studio 中删除,用户不能再使用这个功能,或是寻求第三方替代方案。为了解决这个问题,Microsoft 的 Justin Clareburt宣布在Visual Studio 2013 和2015 中恢复宏命令,这是通过一个叫Macros for Visual Studio 的新扩展实现的。

这个扩展使得用户可以使用几个功能,包括选择记录以及重新执行活动文档操作和IDE 指令。宏命令可以重新执行很多次,可以指定快捷键,其产生的宏文件可以在Visual Studio 中编辑。扩展还可以使用Visual Studio DTE APIs 来实现 IDE 的更多操作,而不仅仅是记录键盘操作。

对 DTE APIs 的访问为实现这个扩展添砖加瓦。示例脚本中包含了如何以编程方式调整字体大小、设置断点以及修改活动解决方案中的所有文件的演示。

值得注意的是,现有的扩展中有一些限制。第一个,也是最严重的是,还在使用 VS2010 版本宏命令的开发者会发现不能使用这个扩展,因为现在的宏命令是使用 JavaScript 编写的。另外一个限制是它不能记录用户在 Visual Studio 中输入的对话框。第三,宏命令不能调用其他的宏命令。最后一点,宏命令没有处理异步事件的能力(例如构建阶段完成需要的可变时间),因此尝试执行这些实践的脚本可能会发生未定义行为。

扩展由 C#编写,基于 MIT 许可证发布,如果想要研究它的运行情况,你可以在 GitHub 上获取它。通过Visual Studio Gallery 也可以获得该扩展直接安装,并在你的IDE 中使用。

查看英文原文 Macros Return to Visual Studio


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-06-16 19:002412
用户头像

发布了 218 篇内容, 共 78.9 次阅读, 收获喜欢 76 次。

关注

评论

发布
暂无评论
发现更多内容

【架构训练营-模块三】

默光

架构训练营5期

迁移学习综述与未来展望 | 社区征文

战场小包

人工智能 迁移学习 新春征文 2月月更

安卓隐私沙箱来了!Android Privacy Sandbox简介

XCG00

android

万字详解数据仓库、数据湖、数据中台和湖仓一体

五分钟学大数据

数据中台 数据仓库 数据湖 湖仓一体

如何理解用户的行为?

石云升

产品经理 用户研究 用户模型 2月月更

【漏洞分析】反序列化漏洞

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

AI安全技术总结与展望| 社区征文

herosunly

人工智能 新春征文 2月月更

再谈 AI 及未来的趋势 | 社区征文

宇宙之一粟

AI 新春征文 2月月更

扔掉 Electron,拥抱基于 Rust 开发的 Tauri

百瓶技术

rust 前端 框架开发 tauri

龙蜥社区一周动态 | 2.14-2.20

OpenAnolis小助手

Linux 开源 动态

网络安全kali渗透学习 web渗透入门 如何进行NESSUS漏洞检测

学神来啦

netty系列之:EventExecutor,EventExecutorGroup和netty中的实现

程序那些事

Java Netty 程序那些事 2月月更

你知道MySQL InnoDB 的内存组件有哪些吗?

程序猿阿星

MySQL MySQL InnoDB Buffer Pool

基于CC2530(ZigBee设计)的温度报警器

DS小龙哥

2月月更

「前端CI/CD系列」第一篇:如何用建木CI往七牛云上传文件

Jianmu

CDN CI/CD 文件存储 七牛云 建木CI

从冬奥看中国科技(六):千里光伏初长成

脑极体

Bloom Filter 优化- CrimsonDB系列论文(一)

Emc

存储 LSM-Tree

模块 8 作业

miliving

面试突击24:为什么wait和notify必须放在synchronized中?

王磊

面试 java面试

医疗保健行业如何从区块链中受益?

CECBC

Spring Boot AOP 扫盲,实现接口访问的统一日志记录

沉默王二

Java

IDP深度 | 企业到底需要何种数据分析挖掘工具?

Baihai IDP

人工智能 数据挖掘 商业智能

系统学习 TypeScript(一)——认识 TypeScript

编程三昧

typescript

虎符Hoo研究院:Cosmos是如何实现链与链的“港口”相连的?

区块链前沿News

Hoo 虎符交易所 虎符研究院 Cosmos

学生管理系统模块4作业

刘洋

#架构实战营 「架构实战营」

网络损伤工具大乱斗

RTE开发者社区

Dev for Dev 网络损伤 网络仿真 网络与传输

提权方式及原理简介(面试)

喀拉峻

黑客

浅谈 AI 物联网基础常识 | 社区征文

liuzhen007

AI 新春征文 2月月更

当前主流视频编码技术浅析| 社区征文

王强

视频编解码 新春征文

凡泰极客加入中商联互联网应用工作委员会并荣任常务委员单位

FinClip

晟盾科技加入龙蜥社区,共建开源新生态

OpenAnolis小助手

Linux 开源

宏命令重返Visual Studio_.NET_Jeff Martin_InfoQ精选文章