拦截Visual Studio粘贴操作

时间:2011-01-01 23:13:33

标签: visual-studio-2010 events vsx vs-extensibility

是否可以拦截visual studio的粘贴事件以转换粘贴的文本?我知道我可以编写自己的命令来执行智能粘贴,但对于大多数人来说,将此命令映射到键盘快捷键是一件苦差事。此外,大多数人习惯使用Ctrl + V.我有机会在那里插入我的商品吗?

2 个答案:

答案 0 :(得分:6)

这是一个命令,您可以通过在扩展中添加命令过滤器并在编辑器命令处理实现看到它之前处理命令来处理它。

这是一个command handler template。我相信粘贴命令ID是VSConstants.VSStd2KCmdID.PASTE(对组使用VSConstants.VSStd2K命令guid。)

但请注意,当您考虑粘贴框复制内容,粘贴到多行选择,空选择剪切/复制和粘贴以及语言服务格式等内容时,粘贴可能比看起来要困难得多粘贴后。因此,如果您尝试使用要发布的扩展程序来执行此操作,则可能比您预期的更难: - /

答案 1 :(得分:2)

一定是可能的,因为CodeRush会这样做。从DevExpress(http://www.devexpress.com/)查看CodeRush xPress和DXCore,它们都是免费的,DXCore为您提供了一些简单的方法来解决这类问题。