我想在打开某个文件时显示警告,怎么办? 例如,如果我打开Program.cs会弹出一个警告对话框:“如果你编辑它就会死掉”
答案 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框架来创建CodeRush和Refactor Pro!,这两者都为源文件添加了许多图形化的眼睛(例如,CodeRush 更改区域渲染的方式)。使用DXCore,您可以免费获得适用于较新IDE版本的未来版本。好的。
但是在某种程度上,我不得不问,为什么在评论或其他一种方法足够好时花了这么多精力。这开始对你的程序员进行一些微观管理。如果你有一个开发人员,你不相信阅读评论并负责任地完成他们的工作,你为什么雇用他们?你会相信他们运行你的附加组件吗?你会相信他们做其他事吗?我觉得这太过分了。添加评论...可能会将源分成多个文件...绝对使用版本控制。不要做个混蛋。没有人喜欢混蛋。