【发布时间】:2012-05-02 11:45:54
【问题描述】:
我已在我的 VSPackage 中成功创建了自定义单视图编辑器。我必须处理的许多事情之一是对在 Visual Studio 外部更改编辑文件时的情况做出反应 - Visual Studio 中的“标准”编辑器显示对话框,其中包含“是”、“对所有”(重新加载内容)等选项,因此,如果更改了更多文件,则只显示一个对话框。
但是,到目前为止,我在 VSPackage 中唯一能做的就是在文件更改时显示自定义对话框。这并不漂亮 - 当我的编辑器中编辑的文件与其他一些文件一起更改时,将向用户显示两个完全不同的对话框。
所以问题是 - 有什么方法可以为我的文件调用“标准”Visual Studio“文件在 VS 之外更改”对话框?
【问题讨论】:
-
hanselman.com/blog/… 这会有帮助吗?
-
您对角落的情况有点太担心了?否则,您将陷入困境,没有任何事件,也没有方法可以自己调用对话框。
-
这是一个相当广泛的学校项目,是我的学士论文的一部分——根据我的经验,极端案例只是可能会受到惩罚的事情:-)
-
我不特别了解 VS,但我过去使用过的其他应用程序在它们被激活时(即当它们从其他地方接收焦点时)检测到这种情况。您可能会尝试的一件事是 - 在将更改的文件写入磁盘之后 - 将焦点短暂设置到 Windows shell,然后再次回到 VS。这可能会触发对话。
-
500 - 内部服务器错误:感谢您的回答,但似乎我没有说清楚 - 当用户在 VS 的编辑器中打开文件时,这是我的责任(作为编辑provider) 来处理外部 VS 更改。更具体地说,只要文件在外部发生更改,就会调用一种方法(我的方法)。在该方法中,我可以做任何事情(例如,忽略更改)。我需要的是 VS 提供的方法,它会调用它自己的对话框。有焦点的东西会再次运行我自己的方法。
标签: c# .net visual-studio-2008 vsx vspackage