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

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

  • 相关阅读:
    OLAP ODS项目的总结 平台选型,架构确定
    ORACLE ORA12520
    ORACLE管道函数
    ORACLE RAC JDBC 配置
    ORACLE RAC OCFS连接产生的错误
    ORACLE 启动和关闭详解
    OLAP ODS项目的总结 起步阶段
    ORACLE RAC 配置更改IP
    ORACLE RAC OCR cann't Access
    ORACLE RAC Debug 之路 CRS0184错误与CRS初始化
  • 原文地址:https://www.cnblogs.com/daxnet/p/1686982.html
Copyright © 2011-2022 走看看