在VS2010宏中设置文本时,操作中止(从HRESULT异常:0x80004004 E_ABORT)

时间:2011-07-11 16:58:41

标签: visual-studio-2010 visual-studio-macros

在VS2010中,一些非常简单的宏不适用于我。例如,如果我这样做:

    DTE.ActiveDocument.Selection.Text = "123"

这样可以正常工作,但如果我输入

    DTE.ActiveDocument.Selection.Text = "//123"

然后这个失败了,我在标题中包含了丑陋的中止消息。这是我在C ++ Source Editor窗口中运行它的时候。有各种各样的符号字符都会导致文本分配给'Selection.Text'以这种方式失败。在VS2008中没有问题。

虽然网上似乎没有任何相关内容,所以我认为我的设置一定是个问题。我知道可以通过创建一个编辑点然后使用“插入”方法解决问题,但有时候我不能只记录并运行一个临时宏而不先编辑它。

我想知道:

a)是否有其他人经历过这个?

b)是否有人知道解决方案,或者如何追踪解决方案?

我的插件是: 代码合作者, VMDebugger, VSBuildStatus - 虽然我很确定在添加这些问题之前存在问题。

我的扩展名是: AnkhSVN的, CommandingImage, 生产力电动工具, Visual Assist X, Visual Studio颜色主题编辑器 - 再一次,据我记得,这个问题早于安装大多数这些扩展。

我在64位Windows 7上运行VS2010。

2 个答案:

答案 0 :(得分:2)

我知道这不是您正在寻找的答案,但万一有人需要让解决方法正常工作:

DTE.ActiveDocument.Selection().TopPoint.CreateEditPoint().Insert("//123")

答案 1 :(得分:0)

我今天开始使用已经工作得很好的宏(我广泛使用的)。我想知道为什么会这样。也许这是由于Windows更新?

[更新]

克里斯托弗·奥兹贝克(Christopher Oezbek)的修复工作也解决了这个问题。