web-dev-qa-db-fra.com

extension de surbrillance de code pour le rédacteur Libre Office

J'ai récemment écrit un rapport pour l'école contenant beaucoup de code. Le seul moyen que j’ai trouvé de marcher était de le mettre en évidence avec FORT et c’est vraiment très moche. Existe-t-il une extension de mise en évidence du code pour Free Office Writer?

Comme celui-ci ci-dessous:

<insert code here>

Une syntaxe en surbrillance avec des couleurs différentes est également acceptable.
Je n’entre jamais dans un programme complet, il faut donc que je puisse mettre en valeur ce que je pense être du code.

Comme celui-ci: echo "Hello World!";

Cooder

Je n’ai pas aimé cette mise en évidence car elle formate le texte et tout le texte qui suit. Je veux marquer du texte puis cliquer sur une surbrillance et le tour est joué.
Celui-ci est trop compliqué et difficile à utiliser, je dois sélectionner un langage de programmation chaque fois que je souligne ce qui sera environ 100 fois dans un seul rapport, ce qui est beaucoup trop.
J'aimerais quelque chose de similaire à ce qu'ils utilisent sur le site. mettre en évidence le code simple si vous voulez.

Code Colorizer Formatter

Il s’installe pour moi, mais je ne parviens pas à le faire fonctionner et il n’a pas de support pour PHP ou HTML, ce dont j’ai besoin.

21
Alvar

Ce n'est pas un plug-in, mais je mets le code dans un site Web qui colore la syntaxe pour vous. Le site que j'utilise est tohtml . Je n'utilise pas le code généré par le code HTML, cependant, je ne fais que copier le code en couleur et en surbrillance à partir du navigateur et le coller dans mon document et dans WYSIWYG.

15
Drake Clarris

UPDATE 2: Extension de LibreOffice

J'ai publié mon script de macro précédent en tant qu'extension: Code Highlighter , disponible dans le magasin LibreOffice Extensions.

1. Comment installer?

Suivez ces étapes pour installer l'extension:

Étape 1: Installez libreoffice-script-provider-python:

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

Étape 2: Installez les pygments pour Python 3:

Sudo pip3 install pygments

Étape 3: Téléchargez et ajoutez l'extension codehighlighter.oxt à Libre Office.

2. Comment utiliser?

  • Ouvrez LibreOffice Writer/Calc/Impress.
  • Insérer une zone de texte ( Insérer -> Zone de texte ).
  • Copiez et collez un extrait de code dans cette zone de texte.
  • Sélectionnez la zone de texte.
  • Mettez en surbrillance par Outils -> Mettez en surbrillance le code -> <Nom de la langue>

enter image description here

Vous pouvez attribuer des raccourcis clavier pour les langues fréquemment utilisées. Pour savoir comment attribuer un raccourci clavier, visitez la page Git Hub: libreoffice-code-surlighter


Je laisse ici ma réponse initiale car elle est toujours valable pour LO <= 5.

J'avais les mêmes exigences et aucune de ces solutions ne fonctionnait pour moi dans LibreOffice 5, à l'exception de 'Code Colorizer Formatter'. Mais Code Colorizer Formatter n'a fonctionné que dans Writer (j'avais également besoin d'Impress). Plus tard, j'ai trouvé une autre solution en utilisant la macro Python qui est testée dans LibreOffice 5.

Installation

Étape 1: Installez libreoffice-script-provider-python:

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

Étape 2: Installez les pygments pour Python 3:

Sudo pip3 install pygments

Étape 3: Téléchargez Highlight.py

Étape 4: Copiez le fichier Highlight.py dans /usr/lib/libreoffice/share/Scripts/python/

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

Étape 5: Définissez l'autorisation de lecture seule du script.

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

Étape 6: Ouvrez le logiciel LibreOffice Writer et allez dans Outils -> Personnaliser -> Clavier.

  • Sélectionnez le bouton d'option LibreOffice (disponible dans le coin supérieur gauche).
  • Sélectionnez n'importe quel raccourci souhaité
  • Sélectionnez share/Highlight/Highlight_source_code dans la catégorie Fonctions.
  • Cliquez sur le bouton Modifier pour définir le raccourci

Usage

LibreOffice Impress

  • Ouvrez LibreOffice Impress.
  • Insérer une zone de texte (Insérer -> Zone de texte).
  • Copiez et collez un extrait de code dans cette zone de texte.
  • Créer un nouveau style (clic droit sur un style existant -> Nouveau ...)
  • Nommez le style avec code-<language>
  • Appliquez le style à la zone de texte de votre extrait de code.
  • Sélectionnez la zone de texte.
  • Utilisez vos touches de raccourci pour exécuter la macro.

LibreOffice Writer/Calc

  • Ouvrez LibreOffice Writer/Calc.
  • Insérer une zone de texte (Insérer -> Zone de texte).
  • Copiez et collez un extrait de code dans cette zone de texte.
  • Cliquez avec le bouton droit sur la zone de texte et sélectionnez "Description".
  • Ajoutez une description au format suivant: code-<language>
  • Sélectionnez la zone de texte
  • Utilisez vos touches de raccourci pour exécuter la macro.

UPDATE 1:

J'ai ajouté un support de style personnalisé à cette extension. Utilisez code-<language> pour le style par défaut et code-<language>-<style> pour le style personnalisé. Les styles disponibles sont répertoriés dans ma page Git Hub.

Par exemple, Code-Java-Emacs colorera le code Java en utilisant le style Emacs.

11
Gobinath

COOder

COOder semble être abandonné et il ne peut pas être installé dans LibreOffice 4.2.8.2.

Code Colorizer Formatter

Code Colorizer Formatter s’installe et fonctionne correctement dans LibreOffice. Code Colorizer Formatter a également ajouté le support PHP, mais le support HTML est totalement manquant et JavaScript ne fonctionnait pas lorsque je l'ai testé. Les instructions pour le faire fonctionner sur le site Web de Code Colorizer Formatter ne m'ont pas fonctionné, mais j'ai obtenu que Code Colorizer Formatter fonctionne avec LibreOffice à la dure, et voici mes instructions:

  1. Téléchargez Code Colorizer Formatter à partir de page d'accueil du projet Code Colorizer Formatter et installez-le dans LibreOffice Writer comme toute autre extension LibreOffice.

  2. Ouvrez votre fichier de code dans LibreOffice Writer. Code Colorizer Formatter prend en charge Bash, Basic, C++, Java, Perl, PHP, Python, R, SQL, XML, C #, Assembler 8085 et Assembleur x86.

  3. Sélectionnez le code à coloriser.

  4. Sélectionnez Outils -> Macros -> Organisez les macros -> LibreOffice Basic .

  5. Une nouvelle fenêtre LibreOffice Basic Macros s'ouvre. Sous l'en-tête Macro de , sélectionnez Mes macros -> MacroFormatterADP -> un langage de programmation pris en charge. Dans la capture d'écran ci-dessous, Java est sélectionné.

  6. Sous l'en-tête Macros existantes dans ... , sélectionnez HighlightSelLanguage , où Langue dans HighlightSelLanguage est identique à le langage de programmation sélectionné à l'étape cinq. Dans la capture d'écran ci-dessous, HighlightSelJava est sélectionné.

  7. Cliquez sur le bouton Exécuter pour coloriser le code sélectionné.

enter image description here

4
karel

Je dois sélectionner le langage de programmation chaque fois que je mets en surbrillance une centaine de fois dans un seul rapport, ce qui est beaucoup trop

En réalité, il existe un moyen de lier la couleur dans une langue donnée à une touche de raccourci. Créez le sous-dossier suivant et associez-le à une touche de raccourci:

Sélectionnez Outils → Macros → Organiser les macros → LibreOffice Basic. Sélectionnez Module1 et appuyez sur Modifier:

enter image description here

Puis copier-coller ce code:

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

Enfin, associez cela à une touche de raccourci:

enter image description here

1
Adobe

Celui que je connais, mais qui semble être abandonné, est Code Colorizer Formatter .

Je ne sais pas si cela fonctionne toujours dans LO 4, mais cela vaut peut-être la peine d'essayer (ou de sauver et mettre à jour!).

0
carnendil

J'en avais marre de formater mon code sur une page en ligne et je voulais que mon code soit stylé à l'intérieur de LibreOffice ou d'OpenOffice writer.

J'ai découvert que l'extension "cooder" fonctionnait correctement sur mon LibreOffice 5. * même si son installation semblait échouer (mon LibreOffice 5. * suspendu pendant l'installation).

Dans Extension-Manager, vous pouvez activer le Cooder, redémarrer LibreOffice/NeoOffice/OpenOffice et vous devriez voir un nouveau symbole que vous pouvez utiliser pour styliser votre code source dans LibreOffice.

Vous pouvez télécharger l'extension à l'adresse suivante: http://extensions.libreoffice.org/extension-center/coooder

0
Jo Canara