Spiga

一点杂碎: 为IIS Express加上文件夹菜单/两个 region 的 snippet

2011-04-14 13:55 by 木鱼, 549 visits, 收藏, 编辑

凑点儿东西一起扔上首页,不是很深的技术性话题,不过蛮实用的我觉得。
内容提纲:

  1. 如何为文件夹加上右键菜单,可以直接作为网站打开
  2. 如何在VS中快速地插入 #region

1.为IIS Express加上文件夹菜单

之前看到有园友发了一篇“网站开发必备-快速浏览Asp.Net网站绿色小工具”,他那个是拿微软官方的 Cassini 源码重新改写而成的,方便是很方便,可惜只支持.Net 2.0。如果想测试 .Net 4.0 的怎么办呢?最好的方案就是用IIS Express了。

关于IIS Express的命令行语法可以参考我之前的文章“IIS Express的配置和注意点”。但是命令行操作终究是太麻烦了,怎么样才能快速地调用呢?当然是加上菜单。

保存以下的注册表代码为注册表文件并导入:

32位操作系统:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\iisexpress]
"Extended"=""
"NoWorkingDirectory"=""
@="使用 IIS Express 作为网站打开"

[HKEY_CLASSES_ROOT\Directory\shell\iisexpress\command]
@="\"C:\\Program Files\\IIS Express\\iisexpress.exe\" \"/path:%1\" /port:2099 /clr:v4.0 /systray:true"

64位操作系统(主要就是个程序文件路径不一样):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\iisexpress]
"Extended"=""
"NoWorkingDirectory"=""
@="使用 IIS Express 作为网站打开"

[HKEY_CLASSES_ROOT\Directory\shell\iisexpress\command]
@="\"C:\\Program Files (x86)\\IIS Express\\iisexpress.exe\" \"/path:%1\" /port:2099 /clr:v4.0 /systray:true"
值得注意的是,因为我觉得这个菜单使用并不是那么频繁,所以特别加入了扩展开关。平时右击文件夹是没有的(省得每次都看到),需要使用的话,需要按住Shift再右击:

快照3

在命令行中指定的端口是2099(这个数字多浪漫啊……),.Net 4.0的CLR,可以通过 /clr:v4.0 修改,特殊情况下需要2.0和4.0两个版本时,再加上一个菜单就行了 ^_^。当然,前提是要你已经安装过 IIS Express,好在这家伙个头也很小。启动后,你可以通过 http://localhost:2099/ 访问。

2.两个 region 的 snippet

C#中的region可以折叠代码区域相信大家都很熟悉,其实在js中也能实现……就是安装VS2010的扩展 JSEnhancements。它能实现在js中类似region代码的折叠,不过它使用的是比较复杂的语法……

//#region 测试区域
function test() {
}
//#endregion

最终的显示效果如下:

快照6

不过老实说我觉得这打得太麻烦了,就算是C#中能直接打  #region …. #endregion 我都嫌麻烦。于是我就想到了 snippet。

下面这两个分别是C#和JS的region片段,复制到记事本并分别另存为 region_c#.snippet 和 region_js.snippet,注意要保存为 UTF-8编码(最好有个专门的目录存放这些自定义的snippet,这样用起来方便些)。

C#:

  1. <CodeSnippet Format="1.1.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  2.   <Header>
  3.     <Title>region</Title>
  4.     <Author>木鱼(fishcn@foxmail.com)</Author>
  5.     <Shortcut>region</Shortcut>
  6.     <Description>region XML 注释的代码段</Description>
  7.     <SnippetTypes>
  8.       <SnippetType>Expansion</SnippetType>
  9.     </SnippetTypes>
  10.   </Header>
  11.   <Snippet>
  12.     <Declarations>
  13.       <Literal>
  14.         <ID>name</ID>
  15.         <ToolTip>region 标题</ToolTip>
  16.         <Default>RegionName</Default>
  17.       </Literal>
  18.     </Declarations>
  19.     <Code Language="csharp"><![CDATA[#region $name$
  20. $selected$$end$
  21. #endregion]]></Code>
  22.   </Snippet>
  23. </CodeSnippet>

JS:

  1. <CodeSnippet Format="1.1.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  2.   <Header>
  3.     <Title>region</Title>
  4.     <Author>木鱼(fishcn@foxmail.com)</Author>
  5.     <Shortcut>region</Shortcut>
  6.     <Description>region XML 注释的代码段</Description>
  7.     <SnippetTypes>
  8.       <SnippetType>Expansion</SnippetType>
  9.     </SnippetTypes>
  10.   </Header>
  11.   <Snippet>
  12.     <Declarations>
  13.       <Literal>
  14.         <ID>name</ID>
  15.         <ToolTip>region 标题</ToolTip>
  16.         <Default>RegionName</Default>
  17.       </Literal>
  18.     </Declarations>
  19.     <Code Language="jscript"><![CDATA[//#region $name$
  20. $selected$$end$
  21. //#endregion]]></Code>
  22.   </Snippet>
  23. </CodeSnippet>

打开VS,通过“工具”-“代码段管理器”打开管理器,通过“添加”或“导入”分别在 JScript和C#类别下分别加入这两个 snippet,收工~~

以后在js或cs文件中,输入 region 就能看到这两个snippet,连续按两次TAB即可快速插入:

快照5

收工~

Add your comment

23 条回复

  1. #1楼 kuafoo      2011-04-14 14:06
    Reflector 一直都是免费的啊
     回复 引用 查看   
  2. #2楼[楼主] 木鱼      2011-04-14 14:07
    @kuafoo
    后面的版本全部收费了....这已经不是新闻了...
     回复 引用 查看   
  3. #3楼 DiryBoy      2011-04-14 14:12
    ILSpy是开源免费的 http://wiki.sharpdevelop.net/ilspy.ashx
     回复 引用 查看   
  4. #4楼[楼主] 木鱼      2011-04-14 14:22
    @DiryBoy
    谢谢提供.看了一下貌似够用了,就是似乎有些代码的反编译目前做得还不够好...期待进步,比如foreach的代码反编译出来一堆...
     回复 引用 查看   
  5. #5楼 徐培华      2011-04-14 14:24
    呵呵。我早早就下载了破解版本的reflector 7 了。
     回复 引用 查看   
  6. #6楼[楼主] 木鱼      2011-04-14 14:32
    @徐培华
    破解的版本那些插件还能加载吗?像 FileDisassembler 这些.
     回复 引用 查看   
  7. #7楼 徐培华      2011-04-14 14:32
    全部都可以的
    呵呵,
     回复 引用 查看   
  8. #8楼 徐培华      2011-04-14 14:33
    reflector 7已经带了filedisassembler的功能
    直接把程序集文件导出源码。
    哈哈
     回复 引用 查看   
  9. #9楼[楼主] 木鱼      2011-04-14 14:34
    @徐培华
    貌似我以前试过不可以...能把你的Reflector的插件打包发我一份吗,谢谢: fishcn@foxmail.com
    如果Reflector7能直接导出为源码...那就...太黄太暴力了...
     回复 引用 查看   
  10. #10楼 徐培华      2011-04-14 14:39
    因为要支持add-in,需要改下强签名。
    我公司里有破解的reflecotr 7.但是插件那些,我没有加上,
    把破解的原版本reflecotr 7发给你吧
     回复 引用 查看   
  11. #11楼 徐培华      2011-04-14 14:42
    已发送
     回复 引用 查看   
  12. #12楼 景裔      2011-04-14 14:44
    Reflector现在不是可免费使用,只是部分功能要收费的吧。基本的查看源代码、查找、导出(现在连插件都不用安装了)都好正常使用的么。很奇怪为什么不升级……
     回复 引用 查看   
  13. #13楼[楼主] 木鱼      2011-04-14 14:50
    @徐培华
    已收到,非常感谢
    很奇怪为啥我找的破解版和你的是一个版本的,但是文件大小差了几百K.....
     回复 引用 查看   
  14. #14楼[楼主] 木鱼      2011-04-14 14:50
    @景裔
    有这种事?...我看到新闻以为就不能免费用了,汗,难道是犯了经验主义错误.
    check一下..
     回复 引用 查看   
  15. #15楼 0x0qwe      2011-04-14 14:52
    @景裔
    14日的免费使用。。。。
     回复 引用 查看   
  16. #16楼[楼主] 木鱼      2011-04-14 15:03
    @景裔
    重新验证了一下,从7版本开始是14天试用,否则就不能用了.
    不过自动升级的是6.6版,还是能免费用的...是我的失误.
     回复 引用 查看   
  17. #17楼[楼主] 木鱼      2011-04-14 15:07
    @徐培华
    我用自动升级的6.6和7分别测试了一下我以前写的一个类库...很奇怪7在导出源码的时候反而会抛出异常
     回复 引用 查看   
  18. #18楼 景裔      2011-04-15 08:25
    有自动升级没关注Reflector的版本问题,嘿嘿,原来7是14天试用啊
     回复 引用 查看   
  19. #19楼 大石头      2011-04-15 12:29
    Reflector那个是早两个星期弄好的,本以为没有人需要,就不发了,正是看到你这文章,才发现原来有人需要它……
     回复 引用 查看   
  20. #20楼 BenBen789      2011-04-18 17:26
    哪有Reflector7 的破解版?
     回复 引用 查看   
  21. #21楼[楼主] 木鱼      2011-04-18 17:26
    @BenBen789
    http://www.cnblogs.com/nnhy/archive/2011/04/14/2016021.html
     回复 引用 查看   
  22. #22楼 南京.王清培      2011-06-06 14:52
    楼主您好歹也是前辈,我写的文章您可以不去看,我删我文章的评论,是我的权利,您没有必要出口伤人吧;写文章都是为了分享知识,您也是写文章的,难道您不明白,写文章的最终目标是什么吗?都是搞技术的,直来直往,我就不废话了;要想别人尊重你,请先尊重别人,您是前辈,我尊重你;
     回复 引用 查看   
  23. #23楼[楼主] 木鱼      2011-06-06 16:36
    @南京.王清培
    在我没有任何不妥言论的情况下、纯粹的仅作技术讨论的回复竟然能被你没有任何理由没有任何通知地直接删除并口口声声说是『你的权利』,可以,你就守着你的权力去吧。如果你有兴趣,你可以就此写篇博客征询博客园所有园友的意见,看看你的『这种权利』能有几人是觉得完全合情合理的。在这里,你没有任何通知就直接删除还在这里跟我谈尊重,本身就是个笑话。
     回复 引用 查看