zoukankan      html  css  js  c++  java
  • Windows Live Writer插件:在WLW中插入语法高亮代码(二)

        在 上文 中,我发布了一个在WLW中插入语法高亮代码的插件,该插件使用tablimagee的HTML 标记来分隔代码与行号。这样做的一个问题是,针对不同的博客主题,行 号列的宽度可能需要手动调整,而且大量的<td></td>标记使得博客文章变得很大。为此,我修改了插件源代码,使用空格来分隔代码与行号。这样做其实也有弊端,比如代码折行的时候,折行后的第一个字符会与行号的第一个字符同列,这会使行号与代码变得混淆难以分辨。此外,在读者Ctrl+C复制代码的时候,会连同行号一起复制过去。

        您可以点击 这里 下载这个更新后的语法高亮插件,在下载后,直接解压到WLW的Plugins目录下,重启WLW即可使用。注意,在复制的时候要先退出WLW,否则会出现文件替代的共享冲突。

        下面的代码就是通过该插件插入的代码片段,展示于此给读者参考。

    • C#

      using System;
      using System.Reflection;
      using System.IO;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;

      namespace ConsoleApplication3
      {
      10     class TGeneric<T>
      11     {
      12         public T Get(T _t)
      13         {
      14             return _t;
      15         }
      16     }
      17
      18     class TGeneric<T, U>
      19     { }
      20
      21     class Program
      22     {
      23         static string GetGenericTypeSignature(Type genType)
      24         {
      25             if (!genType.IsGenericType)
      26                 return genType.Name;
      27             StringBuilder result = new StringBuilder();
      28             result.Append(genType.Name.Substring(0, genType.Name.IndexOf('`')));
      29             result.Append("<");
      30             Type[] genericArguments = genType.GetGenericArguments();
      31             for (int i = 0; i < genericArguments.Length; i++)
      32             {
      33                 result.Append(genericArguments[i].Name);
      34                 if (i != genericArguments.Length - 1)
      35                     result.Append(",");
      36             }
      37             result.Append(">");
      38             return result.ToString();
      39         }
      40         static void Main(string[] args)
      41         {
      42             foreach (Type type in Assembly.GetExecutingAssembly().GetTypes())
      43             {
      44                 if (type.IsGenericType)
      45                 {
      46                     Console.WriteLine(GetGenericTypeSignature(type));
      47                 }
      48             }
      49         }
      50     }
      51 }
      52


       
    • Borland Delphi

      unit uMain;

      interface

      uses
        Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
        Dialogs, ComCtrls, Menus, ToolWin, ExtCtrls, ActnList;

      type
      10   TfrmMain = class(TForm)
      11     StatusBar: TStatusBar;
      12     MainMenu: TMainMenu;
      13     F1: TMenuItem;
      14     CoolBar: TCoolBar;
      15     MainToolBar: TToolBar;
      16     ToolButton1: TToolButton;
      17     ObjectTree: TTreeView;
      18     Splitter1: TSplitter;
      19     ActionList: TActionList;
      20     ac_New: TAction;
      21     New1: TMenuItem;
      22     procedure ac_NewExecute(Sender: TObject);
      23   private
      24     { Private declarations }
      25   public
      26     { Public declarations }
      27   end;
      28
      29 var
      30   frmMain: TfrmMain;
      31
      32 implementation
      33
      34 uses uNewList, uGlobal, uDataDictionary;
      35
      36 {$R *.dfm}
      37 procedure TfrmMain.ac_NewExecute(Sender: TObject);
      38 var iRet: Integer;
      39     dd: TDataDictionary;
      40 begin
      41     frmNewList.ShowModal;
      42     iRet := frmNewList.GetModuleResult;
      43     if iRet = MODRES_CANCEL then Exit;
      44     dd := TDataDictionary.Create(frmNewList.GetConnectionString);
      45     try
      46         dd.BuildDataDictionary;
      47     except
      48         on E: Exception do MessageDlg (E.Message, mtError, [mbOK], 0);
      49     end;
      50     dd.Destroy;
      51 end;
      52
      53 end.
      54

        在使用的过程中有什么问题,请直接回复本帖联系我,谢谢您的支持!

  • 相关阅读:
    iOS内存管理机制
    iOS开发之XML和JSON数据解析
    Ubuntu小点汇总,更新中...
    Android与服务器的简单通讯
    Gedit乱码问题
    Eclipse软件问题-方案积累
    开放接口使用积累
    定制知识积累
    Android小代码-技巧积累
    Android初学点滴积累(操作篇)
  • 原文地址:https://www.cnblogs.com/daxnet/p/1686982.html
Copyright © 2011-2022 走看看