Office yazar için kod vurgulama uzantısı


21

Geçenlerde okul için bir sürü kod yazan bir rapor yazdım. Wrok'u bulmamın tek yolu, onu STRONG ile vurgulamaktı ve bu gerçekten çok çirkin. Yani libre ofis yazarı için bir kod vurgulama uzantısı var mı?

Aşağıdaki gibi bu:

<insert code here>

Farklı renklerle bir sözdizimi vurgulamak da tamam.
Hiçbir zaman bütün bir programa giremem bu yüzden kodun ne olduğunu düşündüğümü vurgulamam gerekiyor.

Bunun gibi: echo "Hello World!";

Cooder

Yazıyı ve sonradan gelen tüm metni biçimlendirdiği için ben de bu olaydan hoşlanmadım. Bazı metinleri işaretlemek istiyorum, ardından üzerine bir noktaya tıklayın ve o kadar.
Bu çok karmaşık ve kullanımı zor, bir raporda yaklaşık 100 kez olacağını vurguladığımda programlama dilini seçmek zorundayım, bu çok fazla.
Sitede kullandıklarına benzer bir şey istiyorum. basit kod vurguluyorsanız vurgulayın.

Kod Renklendirici Biçimlendirici

Benim için yükler, ancak çalışmasını sağlayamıyorum ve ihtiyacım olan PHP veya HTML desteğine sahip değil.


cevap olarak eklendi, yardımcı oldu sevindim
Drake Clarris

1
LaTeX kullanmanızı öneririm ( örneğe bakın ). Lateks kullanmadan önce, kaynağı KDE Kate ile HTML olarak kaydettim ve oluşturulan kodu bir tarayıcıdan ofis açmak için kopyaladım
Martin Thoma

@Bu neden bunu cevap yerine yorum olarak ekledin? tüm adımları da açıkla teşekkürler.
Alvar

Yanıtlar:


15

Bu bir eklenti değil, ancak kodu sizin için sözdizimini renklendiren bir web sitesine koydum. Kullandığım site tohtml . Ancak oluşturulan html kodunu kullanmıyorum, sadece renkli ve vurgulanan kodu tarayıcıdan kopyalayıp, belgeme ve WYSIWYG dosyama yapıştırıyorum.


Kopyalama benim için Firefox'tan Libroffice'e çalışmadı, ancak HTML olarak kaydetme ve dosyayı Libreoffice'de açma, sonra kopyalama işe yaramadı
Wilf

copy + paste, ubuntu'da kromdan libreoffice'ye çalıştı! Teşekkürler!
rrosa 10:15

11

GÜNCELLEME 2: LibreOffice Extension

Önceki makro betiğimi bir uzantı olarak yayımladım: LibreOffice Extensions deposunda bulunan Kod İşaretleyici .

1. Nasıl kurulur?

Uzantıyı yüklemek için şu adımları izleyin:

Adım 1: libreoffice-script-sağlayıcı-python'u yükleyin:

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

Adım 2: Python 3 için pigmentleri kurun:

sudo pip3 install pygments

Adım 3: codehighlighter.oxt uzantısını indirip Libre Office'e ekleyin

2. nasıl kullanılır?

  • LibreOffice Writer / Calc / Impress'i açın.
  • Metin Kutusu Ekle ( Ekle -> Metin Kutusu ).
  • Herhangi bir kod pasajını kopyalayıp bu Metin Kutusuna yapıştırın.
  • Metin kutusunu seçin.
  • Araçları Vurgula -> Vurgu Kodu -> <Dil Adı>

görüntü tanımını buraya girin

Sık kullanılan diller için klavye kısayolları atayabilirsiniz. Klavye kısayolunun nasıl atanacağını görmek için Git Hub sayfasını ziyaret edin: libreoffice-code-highlighter


Orijinal cevabımı burada bırakıyorum çünkü hala LO <= 5 için geçerli.

Aynı gereksinime sahibim ve bu çözümlerin hiçbiri 'Kod Renklendirici Biçimlendirici' dışında LibreOffice 5'te benim için işe yaramadı. Ancak Kod Colorizer Formatter yalnızca Writer'da çalıştı (Impress için de ihtiyacım vardı). Daha sonra LibreOffice 5'te test edilen Python makrosu kullanarak başka bir çözüm buldum.

Kurulum

Adım 1: libreoffice-script-sağlayıcı-python'u yükleyin:

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

Adım 2: Python 3 için pigmentleri kurun:

sudo pip3 install pygments

Adım 3: Highlight.py dosyasını indirin

Adım 4: Highlight.py dosyasını / usr / lib / libreoffice / share / Scripts / python / dizinine kopyalayın.

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

Adım 5: Salt Okunur iznini komut dosyasına ayarlayın.

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

Adım 6: LibreOffice Writer'ı açın ve Araçlar -> Özelleştir -> Klavye'ye geçin

  • LibreOffice seçenek düğmesini seçin (sol üst köşede bulunur)
  • İstediğiniz kısayolu seçin
  • İşlevler Kategorisi altından share / Highlight / Highlight_source_code öğesini seçin
  • Kısayolu ayarlamak için Değiştir düğmesine tıklayın

kullanım

LibreOffice İzlenim

  • LibreOffice Impress'i açın.
  • Metin Kutusu Ekle (Ekle -> Metin Kutusu).
  • Herhangi bir kod pasajını kopyalayıp bu Metin Kutusuna yapıştırın.
  • Yeni bir Stil oluşturun (Mevcut bir stile sağ tıklayın -> Yeni ...)
  • Stili adlandırın code-<language>
  • Stili kod snippet Metin Kutunuza uygulayın.
  • Metin kutusunu seçin.
  • Makroyu çalıştırmak için kısayol tuşlarınızı kullanın.

LibreOffice Yazar / Calc

  • LibreOffice Writer / Calc.
  • Metin Kutusu Ekle (Ekle -> Metin Kutusu).
  • Herhangi bir kod pasajını kopyalayıp bu Metin Kutusuna yapıştırın.
  • Metin Kutusuna sağ tıklayın ve 'Açıklama'yı seçin.
  • Aşağıdaki biçimde bir açıklama ekleyin: code-<language>
  • Metin Kutusunu Seç
  • Makroyu çalıştırmak için kısayol tuşlarınızı kullanın.

GÜNCELLEME 1:

Bu uzantıya özel stil desteği ekledim. code-<language>Varsayılan stil ve code-<language>-<style>özel stil için kullanın . Kullanılabilir stiller Git Hub sayfamda listeleniyor.

Örneğin, Code-Java-EmacsEmacs stilini kullanarak Java kodunu renklendirir.


Bu oldukça iyi çalışıyor, teşekkürler! Pigment temasını nasıl değiştirebilirim?
greschd

Lütfen güncellenmiş gönderiyi kontrol edin. Özel stilleri desteklemek için betiğimi güncelledim. Bu yeni özelliği kullanmak için Highlight.py betiğini yükseltmeniz gerekir.
Gobinath

Güzel, teşekkürler. Bir şey beni hala rahatsız ediyor - sadece dosyayı kaydettiğimde ve daha sonra makroyu çalıştırmayı denediğimde, metni daha önceki bir sürüme sıfırlar. Bunun neden olduğunu ve kolayca düzeltilebileceğini biliyor musunuz?
greschd

Böyle bir sorunla karşılaşmadım. Lütfen bu sorunu yeniden oluşturmanın tam adımlarını bilmeme izin verir misiniz?
Gobinath

(Etkilenim içinde): Daha önce biçimlendirdiğim bir metin kutusundaki bazı kodları düzenlerim, belgeyi kaydeder (Ctrl + S), metin kutusunu seçer, vurgulamayı deneyin (Ctrl + Shift + H) ve bazı metinleri sıfırlar. yazdığım
greschd

4

Cooder

COOder terk edilmiş görünüyor ve LibreOffice 4.2.8.2'ye yüklenemiyor.

Kod Renklendirici Biçimlendirici

Code Colorizer Formatter, LibreOffice'de düzgün şekilde kurulur ve çalışır. Code Colorizer Formatter, PHP desteği de ekledi, ancak HTML desteği tamamen eksik ve test ettiğimde JavaScript çalışmadı. Code Colorizer Formatter web sitesinde nasıl çalışacağına dair talimatlar benim için işe yaramadı, ancak LibreOffice'de zor şekilde çalışması için Code Colorizer Formatter'ı aldım ve buradaki talimatlarım:

  1. İndir Kod Colorizer Formatter dan Kod Colorizer Formatter proje ana ve diğer LibreOffice uzantısı gibi LibreOffice Writer takın.

  2. Kod dosyanızı LibreOffice Writer'da açın. Kod Colorizer Formatter, Bash, Basic, C ++, Java, Perl, PHP, Python, R, SQL, XML, C #, 8085 Assembler ve x86 Assembler'ı destekler.

  3. Renklendirilecek kodu seçin.

  4. Seç Araçlar -> Makro -> Makroları düzenle -> LibreOffice Basic .

  5. Yeni bir LibreOffice Basic Makro penceresi açılır. Makro başlığının altındaki Makrolarım'ı seçin. -> MacroFormatterADP -> desteklenen bir programlama dili. Aşağıdaki ekran görüntüsünde, Java seçili.

  6. Mevcut makroların altında ... başlığı HighlightSelLanguage içindeki Dilin, beşinci adımda seçilen programlama diliyle aynı olduğu HighlightSelLanguage'i seçin . Aşağıdaki ekran görüntüsünde, HighlightSelJava seçilmiştir.

  7. Seçilen kodu renklendirmek için Çalıştır düğmesine tıklayın .

görüntü tanımını buraya girin


Görünüşe göre terk edilmiş görünüyor, LibreOffice'deki uzantılar bölümüne
gidildiğinde

CCF'yi kullanacak iş miktarı sonucuna değmez, IMHO. Tohtml sayfasının sonuçlarla daha iyi bir iş çıkardığını düşündüm (örn. Renkli noktalar, parantezler vb.). Ancak, birisi bu "kolay yolu" ™ kullanmak isterse, Araçlar >> Özelleştir ... >> İçerik Menüleri (Sekme) >> Menü (açılır liste) >> Metin >> Ekle ... ( düğme) >> LibreOffice Makrolar >> Makrolarım >> MacroFormatterADP >> (seçim dili) >> HighlightSel (dil) >> Kapat . Bundan sonra, sadece metni vurgulayın, yeniden tıklayın ve seçilen metni biçimlendirmek için bağlam menüsünde yeni seçeneği bulun; giriş yeniden adlandırılabilir.
code_dredd

1
@karel 5.2.2.2Kubuntu 16.10'daki sürümü kullanıyorum . Orijinal yorumumdan birkaç dakika önce bunu yaptım.
code_dredd

@ray Öneriniz için teşekkür ederiz. Kubuntu'yu VirtualBox'a yükleyip deneyeceğim.
karel

@karel 5.2.2.2Windows'ta sürüm aynı çalışmıyor mu? Sadece sürümünüzü yükseltmenin tam gelişmiş bir işletim sistemi kurulumuna geçmek zorunda kalmadan çalışması gerektiğini düşünüyorum.
code_dredd

1

Her raporda 100 kere olacağını vurguladığımda programlama dilini seçmek zorundayım, bu çok fazla

Aslında renklendirmeyi belirli bir dilde kısayol tuşlarına bağlamak için bir yol var. Aşağıdaki alt yapın ve bir kısayol tuşu ile bağlayın:

Araçlar → Makrolar → Makroları düzenle → LibreOffice Basic'e gidin. Modül1'i seçin ve Düzenle'ye basın:

görüntü tanımını buraya girin

Sonra bu kodu kopyalayıp yapıştırın:

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

Sonunda bunu bir kısayol tuşuna bağlayın:

görüntü tanımını buraya girin


0

Bildiğim, ancak terkedilmiş gibi görünen biri, Kod Renklendirici Biçimlendirici'dir .

Halen LO 4'te çalışıp çalışmadığını bilmiyorum, ama denemek için (veya kurtarıp bugüne gelmek!)


1
Code Colorizer Formatter, 1 Mart 2015'te, PHP dahil olmak üzere birçok programlama dili için LibreOffice 4.4 desteği ile güncellendi. LibreOffice 4.2'de Code Colorizer Formatter'ı test ettim. Resmi Code Colorizer Formatter web sitesindeki talimatlar benim için işe yaramadı, bu yüzden cevabımda Code Colorizer Formatter kullanmak için kendi talimatımı verdim.
karel

0

Kodumu çevrimiçi bir sayfada biçimlendirmekten bıktım ve kodumu LibreOffice ya da OpenOffice yazarı içine koymak istedim.

"Cooder" uzantısının LibreOffice 5'imde düzgün bir şekilde çalıştığını öğrendim (*, kurulumu başarısız olmuş gibi görünse bile (My LibreOffice 5. *, kurulum sırasında askıya alındı).

Extension-Manager'da, Kodlayıcıyı aktif hale getirebilir, LibreOffice / NeoOffice / OpenOffice'i yeniden başlatıp, LibreOffice içindeki kaynak kodunuzu biçimlendirmek için kullanabileceğiniz yeni bir Sembol görmelisiniz.

Uzantıyı şu adresten indirebilirsiniz: http://extensions.libreoffice.org/extension-center/coooder

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.