在一款很有趣的開源VS2005外掛程式:CopySourceAsHtml 看到CopySourceAsHtml , 安裝發現中文的VS2005會出現問題, 還有, 它是開源的, 在修正 CopySourceAsHTML 外掛程式無法用於中文 VS2005 的Bug 中可以找的解決方案,.
我自己也修改了一些, 加上了相鄰行背景色可設定,
並做一些自己覺得需要的修改, 我修改後的DLL可在此下載: CopySourceAsHtml.dll.
添加樣式表: 其中.cf的樣式來自Dflying Chen 老大的部落格.
樣式樣本:/* CopySourceAsHtml Style */
.cf {
font-family: consolas, "Courier New", courier, monospace;
font-size: 1.2em;
color: black;
background-color: #fff;
line-height: 1em;
/*white-space: pre;*/
}
.cf p.cl { margin: 0; padding: 0; } /*普通行*/
.cf p.cl_alt { margin: 0; padding: 0; background-color: #f4f4f4;} /*相鄰行*/
.cln { color: #2b91af; } /*行號*/
.cb_green { color: green; } /*按顏色分*/
.cb_blue { color: blue; }
.cb_2b91af { color: #2b91af; }
.cb_a31515 { color: #a31515; }
.cb_red { color: red; }
樣本:
不帶行號:
public static void SetHtml(string html)
{
DataObject data;
data = new DataObject();
data.SetData(DataFormats.Text, true, html);
//data.SetData(DataFormats.UnicodeText, true, html);
data.SetData(DataFormats.Html, true, EncodeHtml(html));
//MessageBox.Show(data.GetText(TextDataFormat.Html));
System.Windows.Forms.Clipboard.SetDataObject(data, true);
}
帶行號:
34 public static void SetHtml(string html)
35 {
36
37 DataObject data;
38
39 data = new DataObject();
40 data.SetData(DataFormats.Text, true, html);
41 //data.SetData(DataFormats.UnicodeText, true, html);
42 data.SetData(DataFormats.Html, true, EncodeHtml(html));
43 //MessageBox.Show(data.GetText(TextDataFormat.Html));
44 System.Windows.Forms.Clipboard.SetDataObject(data, true);
45
46 }
希望Dflying Chen能讓我抄襲一下他的樣式.