在VS 2008中打开文件时如何显示消息?

时间:2009-11-05 20:22:44

标签: visual-studio-2008

我想在打开某个文件时显示警告,怎么办? 例如,如果我打开Program.cs会弹出一个警告对话框:“如果你编辑它就会死掉”

2 个答案:

答案 0 :(得分:2)

您有两个扩展Visual Studio的选项:加载项和Visual Studio包。

Addins相对容易实现,并且没有任何复杂的安装要求。

软件包功能更强大,但需要包装加载密钥,您必须从Microsoft网站请求。

如果你想做的就是提出一个对话框,听起来你可以使用Addin。查看IVsUIShell接口和uiShell.ShowMessageBox()方法,以通过VS Shell引发对话框。 Here's关于创建插件的教程。

答案 1 :(得分:1)

有几个选择:

  • 存储文件版本控制(告诉我您正在使用版本控制...请!)并保持锁定,或使用您的版本控制系统仅允许某些用户进行更改。

    < / LI>
  • 如果这是.NET代码,您可以将其放在带有注释等的区域中,并使随意浏览器显而易见的是您所需要的。

  • 同样,如果这是.NET并且您想要隔离此代码,则可以使用分部类并将有问题的代码移动到完全不同的源文件(有点类似于设计人员对Forms / Controls /参考资料)。这样你的“公共”代码就会出现在你的“私有/有问题”的代码中,而你自己的文件可能会受到版本控制的保护(见上文)。

  • 如果您有更多的空闲时间,编写自定义Visual Studio插件将是一个很好的解决方案,但您需要认真考虑与此相关的可用性问题。

    您不希望在打开此文件时立即抛出消息框。这就是恶......我告诉你!你永远不知道文件将如何打开。如果它来自多文件文本搜索怎么办?您会突然用这些恼人的消息框中断IDE中的自动操作。

    相反,你需要某种适当的解决方案,但是当你没有这种解决方案时,它是完全不合适的。我会建议在受影响的IDE文本中进行某种渲染更改,或者可能是浮动窗口(有点像MSN Messenger通知窗口),它会在超时后自动消失。

    我强烈建议你从DXCore查看Developer Express。这是一个免费的可扩展性框架,支持VS2005 / 2008/2010。它有很多方法可以在文本窗口中创建工具窗口,弹出窗口,执行动画和绘制内容,在光标或显示视图位于特定代码段时执行条件事件通知。简而言之,它是你想要的基础。

    如果我把它写成附加组件,我会做这样的事情:

      
        
    • 使用带有区域文本中特定文本标记的#region包围相关代码。像“#region Notify Developer - 不要改变这段代码。这里是龙的。在你触摸这段代码之前打电话给Simon!”
    •   
    • 使用DXCore创建一个visual studio插件,该插件使用此特定标记查找#region标签(带有“Notify Developer”的#region作为主要文本)。
    •   
    • 找到后,这些区域将以特殊方式呈现:在区域周围放置边框,执行半透明填充以“淡化”区域,将消息放在区域的中间(或中间)该地区的可见部分)。
    •   
    • 允许使用以消除消息(角落中的'x'),这将导致不透明的淡入淡出也被解散。
    •   

这会让违规代码在实际可见时只能在你面前,而不是其他。

Developer Express使用他们的免费DXCore框架来创建CodeRushRefactor Pro!,这两者都为源文件添加了许多图形化的眼睛(例如,CodeRush 更改区域渲染的方式)。使用DXCore,您可以免费获得适用于较新IDE版本的未来版本。好的。

但是在某种程度上,我不得不问,为什么在评论或其他一种方法足够好时花了这么多精力。这开始对你的程序员进行一些微观管理。如果你有一个开发人员,你不相信阅读评论并负责任地完成他们的工作,你为什么雇用他们?你会相信他们运行你的附加组件吗?你会相信他们做其他事吗?我觉得这太过分了。添加评论...可能会将源分成多个文件...绝对使用版本控制。不要做个混蛋。没有人喜欢混蛋。