コードを印刷する必要がある場合があります (ホラー!!! ;) )、適切な書式設定と構文の強調表示を使用してそのコードを印刷するには、どのエディターまたはツールを使用すればよいでしょうか? 重要な場合は C# コードになりますが、理想的には、このツールはできるだけ多くの言語で機能します。Notepad ++または何かがこれを処理できますか?
13 に答える
Vimを使用できます。最新の Linux/MacOS を使用している場合はおそらく既にインストールされており、そうでない場合は簡単にインストールできます。
:syntax
構文の強調表示をオンにして出力し:hardcopy
ます。多くの言語の構文強調表示の定義があります。通常、デフォルトの外観は画面表示用に最適化されていますが、修正できます 。
コマンドラインでファイルを開き、 と入力しvim <filename>
て:syntax on<ENTER>
から:hardcopy<ENTER>
印刷します。で Vim を終了し:q!<ENTER>
ます。
:TOhtml
現在の選択範囲を新しい Vim ウィンドウで HTML として開くコマンドもあります。ドキュメント全体をキャプチャし、その後に:%y<ENTER>
続け:TOhtml<ENTER>
て開きます。
はい、Notepad++ は確かに構文の強調表示を使用してコードを出力できます。
カラー印刷が望ましいのは明らかですが、白黒で印刷した場合、微妙な色の違い (もちろん、グレーの色合いでレンダリングされます) を区別するのが難しい場合があります。
ただし、配色を少しカスタマイズすれば、この問題は軽減されるはずです。
http://pygments.org/は 1 つのオプションです。多数の言語をサポートしており、Python ライブラリとして記述されているため、必要に応じて変換プロセスをスクリプト化できます。
呼び出されたツールenscript
は、まさにこれを行うためのツールです。非常に強力で、エディターや言語に縛られず、構文の強調表示を使用して PDF を作成できます。
ドキュメントはほとんどそれをすべて言います。
私は最近、すでに言及した 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
。最後に、 .vimrcを少し調整する必要があるかもしれません:TERM=xterm-256color vim '+hardcopy >out.ps' +q code.src
$TERM
set printfont=:h9
set printoptions=number:y,left:5pc
Visual Studio では、印刷用に完全に個別の構成を使用できます。
UNIX では、a2ps を試してみるのもよいでしょう。柔軟性があり、優れた結果を生み出します。
私は少し前に、pygments を小さなコンソール ユーティリティにラップする家庭用python スクリプトを作成しました。pygmentsでサポートされているすべての言語で動作します。
また、Eclipse を使用している場合は、エディターで選択したテキストをコピーし、MS Word などの RTF 対応のエディターに貼り付けるだけで、すべての色、フォント、および書式設定が保持されます。
強調表示された印刷と説明されている問題の処理に関してVisual Studio 2012に問題がある場合:
- カラー印刷を実装するこのPower Toolをダウンロードしてインストールし、その他の機能とバグ修正を行います。私のために働く!