Libre Officeライターのコードハイライト拡張機能


21

私は最近、多くのコードを含む学校向けのレポートを作成しました。私が見つけた唯一の方法は、それをSTRONGで強調することでしたが 、それは本当にひどいものです。libre office writerの拡張機能を強調するコードはありますか?

以下のように:

<insert code here>

異なる色の構文ハイライトも問題ありません。
プログラム全体を入力することはありませんので、コードだと思うものをハイライトできるようにする必要があります。

このように: echo "Hello World!";

クーダー

私はこのハイライトがテキストとその後に続くすべてのテキストをフォーマットするので、このハイライトが好きではありませんでした。テキストをマークして、ハイライトをクリックしたいだけです。
これは複雑すぎて使いにくいので、1つのレポートで約100回になることを強調するたびにプログラミング言語を選択する必要があります。
サイトで使用しているものに似たものが欲しいです。単純なコードを強調表示します。

コードカラライザーフォーマッター

それは私のためにインストールされますが、私はそれを動作させることができず、必要なPHPまたはHTMLサポートを持っていません。


回答として追加し、助けてくれて嬉しかった
ドレイククラリス

1
LaTeXの使用をお勧めします(例を参照)。私が使用したラテックスをした前に、私はKDEのケイトとHTMLとしてソースを保存し、開いたオフィスに、ブラウザからレンダリングコードをコピーした
マーティン・トーマを

@Mooseなぜこれを回答ではなくコメントとして追加するのですか?すべてのステップも説明してくれてありがとう。
アルヴァ

回答:


15

プラグインではありませんが、構文を色付けするWebサイトにコードを配置します。私が使用しているサイトはtohtmlです。ただし、HTMLで生成されたコードは使用せず、色付きで強調表示されたコードをブラウザーからコピーして、ドキュメントとWYSIWYGに貼り付けます。


コピー後、HTMLとして保存すると、LibreOfficeの中のファイルを開くと仕事をしたもののコピーは、LibrofficeへのFirefoxから私のために仕事をしませんでした
Wilf

コピー+貼り付けは、クロムからlibreofficeへのUbuntuで機能しました!ありがとう!
ロサ

11

更新2:LibreOffice拡張

以前のマクロスクリプトを拡張機能として公開しました。LibreOfficeExtensionsストアで利用可能なコードハイライターです。

1.インストール方法

次の手順に従って、拡張機能をインストールします。

ステップ1: libreoffice-script-provider-pythonをインストールします。

sudo apt-get install libreoffice-script-provider-python

ステップ2: Python 3のpygmentsをインストールする:

sudo pip3 install pygments

ステップ3:codehighlighter.oxt拡張機能をダウンロードしてLibre Officeに追加する

2.使用方法

  • LibreOffice Writer / Calc / Impressを開きます。
  • テキストボックスを挿入します([ 挿入] -> [ テキストボックス])。
  • コードスニペットをコピーして、そのテキストボックスに貼り付けます。
  • テキストボックスを選択します。
  • ツールで強調表示-> コードを強調表示 -> <言語名>

ここに画像の説明を入力してください

頻繁に使用する言語にキーボードショートカットを割り当てることができます。キーボードショートカットの割り当て方法を確認するには、Git Hubページにアクセスしてください:libreoffice-code-highlighter


LO <= 5に対してまだ有効であるため、ここに元の回答を残します。

同じ要件があり、LibreOffice 5でこれらのソリューションはどれも「Code Colorizer Formatter」を除いて機能しませんでした。しかし、Code Colorizer FormatterはWriterでのみ機能しました(Impressでも必要でした)。後で、LibreOffice 5でテストされているPythonマクロを使用した別のソリューションを見つけました。

設置

ステップ1: libreoffice-script-provider-pythonをインストールします。

sudo apt-get install libreoffice-script-provider-python

ステップ2: Python 3のpygmentsをインストールする:

sudo pip3 install pygments

ステップ3:Highlight.pyをダウンロードする

ステップ4: Highlight.pyを/ usr / lib / libreoffice / share / Scripts / python /にコピーします

sudo cp Highlight.py /usr/lib/libreoffice/share/Scripts/python/

ステップ5:スクリプトに読み取り専用許可を設定します。

sudo chmod 0444 /usr/lib/libreoffice/share/Scripts/python/Highlight.py

ステップ6: LibreOffice Writerを開き、[ツール]-> [カスタマイズ]-> [キーボード]に移動します。

  • LibreOfficeオプションボタンを選択します(左上隅にあります)
  • 目的のショートカットを選択します
  • 関数カテゴリでshare / Highlight / Highlight_source_codeを選択します
  • 変更ボタンをクリックしてショートカットを設定します

使用法

LibreOffice Impress

  • LibreOffice Impressを開きます。
  • テキストボックスを挿入します([挿入]-> [テキストボックス])。
  • コードスニペットをコピーして、そのテキストボックスに貼り付けます。
  • 新しいスタイルを作成します(既存のスタイルを右クリック->新規...)
  • スタイルに名前を付けます code-<language>
  • スタイルをコードスニペットテキストボックスに適用します。
  • テキストボックスを選択します。
  • ショートカットキーを使用してマクロを実行します。

LibreOffice Writer / Calc

  • LibreOffice Writer / Calcを開きます。
  • テキストボックスを挿入します([挿入]-> [テキストボックス])。
  • コードスニペットをコピーして、そのテキストボックスに貼り付けます。
  • テキストボックスを右クリックして、[説明]を選択します。
  • 次の形式で説明を追加します。 code-<language>
  • テキストボックスを選択
  • ショートカットキーを使用してマクロを実行します。

更新1:

この拡張機能にカスタムスタイルのサポートを追加しました。code-<language>デフォルトスタイルとcode-<language>-<style>カスタムスタイルに使用します。使用可能なスタイルは、Git Hubページにリストされています。

たとえば、Code-Java-EmacsEmacsスタイルを使用してJavaコードに色を付けます。


これは非常にうまくいきます、ありがとう!pygmentsテーマを変更するにはどうすればよいですか?
グレッシュ

更新された投稿を確認してください。カスタムスタイルをサポートするようにスクリプトを更新しました。この新しい機能を使用するには、Highlight.pyスクリプトを順番にアップグレードする必要があります。
ゴビナス

よかった、ありがとう。それでも気になるのは、ファイルを保存してマクロを実行しようとすると、テキストが以前のバージョンにリセットされることです。これがなぜなのか、それを簡単に修正できるかどうか知っていますか?
グレッシュ

私はそのような問題に直面していません。この問題を再現するための正確な手順を教えてください。
ゴビナス

(Impressで):以前にフォーマットしたテキストボックスでいくつかのコードを編集し、ドキュメントを保存(Ctrl + S)、テキストボックスを選択、ハイライト(Ctrl + Shift + H)を試して、テキストの一部をリセットします私が書いた
グレッシュ

4

クーダー

COOderは放棄されたようで、LibreOffice 4.2.8.2にはインストールできません。

コードカラライザーフォーマッター

Code Colorizer FormatterがLibreOfficeにインストールされ、正常に動作します。Code Colorizer FormatterにもPHPサポートが追加されましたが、HTMLサポートが完全に欠落しており、テストしたときにJavaScriptが機能しませんでした。Code Colorizer Formatter Webサイトで動作させる方法の説明はうまくいきませんでしたが、LibreOfficeで動作するようにCode Colorizer Formatterを苦労してもらいました。

  1. ダウンロードコード彩色フォーマッタをからコード彩色フォーマッタプロジェクトのホームページや他のLibreOfficeの延長のようなのLibreOffice Writerの中でそれをインストール。

  2. LibreOffice Writerでコードファイルを開きます。Code Colorizer Formatterは、Bash、Basic、C ++、Java、Perl、PHP、Python、R、SQL、XML、C#、8085 Assembler、およびx86 Assemblerをサポートしています。

  3. 色付けするコードを選択します。

  4. ツール -> マクロ -> マクロの整理 -> LibreOffice Basicを選択します

  5. 新しいLibreOffice Basicマクロウィンドウが開きます。[見出しのマクロ]で、[ マイマクロ] -> [ MacroFormatterADP] ->サポートされているプログラミング言語を選択します。以下のスクリーンショットでは、Javaが選択されています。

  6. [ ...既存のマクロ]見出しの下で、[ ハイライトセル言語]を選択します。ハイライトセル言語の言語は、手順5で選択したプログラミング言語と同じです。以下のスクリーンショットでは、HighlightSelJavaが選択されています。

  7. [ 実行 ]ボタンをクリックして、選択したコードを色付けします。

ここに画像の説明を入力してください


捨てられた、LibreOfficeの中の拡張機能のセクションに行くこと、それは一年以上にアップデートを持っていないと言うようだ
Purefan

CCFを使用する作業量は結果に見合うものではありません。私は、tohtmlページが結果(色のドット、括弧など)でより良い仕事をしたと思いました。ただし、この「簡単な方法」™を使用したい場合は、ツール>>カスタマイズ... >>コンテキストメニュー(タブ)>>メニュー(ドロップダウンリスト)>>テキスト>>追加...(ボタン)>> LibreOfficeのマクロ>>マイマクロ>> MacroFormatterADP >>(言語を選択)>> HighlightSel(言語)>>閉じます。この後、テキストを強調表示し、r-クリックし、コンテキストメニューで新しいオプションを見つけて、選択したテキストをフォーマットします。エントリの名前を変更できます。
code_dredd

1
@karel 5.2.2.2Kubuntu 16.10のバージョンを使用しています。元のコメントの少し前にこれを行いました。
code_dredd

@rayご提案ありがとうございます。KubuntuをVirtualBoxにインストールして試してみます。
karel

@karel 5.2.2.2Windowsのバージョンは同じように機能しませんか?本格的なOSのインストールを行わなくても、バージョンをアップグレードするだけで機能するはずです。
code_dredd

1

ハイライトするたびにプログラミング言語を選択する必要があります

実際、特定の言語のカラーリングをホットキーにバインドする方法があります。次のサブを作成し、ホットキーにバインドします。

[ツール]→[マクロ]→[マクロの整理]→[LibreOffice Basic]に移動します。Module1を選択し、編集を押します。

ここに画像の説明を入力してください

次に、このコードをコピーして貼り付けます。

Sub COOoderInPython
  ExecuteCOOoder("python")
End Sub

Sub ExecuteCOOoder(sLanguage As String)
  oLanguage = org.openoffice.coooder.theLanguagesManager.get(GetDefaultContext()).getLanguage(sLanguage)
  If NOT isNull(oLanguage) Then
    oHighlighter = CreateUnoService("org.openoffice.coooder.Highlighter")
    oHighlighter.Language = oLanguage
    oHighlighter.parse(Null)
  End If
End Sub

最後に、それをホットキーにバインドします。

ここに画像の説明を入力してください


0

私が知っているが、放棄されているように見えるのは、Code Colorizer Formatterです。

LO 4でまだ機能するかどうかはわかりませんが、試してみる(または救助して最新の状態にする)ことは価値があるかもしれません。


1
Code Colorizer Formatterは2015年3月1日に更新され、PHPを含む多くのプログラミング言語のLibreOffice 4.4までサポートされました。LibreOffice 4.2でCode Colorizer Formatterをテストしました。公式のCode Colorizer Formatter Webサイトの指示はうまくいきませんでしたので、答えにCode Colorizer Formatterの使用に関する独自の指示を入れました。
カレル

0

オンラインページでコードをフォーマットするのにうんざりしていて、LibreOfficeまたはOpenOfficeライター内でコードのスタイルを設定したかったのです。

インストールが失敗したように見えても(インストール中にLibreOffice 5. *が中断された場合でも)、拡張機能 "cooder"はLibreOffice 5. *で正常に動作することがわかりました。

Extension-ManagerでCooderをアクティブにし、LibreOffice / NeoOffice / OpenOfficeを再起動すると、LibreOffice内でソースコードをスタイルするために使用できる新しいシンボルが表示されます。

拡張機能は次のサイトからダウンロードできます。http//extensions.libreoffice.org/extension-center/coooder

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.