2009-11-01 35 views
25

我有機會需要打印代碼(Horrors !!!;)),並且我想知道我將使用哪種編輯器或工具將適當格式和語法突出顯示的代碼打印出來?如果它很重要,它將是c#代碼,但理想情況下該工具將盡可能多的語言工作。記事本++或什麼東西可以處理這個?帶語法高亮顯示的打印代碼?

+2

這個超級用戶的問題有幾點建議,其中包括一個記事本++:http://superuser.com/questions/39571/how-do-i-easily-highlight - php-code-in-word-syntax- – 2009-11-01 11:30:35

回答

12

是的,Notepad ++肯定可以用語法高亮顯示代碼。

彩色打印顯然是優選的,但對當我在打印黑色和白色,在顏色的細微差別[呈現爲灰色陰影,當然]可以是難以區分的場合。

但是,我認爲配色方案的一些自定義應該使這個問題更少。

8

http://pygments.org/是一種選擇。它支持多種語言,並且由於它是作爲一個Python庫編寫的,所以您可以根據需要編寫轉換過程的腳本。

29

你可以使用vim! :syntax將打開語法高亮,:hardcopy將打印它。那裏有很多種語言的syntax highlighting definitions

默認外觀通常針對屏幕顯示進行了優化,但您可以使用fixthat

+19

@RCIX不要說對不起 - 我們爲你感到難過! – 2012-11-08 21:56:55

+4

你也可以發出':TOhtml'命令,它將源代碼轉換成帶有顏色和所有內容的HTML文件。 – 2015-09-17 06:00:39

3

Visual Studio將會,並允許您有一個完全獨立的打印配置。

+0

哪裏?我只能在B/W – Revious 2014-03-26 14:06:21

+0

中打印我不記得了,但是根據答案的年齡,我會提到Visual Studio * 2008 *,它具有本機對彩色打印的支持。 VS2010和VS2012可以使用[Color Printing](http://visualstudiogallery.msdn.microsoft.com/00ec88c2-1553-47d2-8170-3c5baa0c6e44)[原文]擴展名。似乎沒有VS2013的等價物。 – Richard 2014-03-26 15:30:44

1

在unix下,你可能想嘗試a2ps。它是靈活的,併產生很好的結果。

1

我前一陣子我創建了一個家庭python script它包裝Pygments來做成一個小控制檯程序。它適用於pygments支持的任何語言。

此外,如果您碰巧使用eclipse,您可以簡單地將所選文本複製到編輯器中,然後將其粘貼到RTF感知編輯器(如MS Word)中 - 它將保留所有顏色,字體和格式。

+0

還沒有測試過,聽起來不錯,希望它能正常工作:)但是,如果面向更多批次打印(對於大量文件),我仍然對某些可用於打印機的HTML工具感興趣作爲伴侶? – akavel 2011-02-07 09:57:00

11

使用vim。根據我的經驗,它是最簡單的方法,也就是說,一旦你知道如何。

Vim預裝在Mac上,順便說一句。而且我知道你們這些特殊的人喜歡顏色,所以我會爲了所有人的利益而讓這個不耐煩的商人證明。

1)打開文件

VIM filename.m

2)使語法着色(我沒有默認啓用)

:語法上

3)打印

:hardcopy 

Vim會選擇您的系統的默認打印機而不詢問您,因此請確保您先設置好它。

4)退出程序(這其實不是一個給定的)

:q 

OR

使用的Aptana。 Aptana非常的甜蜜,它的免費,它有很棒的ftp功能。

1

如果您對突出印刷HANDELING所描述的問題的Visual Studio 2012問題:

  • 下載並安裝此Power Tool它實現了彩色 印刷,除了其他一些功能和bug修復。適合我!
3

我最近比較了已經提到的2種解決方案:vim & pygments。他們都給出了很好的結果,但有幾種方法可以快速實用:

  • pygments不提供直接導出爲PDF。因此,我找到的最簡單的解決方案是導出爲HTML,然後使用wkhtmltopdf
src2pdf() { 
    local noext="${1%.*}" 
    pygmentize -O full -o "$noext.html" "$1" 
    # enabling line wrapping in <pre> blocks 
    perl -i -wpe '/<style.*>$/&&($_.="pre{white-space:pre-wrap;}\n")' "$noext.html" 
    wkhtmltopdf "$noext.html" "$noext.pdf" 
    rm "$noext.html" 
} 
  • vim,它是如此簡單:您可以使用以下bash腳本結合這兩種操作TERM=xterm-256color vim '+hardcopy >out.ps' +q code.src 我發現了$TERM環境變量可以影響輸出的顏色,所以我更喜歡明確地設置它。 最後,你可能需要調整你的.vimrc 一個一點:
set printfont=:h9 
set printoptions=number:y,left:5pc 
1

enscript的工具是非常多的這樣的工具。它功能非常強大,不受編輯或語言束縛,您可以使用語法高亮創建PDF。

該文檔幾乎說明了一切。

enscript man page

0

解決方案對於bash shell中

  1. 如果你使用Ubuntu
    或以~/.bash_profile如果你是如果這個文件不存在使用MAC
    加入這一行~/.bashrc,創造它。

    別名LPRC = 'VIM -Me -c 「:對語法」 「:硬拷貝」 -c 「:Q」 -c'

  2. source ~/.bashrcsource ~/.bash_profile

  3. 要打印的彩色招呼。PY只是這樣做:
    lprc hello.py而不是lpr hello.py