• 新华网评:凝聚打赢脱贫攻坚战的强大合力 2019-03-20
  • 2017年秋季学期学员第十六支部风采 2019-03-03
  • GAI周延世界巡演首站落幕 GAI式说唱嗨翻台湾 粉丝 说唱 2019-03-03
  • 端午佳节 听习近平谈弘扬中国优秀传统文化 2019-02-09
  • China Central Television 2019-02-02
  • 网友给太原市市长留言获回复 共计11条 2019-01-13
  • 精兵劲旅·血脉赓续:第80集团军——合心合力  聚焦打赢谋转型 2019-01-13
  • 科尔谈詹姆斯斯:我完全不知道他手部受伤了 2019-01-06
  • 《读药》150期:《丁玲传》 2019-01-02
  • Productivity Power Tools是微软官方发布的一个用于VS2010的扩展,功能是在Visual Studio的文本编辑器中按下Ctrl+C或通过其它方式执行“复制”或者“剪切”功能的时候,生成一份HTML格式的源码放到剪贴板中,此时可以在网页编辑器、网页中的可视化编辑器中直接粘贴出和VS中格式相同的源码。

    今天这个工具发布了最新的版本,其中CopyAsHtml组件进行了更新,加入了选项对话框,个人觉得这个比较实用,所以将原来的组件修改迁移到这个版本中。值得一提的,原来我发布的修改版存在一个BUG,就是当选择的内容存在不需要的缩进时,会导致缩进丢失,感谢之前mangohappy给我的反馈和在我发布的源码基础上进行的改进。

    本页包含以下内容
    1.这个和官方的组件相比有和更改? [导航]

    和官方组件相比,变更如下:

    1. 允许在生成最终代码时,忽略部分VS的文字编辑器样式(比如背景色,文字大小,文字样式等等)
    2. 使用OL来代替Pre显示代码区域,并允许加上class类名以便于在网页中进行代码样式的微调,支持显示行号(可以通过后期定义样式隐藏)
    3. 能在复制或剪切时自动移除公共缩进(见后说明,仅针对HTML)
    2.什么是自动移除公共缩进? [导航]

    这里指的公共缩进,就是指下面这个代码片段中所标注的区域:


    如果要复制这个方法,修改后的扩展在复制后将会自动将红框中的缩进删除掉,于是复制出来的代码是这样的:

    1. public?string?GenerateHtml(NormalizedSnapshotSpanCollection?spans,?IWpfTextView?textView)
    2. {
    3. ????if?((spans?==?null)?||?(spans.Count?==?0))
    4. ????{
    5. ????????return?"";
    6. ????}
    7. ????((_DTE)?this._serviceProvider.GetService(typeof(_DTE))).get_Properties("Productivity?Power?Tools",?"HTML?Copy");
    8. ????IClassificationFormatMap?classificationFormatMap?=?this._classificationFormatMappingService.GetClassificationFormatMap(textView);
    9. ????IClassificationType?classificationType?=?this._classificationTypeRegistry.GetClassificationType("text");
    10. ????HtmlMarkupProvider?htmlMarkupProvider?=?new?HtmlMarkupProvider(classificationFormatMap,?classificationType,?textView);
    11. ????IClassifier?classifier?=?this._classifierAggregatorService.GetClassifier(textView.TextBuffer);
    12. ????string?str?=?new?FormattedStringBuilder(htmlMarkupProvider,?classifier,?classificationType).AppendSnapshotSpans(spans);
    13. ????IDisposable?disposable?=?classifier?as?IDisposable;
    14. ????if?(disposable?!=?null)
    15. ????{
    16. ????????disposable.Dispose();
    17. ????}
    18. ????return?str;
    19. }
    20. ?
    3.选项对话框的说明 [导航]

    我对选项对话框进行了修改,删除了一个选项,添加了几个选项:

    4.如何重定义代码块样式 [导航]

    建议在上述的选项对话框中设置CodeBlockClassName,这样通过ol.CodeBlockClassName既可以重新设置样式。比如我的博客中重定义的样式如下,需要的同学可以参考下:

    1. ol.codeBlock{
    2. ????border:?1px?dotted?#6C93FF;
    3. ????line-height:150%;
    4. ????word-break:break-word;
    5. ????font-family:?Consolas,?Verdana?!important;
    6. ????border-radius:5px;
    7. }
    8. ?
    9. ol.codeBlock?font{
    10. ????font-size:12px!important;
    11. }
    12. ?
    13. ol.codeBlock{
    14. ????background-color:?#E3E3FF?!important;
    15. ????list-style-position:?outside;
    16. ????margin-left:0px;
    17. }
    18. ?
    19. ol.codeBlock?li{
    20. ????background-color:?#fff;
    21. ????padding-left:?5px;
    22. ????border-left:?1px?solid?#8A8AFF;
    23. ????margin-left:50px;
    24. }
    25. ol.codeBlock?li:nth-child(even){
    26. ????background-color:?#f5f5f5;
    27. }
    28. ?
    5.如何使用 [导航]

    下载附件,将解压后的 CopyAsHtml.dll 解压到 "%LocalAppData%\Microsoft\VisualStudio\10.0\Extensions\Microsoft\Productivity Power Tools\10.0.20214.15" 下并覆盖已有文件即可。

    源码需要VS2010才能打开。

    6.下载 [导航]
    本地下载

    已有 次下载

    更新时间:2011-05-10 21:22:24
    下载大?。?/span>12.53 KB
    适用于最新版Productivity Power Tools,支持以下版本: · 10.0.20318.4 · 10.0.20427.10
    源码下载

    已有 次下载

    更新时间:2011-05-10 21:27:24
    下载大?。?/span>10.62 KB
    最新版源码
    所有可供下载的版本提供了所有可供下载的版本

    ?

    7.更新日志 [足球现场直播]
    更新日志版本: 10.0.20427.10,更新时间: 2011-05-10 12:00:00
    • ·更新到最新版
    • ·修改pkgdef以支持选项对话框
    • ·部分BUG改进
    更新日志版本: 10.0.20214.15,更新时间: 2011-02-25 12:00:00
    • 允许在生成最终代码时,忽略部分VS的文字编辑器样式(比如背景色,文字大小,文字样式等等)
    • 使用OL来代替Pre显示代码区域,并允许加上class类名以便于在网页中进行代码样式的微调,支持显示行号(可以通过后期定义样式隐藏)
    • 能在复制或剪切时自动移除公共缩进(见后说明,仅针对HTML)

    ?

  • 新华网评:凝聚打赢脱贫攻坚战的强大合力 2019-03-20
  • 2017年秋季学期学员第十六支部风采 2019-03-03
  • GAI周延世界巡演首站落幕 GAI式说唱嗨翻台湾 粉丝 说唱 2019-03-03
  • 端午佳节 听习近平谈弘扬中国优秀传统文化 2019-02-09
  • China Central Television 2019-02-02
  • 网友给太原市市长留言获回复 共计11条 2019-01-13
  • 精兵劲旅·血脉赓续:第80集团军——合心合力  聚焦打赢谋转型 2019-01-13
  • 科尔谈詹姆斯斯:我完全不知道他手部受伤了 2019-01-06
  • 《读药》150期:《丁玲传》 2019-01-02