ekstensi kode sorot untuk penulis Libre Office


21

Baru-baru ini saya menulis laporan untuk sekolah dengan banyak kode di dalamnya. Satu-satunya cara saya menemukan wrok adalah dengan menyorotnya dengan KUAT dan itu benar-benar sangat jelek. Jadi apakah ada ekstensi kode menyoroti untuk penulis kantor gratis?

Seperti ini di bawah ini:

<insert code here>

Sorotan sintaks dengan berbagai warna juga ok.
Saya tidak pernah masuk ke seluruh program jadi saya harus bisa mengerti apa yang saya pikir kode.

Seperti yang ini: echo "Hello World!";

Cooder

Saya sebelumnya tidak suka highlight ini karena memformat teks dan semua teks yang muncul setelahnya. Saya ingin menandai beberapa teks lalu klik pada highlight dan hanya itu.
Yang ini terlalu rumit dan sulit digunakan, saya harus memilih bahasa pemrograman setiap kali saya menyoroti yang akan menjadi sekitar 100 kali dalam satu laporan, itu terlalu banyak.
Saya ingin sesuatu yang mirip dengan apa yang mereka gunakan di situs. sorot kode sederhana jika Anda mau.

Pemformat Kode Colorizer

Ini menginstal untuk saya, tetapi saya tidak bisa membuatnya bekerja dan tidak memiliki dukungan PHP atau HTML, yang saya butuhkan.


ditambahkan sebagai jawaban, senang itu membantu
Drake Clarris

1
Saya sarankan menggunakan LaTeX (lihat contoh ). Sebelum saya menggunakan lateks, saya menyimpan sumber sebagai HTML dengan KDE Kate dan menyalin kode yang diberikan dari browser ke kantor terbuka
Martin Thoma

@ Pilih mengapa Anda menambahkan ini sebagai komentar alih-alih jawaban? jelaskan semua langkah juga, terima kasih.
Alvar

Jawaban:


15

Ini bukan plug-in, tapi saya memasukkan kode ke situs web yang mewarnai sintaksis untuk Anda. Situs yang saya gunakan adalah tohtml . Namun saya tidak menggunakan kode html yang dihasilkan, saya hanya menyalin kode berwarna dan disorot dari browser dan menempelkannya ke dokumen saya dan WYSIWYG.


Menyalin tidak berfungsi untuk saya dari Firefox ke Libroffice, meskipun menyimpan sebagai HTML dan membuka file di Libreoffice kemudian menyalinnya berfungsi
Wilf

salin + tempel bekerja di ubuntu dari chrome ke libreoffice! Terima kasih!
rrosa

11

UPDATE 2: Perpanjangan LibreOffice

Saya telah menerbitkan skrip makro saya sebelumnya sebagai ekstensi: Penyorot Kode yang tersedia di toko ExtreOffice Extensions.

1. Bagaimana cara menginstal?

Ikuti langkah-langkah ini untuk menginstal ekstensi:

Langkah 1: Instal libreoffice-script-provider-python:

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

Langkah 2: Instal pygments untuk Python 3:

sudo pip3 install pygments

Langkah 3: Unduh dan tambahkan ekstensi codehighlighter.oxt ke Libre Office

2. Bagaimana cara menggunakan?

  • Buka LibreOffice Writer / Calc / Impress.
  • Sisipkan Kotak Teks ( Sisipkan -> Kotak Teks ).
  • Salin dan tempel cuplikan kode apa pun ke dalam Kotak Teks itu.
  • Pilih Kotak Teks.
  • Sorot oleh Alat -> Kode Sorotan -> <Bahasa-Nama>

masukkan deskripsi gambar di sini

Anda dapat menetapkan pintasan keyboard untuk bahasa yang sering digunakan. Untuk melihat cara menetapkan pintasan keyboard, kunjungi halaman Git Hub: libreoffice-code-highlighter


Saya meninggalkan jawaban asli saya di sini karena masih valid untuk LO <= 5.

Saya memiliki persyaratan yang sama dan tidak ada solusi yang bekerja untuk saya di LibreOffice 5 kecuali 'Code Colorizer Formatter'. Tapi Code Colorizer Formatter hanya bekerja di Writer (saya juga diperlukan untuk Impress). Kemudian saya menemukan solusi lain menggunakan makro Python yang diuji di LibreOffice 5.

Instalasi

Langkah 1: Instal libreoffice-script-provider-python:

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

Langkah 2: Instal pygments untuk Python 3:

sudo pip3 install pygments

Langkah 3: Unduh Highlight.py

Langkah 4: Salin Highlight.py ke / usr / lib / libreoffice / share / Scripts / python /

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

Langkah 5: Tetapkan izin Read-Only ke skrip.

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

Langkah 6: Buka LibreOffice Writer dan goto Tools -> Customize -> Keyboard

  • Pilih tombol opsi LibreOffice (Tersedia di sudut kiri atas)
  • Pilih pintasan yang diinginkan
  • Pilih share / Highlight / Highlight_source_code di bawah Functions Category
  • Klik tombol Modify untuk mengatur pintasan

Pemakaian

LibreOffice Impress

  • Buka LibreOffice Impress.
  • Sisipkan Kotak Teks (Sisipkan -> Kotak Teks).
  • Salin dan tempel cuplikan kode apa pun ke dalam Kotak Teks itu.
  • Buat Gaya baru (Klik kanan pada gaya yang ada -> Baru ...)
  • Beri nama Gaya sebagai code-<language>
  • Terapkan gaya ke Kotak Teks potongan kode Anda.
  • Pilih Kotak Teks.
  • Gunakan tombol pintas Anda untuk menjalankan makro.

LibreOffice Writer / Calc

  • Buka LibreOffice Writer / Calc.
  • Sisipkan Kotak Teks (Sisipkan -> Kotak Teks).
  • Salin dan tempel cuplikan kode apa pun ke dalam Kotak Teks itu.
  • Klik kanan pada Kotak Teks dan pilih 'Deskripsi'.
  • Tambahkan deskripsi dalam format berikut: code-<language>
  • Pilih Kotak Teks
  • Gunakan tombol pintas Anda untuk menjalankan makro.

PEMBARUAN 1:

Saya telah menambahkan dukungan gaya khusus ke ekstensi ini. Gunakan code-<language>untuk gaya default dan code-<language>-<style>untuk gaya kustom. Gaya yang tersedia tercantum di halaman Git Hub saya.

Misalnya, Code-Java-Emacsakan mewarnai kode Java menggunakan gaya Emacs.


Ini bekerja dengan sangat baik, terima kasih! Bagaimana saya bisa mengubah tema pygments?
greschd

Silakan periksa pos yang diperbarui. Saya telah memperbarui skrip saya untuk mendukung gaya khusus. Anda perlu memutakhirkan skrip Highlight.py, agar dapat menggunakan fitur baru ini.
Gobinath

Terima kasih banyak. Satu hal yang masih mengganggu saya - ketika saya baru saja menyimpan file dan kemudian mencoba untuk mengeksekusi makro, itu me-reset teks ke beberapa versi sebelumnya. Apakah Anda tahu mengapa ini dan apakah itu bisa diperbaiki dengan mudah?
greschd

Saya belum pernah menghadapi masalah seperti itu. Bisakah Anda memberi tahu saya langkah-langkah tepat untuk mereproduksi masalah ini?
Gobinath

(dalam Impress): Saya mengedit beberapa kode dalam kotak teks yang telah saya format sebelumnya, simpan dokumen (Ctrl + S), pilih kotak teks, coba sorot (Ctrl + Shift + H), dan ulang beberapa teks Saya menulis
greschd

4

COOder

COOder tampaknya ditinggalkan, dan tidak bisa diinstal di LibreOffice 4.2.8.2.

Pemformat Kode Colorizer

Code Colorizer Formatter menginstal dan bekerja dengan benar di LibreOffice. Code Colorizer Formatter juga menambahkan dukungan PHP, tetapi dukungan HTML tidak ada sama sekali dan JavaScript tidak berfungsi saat saya mengujinya. Instruksi untuk membuatnya berfungsi di situs web Code Colorizer Formatter tidak bekerja untuk saya, namun saya telah mendapatkan Code Colorizer Formatter untuk bekerja di LibreOffice dengan cara yang sulit, dan berikut ini adalah instruksi saya:

  1. Unduh Code Colorizer Formatter dari beranda proyek Code Colorizer Formatter dan instal di LibreOffice Writer seperti ekstensi LibreOffice lainnya.

  2. Buka file kode Anda di LibreOffice Writer. Code Colorizer Formatter mendukung Bash, Basic, C ++, Java, Perl, PHP, Python, R, SQL, XML, C #, 8085 Assembler, dan x86 Assembler.

  3. Pilih kode yang akan diwarnai.

  4. Pilih Alat -> Makro -> Atur Makro -> LibreOffice Basic .

  5. Sebuah baru LibreOffice Dasar Macro jendela akan terbuka. Di bawah judul Makro dari , pilih Macro Saya -> MacroFormatterADP -> bahasa pemrograman yang didukung. Pada tangkapan layar di bawah, Java dipilih.

  6. Di bawah judul Makro yang ada di ... , pilih HighlightSelLanguage di mana Bahasa di HighlightSelLanguage sama dengan bahasa pemrograman yang dipilih pada langkah lima. Pada tangkapan layar di bawah ini, HighlightSelJava dipilih.

  7. Klik tombol Jalankan untuk mewarnai kode yang dipilih.

masukkan deskripsi gambar di sini


Tampaknya ditinggalkan, pergi ke bagian ekstensi di LibreOffice mengatakan belum ada pembaruan dalam lebih dari setahun
Purefan

Jumlah pekerjaan untuk menggunakan CCF tidak sebanding dengan hasilnya, IMHO. Saya pikir halaman tohtml melakukan pekerjaan yang lebih baik dengan hasilnya (mis. Titik warna, tanda kurung, dll). Namun, jika seseorang ingin menggunakan ini "cara mudah" ™, mereka dapat pergi ke Alat >> Kustomisasi ... >> Menu Konteks (Tab) >> Menu (daftar dropdown) >> Teks >> Tambah ... ( tombol) >> LibreOffice Macros >> Macro Saya >> MacroFormatterADP >> (pilih bahasa) >> SorotSel (bahasa) >> Tutup . Setelah ini, cukup sorot teks, klik-r, dan cari opsi baru di menu konteks untuk memformat teks yang dipilih; entri dapat diubah namanya.
code_dredd

1
@karel Saya menggunakan versi 5.2.2.2di Kubuntu 16.10. Saya melakukan ini beberapa saat sebelum komentar asli saya.
code_dredd

@ray Terima kasih atas saran Anda. Saya akan menginstal Kubuntu di VirtualBox dan mencobanya.
karel

@karel Apakah versi 5.2.2.2di Windows tidak berfungsi sama? Saya berpikir bahwa hanya memutakhirkan versi Anda harus bekerja tanpa harus melalui instalasi OS penuh.
code_dredd

1

Saya harus memilih bahasa pemrograman setiap kali saya menyoroti yang akan menjadi sekitar 100 kali dalam satu laporan, itu terlalu banyak

Sebenarnya ada cara untuk mengikat pewarnaan dalam bahasa tertentu ke hot key. Buat sub berikut dan ikat ke hot key:

Buka Tools → Macro → Organaize macro → LibreOffice Basic. Pilih Module1 dan tekan Edit:

masukkan deskripsi gambar di sini

Kemudian salin dan tempel kode ini:

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

Terakhir ikat ke hot key:

masukkan deskripsi gambar di sini


0

Salah satu yang saya tahu, tetapi tampaknya ditinggalkan, adalah Code Colorizer Formatter .

Saya tidak tahu apakah masih berfungsi di LO 4, tetapi mungkin Anda layak untuk mencobanya (atau untuk menyelamatkan dan memperbarui!).


1
Code Colorizer Formatter diperbarui pada 1 Maret 2015 dengan dukungan hingga LibreOffice 4.4 untuk banyak bahasa pemrograman termasuk PHP. Saya menguji Code Colorizer Formatter di LibreOffice 4.2. Instruksi di situs resmi Code Colorizer Formatter tidak berfungsi untuk saya, jadi saya memasukkan instruksi saya sendiri untuk menggunakan Code Colorizer Formatter dalam jawaban saya.
karel

0

Saya bosan memformat kode saya di halaman online dan ingin mendapatkan kode saya ditata di dalam LibreOffice atau penulis OpenOffice.

Saya menemukan bahwa ekstensi "cooder" berjalan dengan benar di LibreOffice 5. saya * bahkan jika instalasi itu tampaknya gagal (My LibreOffice 5. * ditangguhkan saat instalasi).

Di Extension-Manager Anda dapat mengaktifkan Cooder, restart LibreOffice / NeoOffice / OpenOffice dan Anda akan melihat Simbol baru yang dapat Anda gunakan untuk menata kode sumber Anda di dalam LibreOffice.

Anda dapat mengunduh ekstensi di: http://extensions.libreoffice.org/extension-center/coooder

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.