31

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

4

13 回答 13

37

你可以使用Vim!如果您在现代 Linux/MacOS 上,它可能已经安装,如果不是,则安装简单。

:syntax将打开语法突出显示并:hardcopy打印它。那里有许多语言的语法高亮定义。默认外观通常针对屏幕显示进行优化,但您可以修复

只需在命令行上打开文件vim <filename>,键入:syntax on<ENTER>,然后:hardcopy<ENTER>打印它。退出 Vim :q!<ENTER>

还有一个:TOhtml命令可以在新的 Vim 窗口中以 HTML 格式打开当前选择。捕获整个文档,:%y<ENTER>然后:TOhtml<ENTER>打开它。

于 2009-11-01T11:30:42.203 回答
15

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

彩色印刷显然更可取,但在我用黑白印刷的情况下,颜色的细微差异[当然呈现为灰色阴影]可能很难区分。

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

于 2009-11-01T11:32:58.987 回答
14

使用 vim。到目前为止,根据我的经验,这是最简单的方法,也就是说,一旦你知道怎么做。

顺便说一句,Vim 预装在 Mac 上。而且我知道你们特别喜欢颜色,所以为了所有人的利益,我要让这个不耐烦的商人证明。

1.) 打开文件

vim 文件名.m

2.)启用语法着色(我的默认没有启用)

: 语法

3.) 打印

:hardcopy

Vim 会在不询问您的情况下选择您系统的默认打印机,因此请确保您先进行设置。

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

:q

或者

使用 Aptana。Aptana 非常好用,它是免费的,并且具有强大的 ftp 功能。

于 2014-02-23T21:30:01.817 回答
8

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

于 2009-11-01T11:24:17.380 回答
3

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

于 2009-11-01T12:03:56.900 回答
3

我最近比较了已经提到的 2 个解决方案:vim& 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  
于 2015-02-26T11:06:26.713 回答
3

所调用的工具enscript非常适合执行此操作。它非常强大,不依赖于编辑器或语言,您可以创建带有语法突出显示的 PDF。

文档几乎说明了一切。

脚本手册页

于 2015-04-17T03:08:19.540 回答
1

在 unix 下你可能想试试 a2ps。它很灵活并且产生了很好的结果。

于 2009-11-01T14:16:50.793 回答
1

不久前,我创建了一个家用python 脚本,它将 pygments 包装到一个小型控制台实用程序中。它适用于pygments支持的任何语言。

此外,如果您碰巧使用 eclipse,您可以简单地在编辑器中复制选定的文本,然后将其粘贴到 MS Word 等支持 RTF 的编辑器中 - 它会保留所有颜色、字体和格式。

于 2011-02-01T14:20:10.903 回答
1

如果您在使用Visual Studio 2012时遇到关于突出显示的打印和处理所描述问题的问题:

于 2014-02-25T19:01:22.367 回答
1

Bash Shell 的解决方案

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

    别名 lprc='vim -me -c ":syntax on" -c ":hardcopy" -c ":q"'

  2. source ~/.bashrc或者source ~/.bash_profile

  3. 要打印彩色的 hello.py,只需这样做:
    lprc hello.py 而不是lpr hello.py

于 2017-01-17T17:05:55.790 回答
1

使用ConTEXT编程编辑器(免费)。我使用它来生成带有语法高亮源代码的 .pdf-s 和打印到纸上。

有许多ConTEXT 语法高亮定义可供下载,您可以制作自己的高亮文件,顺便说一下,使用ConTEXT Highlighter Files 高亮定义突出显示该文件。

于 2020-08-12T04:40:06.960 回答
0

我这样做是从下载 js 和 css 文件

https://prismjs.com/

有很多 5-7 选项可以选择主题和语言荧光笔。一旦你选择了一个主题并下载了微小的 js/css 文件,接下来你需要做的就是将代码文件重命名为 html,然后调用 css/js 文件。在浏览器中打开 html 并打印。完毕!

于 2021-01-02T19:22:06.187 回答