使用语法高亮打印代码?

时间:2009-11-01 11:19:16

标签: printing language-agnostic code-formatting

我有机会需要打印代码(恐怖!!!;)),我想知道用什么编辑器或工具来打印代码,并使用正确的格式和语法高亮显示?如果它很重要,它将是c#代码,但理想情况下该工具将适用于尽可能多的语言。 Notepad ++或其他东西可以处理这个吗?

13 个答案:

答案 0 :(得分:31)

您可以使用Vim!如果您使用的是现代Linux / MacOS,它可能已安装,如果没有,则可以轻松安装。

:syntax将启用语法突出显示,:hardcopy将打印它。那里有许多语言syntax highlighting definitions。默认外观通常针对屏幕显示进行了优化,但您可以fix that

只需使用vim <filename>在命令行上打开文件,输入:syntax on<ENTER>,然后:hardcopy<ENTER>进行打印即可。使用:q!<ENTER>退出Vim。

还有:TOhtml命令,它将在新的Vim窗口中将当前选择作为HTML打开。使用:%y<ENTER>然后:TOhtml<ENTER>捕获整个文档以将其打开。

答案 1 :(得分:14)

使用vim。到目前为止,这是我最简单的方法,也就是说,一旦你知道如何。

Vim预装在Mac上,顺便说一下。而且我知道你们这些特殊的人如何喜欢色彩,所以我会为了所有人的利益而做出这种不耐烦的商人证明。

1。)打开文件

  

vim filename.m

2。)启用语法着色(我的默认情况下没有启用)

  

:语法

3。)打印

:hardcopy

Vim会选择你系统的默认打印机而不会​​问你,所以一定要先设置它。

4。)退出程序(这实际上不是给定的)

:q

OR

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

答案 2 :(得分:13)

是的,Notepad ++当然可以使用语法高亮打印代码。

彩色印刷显然是首选,但在我用黑白打印的情况下,颜色的微妙差异[当然是灰色阴影]很难区分。

但是,我认为对配色方案进行一些定制应该可以减少这个问题。

答案 3 :(得分:8)

http://pygments.org/是一种选择。它支持 ton 语言,并且由于它是作为python库编写的,因此您可以根据需要编写转换过程的脚本。

答案 4 :(得分:3)

Visual Studio将允许您拥有完全独立的打印配置。

答案 5 :(得分:3)

我最近比较了已提到的两个解决方案:vim&amp; pygments。他们都给出了很好的结果,但你可以快速实际使用它们:

  • pygments不提供直接导出为PDF。因此,我找到的最简单的解决方案是导出到HTML,然后使用wkhtmltopdf。您可以使用以下bash脚本组合这两个操作:
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,它就像这样简单:TERM=xterm-256color vim '+hardcopy >out.ps' +q code.src 我发现$TERM环境变量会影响输出颜色,所以我更喜欢明确地设置它。 最后,您可能需要稍微调整 .vimrc
set printfont=:h9  
set printoptions=number:y,left:5pc  

答案 6 :(得分:2)

名为enscript的工具非常适合这样做。它非常强大,不依赖于编辑器和语言,您可以使用语法高亮创建PDF。

文档几乎都说明了。

enscript man page

答案 7 :(得分:1)

在unix下你可能想尝试a2ps。它非常灵活,可以产生很好的效果。

答案 8 :(得分:1)

我刚才创建了一个家庭python script,它将pygments包装到一个小型控制台实用程序中。它适用于pygments支持的任何语言。

此外,如果您碰巧使用eclipse,您只需在编辑器中复制所选文本,然后将其粘贴到像MS Word这样的RTF感知编辑器中 - 它将保留所有颜色,字体和格式。

答案 9 :(得分:1)

如果您遇到有关突出显示的打印的 Visual Studio 2012 问题,请处理所述问题:

  • 下载并安装实现颜色的Power Tool 打印,除了一些其他功能和错误修复。适合我!

答案 10 :(得分:1)

Bash Shell的解决方案

  1. 如果您使用的是UBUNTU,请将此行添加到~/.bashrc 或者,如果您使用MAC,请~/.bash_profile 如果该文件不存在,请创建它。

    alias lprc ='vim -me -c“:” - c“上的语法:hardcopy”-c“:q”'

  2. source ~/.bashrcsource ~/.bash_profile

  3. 要打印彩色hello.py,请执行以下操作:
    lprc hello.py代替lpr hello.py

答案 11 :(得分:0)

使用 ConTEXT 编程编辑器(免费)。我将它用于生成带有语法突出显示的源代码的.pdf-s和打印到纸上。

ConTEXT syntax highlihting definitions to download有很多,您可以制作自己的highligher文件,并使用 Context Highlighter Files荧光笔定义将其高亮显示。

答案 12 :(得分:0)

我从

下载js和css文件

https://prismjs.com/

选择主题和语言荧光笔的选项太多了 5-7 个。一旦您选择了一个主题并下载了微小的 js/css 文件,接下来您需要做的就是将代码文件重命名为 html,并调用 css/js 文件。在浏览器中打开 html 并打印它。大功告成!