extensão de destaque de código para o escritor Libre Office


21

Recentemente, escrevi um relatório para a escola com muito código. A única maneira que eu encontrei para trabalhar foi destacá-lo com o STRONG e isso é realmente muito feio. Então, existe uma extensão de realce de código para o libre office writer?

Como este abaixo:

<insert code here>

Um destaque de sintaxe com cores diferentes também é aceitável.
Como nunca entro em um programa inteiro, preciso poder destacar o que acho que é código.

Como este: echo "Hello World!";

Cooder

Eu não gostei desse destaque, pois ele formata o texto e todo o texto que vem depois. Quero marcar algum texto e clicar em um destaque e é isso.
Este é muito complicado e difícil de usar, tenho que selecionar a linguagem de programação cada vez que destacar, que será cerca de 100 vezes em um relatório, isso é demais.
Eu gostaria de algo semelhante ao que eles usam no site. código simples, se desejar.

Code Colorizer Formatter

Ele é instalado para mim, mas não consigo fazê-lo funcionar e não possui suporte PHP ou HTML, o que eu preciso.


adicionado como uma resposta, feliz que ajudou
Drake Clarris

1
Eu recomendo usar o LaTeX (veja o exemplo ). Antes que eu tenho látex usado, eu salvo a fonte como HTML com o KDE Kate e copiou o código processado a partir de um navegador para escritório aberto
Martin Thoma

@Moose Por que você adiciona isso como um comentário em vez de uma resposta? explique todos os passos também, obrigado.
Alvar

Respostas:


15

Não é um plug-in, mas coloquei o código em um site que colore a sintaxe para você. O site que eu uso é tohtml . No entanto, não uso o código gerado em html, apenas copio o código colorido e destacado do navegador e colo no meu documento e no WYSIWYG.


Copiar não trabalho para mim do Firefox para Libroffice, embora salvar como HTML e abrir o arquivo no LibreOffice, em seguida, copiando fez trabalho
Wilf

copy + paste trabalhou no ubuntu do chrome para o libreoffice! obrigado!
rrosa 10/09/2015

11

ATUALIZAÇÃO 2: Extensão do LibreOffice

Publiquei meu script de macro anterior como uma extensão: Marcador de código, disponível na loja LibreOffice Extensions.

1. Como instalar?

Siga estas etapas para instalar a extensão:

Etapa 1: Instale o libreoffice-script-provider-python:

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

Etapa 2: instalar pigmentos para Python 3:

sudo pip3 install pygments

Etapa 3: Baixe e adicione a extensão codehighlighter.oxt ao Libre Office

2. como usar?

  • Abra o LibreOffice Writer / Calc / Impress.
  • Insira uma caixa de texto ( Inserir -> Caixa de texto ).
  • Copie e cole qualquer trecho de código nessa caixa de texto.
  • Selecione a caixa de texto.
  • Destaque por Ferramentas -> Código de destaque -> <Nome do idioma>

insira a descrição da imagem aqui

Você pode atribuir atalhos de teclado para idiomas usados ​​com freqüência. Para ver como atribuir um atalho de teclado, visite a página do Git Hub: libreoffice-code-highlighter


Deixo aqui minha resposta original, pois ainda é válida para LO <= 5.

Eu tinha o mesmo requisito e nenhuma dessas soluções funcionou para mim no LibreOffice 5, exceto o 'Code Colorizer Formatter'. Mas o Code Colorizer Formatter funcionou apenas no Writer (eu também precisava do Impress). Mais tarde, encontrei outra solução usando a macro Python, testada no LibreOffice 5.

Instalação

Etapa 1: Instale o libreoffice-script-provider-python:

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

Etapa 2: instalar pigmentos para Python 3:

sudo pip3 install pygments

Etapa 3: Faça o download do Highlight.py

Etapa 4: Copie o Highlight.py para / usr / lib / libreoffice / share / Scripts / python /

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

Etapa 5: defina a permissão Somente leitura para o script.

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

Etapa 6: Abra o LibreOffice Writer e vá em Ferramentas -> Personalizar -> Teclado

  • Selecione o botão de opção do LibreOffice (disponível no canto superior esquerdo)
  • Selecione qualquer atalho desejado
  • Selecione share / Highlight / Highlight_source_code na categoria Functions
  • Clique no botão Modificar para definir o atalho

Uso

LibreOffice Impress

  • Abra o LibreOffice Impress.
  • Insira uma caixa de texto (Inserir -> Caixa de texto).
  • Copie e cole qualquer trecho de código nessa caixa de texto.
  • Crie um novo estilo (clique com o botão direito do mouse em um estilo existente -> Novo ...)
  • Nomeie o estilo como code-<language>
  • Aplique o estilo à caixa de texto do trecho de código.
  • Selecione a caixa de texto.
  • Use as teclas de atalho para executar a macro.

Gravador do LibreOffice / Calc

  • Abra o LibreOffice Writer / Calc.
  • Insira uma caixa de texto (Inserir -> Caixa de texto).
  • Copie e cole qualquer trecho de código nessa caixa de texto.
  • Clique com o botão direito na caixa de texto e selecione 'Descrição'.
  • Adicione uma descrição no seguinte formato: code-<language>
  • Selecione a caixa de texto
  • Use as teclas de atalho para executar a macro.

ATUALIZAÇÃO 1:

Eu adicionei suporte de estilo personalizado a esta extensão. Use code-<language>para o estilo padrão e code-<language>-<style>para o estilo personalizado. Os estilos disponíveis estão listados na minha página do Git Hub.

Por exemplo, Code-Java-Emacsirá colorir o código Java usando o estilo Emacs.


Isso funciona muito bem, obrigado! Como posso alterar o tema de pigmentos?
greschd

Por favor, verifique o post atualizado. Atualizei meu script para oferecer suporte a estilos personalizados. Você precisa atualizar o script Highlight.py para usar esse novo recurso.
Gobinath

Bom obrigado. Uma coisa ainda me incomoda: quando acabei de salvar o arquivo e, em seguida, tente executar a macro, ela redefine o texto para uma versão anterior. Você sabe por que isso é e se poderia ser corrigido facilmente?
Grschd #

Eu não enfrentei esse problema. Você poderia me informar as etapas exatas para reproduzir este problema?
Gobinath

(no Impress): edito algum código em uma caixa de texto que já havia formatado anteriormente, salve o documento (Ctrl + S), selecione a caixa de texto, tente realçar (Ctrl + Shift + H) e redefina parte do texto Eu escrevi
greschd

4

COOder

O COOder parece abandonado e não pode ser instalado no LibreOffice 4.2.8.2.

Code Colorizer Formatter

O Code Colorizer Formatter instala e funciona corretamente no LibreOffice. O Code Colorizer Formatter também adicionou suporte ao PHP, mas o suporte a HTML está completamente ausente e o JavaScript não funcionou quando o testei. As instruções de como fazê-lo funcionar no site do Code Colorizer Formatter não funcionaram para mim, no entanto, consegui que o Code Colorizer Formatter funcionasse da maneira mais difícil no LibreOffice, e aqui estão minhas instruções:

  1. Baixar Código Colorizer Formatter da página do projeto Código Colorizer Formatter e instalá-lo no BrOffice Writer como qualquer outra extensão LibreOffice.

  2. Abra seu arquivo de código no LibreOffice Writer. O Code Colorizer Formatter suporta Bash, Basic, C ++, Java, Perl, PHP, Python, R, SQL, XML, C #, Assembler 8085 e Assembler x86.

  3. Selecione o código a ser colorido.

  4. Selecione Ferramentas -> Macros -> Organizar macros -> LibreOffice Basic .

  5. Uma nova janela de macros do LibreOffice Basic será aberta. Sob o título Macro , selecione Minhas macros -> MacroFormatterADP -> uma linguagem de programação suportada. Na captura de tela abaixo, Java está selecionado.

  6. Sob o título Macros existentes em ... , selecione HighlightSelLanguage em que Language em HighlightSelLanguage é o mesmo que a linguagem de programação selecionada na etapa cinco. Na captura de tela abaixo, HighlightSelJava está selecionado.

  7. Clique no botão Executar para colorir o código selecionado.

insira a descrição da imagem aqui


Parece abandonado, indo para a seção de extensões do LibreOffice diz que não teve uma atualização em mais de um ano
Purefan

A quantidade de trabalho para usar o CCF não vale o resultado, IMHO. Eu pensei que a página tohtml fez um trabalho melhor com os resultados (por exemplo, pontos de cores, parênteses, etc.). No entanto, se alguém quiser usar esse "caminho mais fácil" ™, poderá acessar Ferramentas >> Personalizar ... >> Menus de contexto (guia) >> Menu (lista suspensa) >> Texto >> Adicionar ... ( botão) >> Macros do LibreOffice >> Minhas macros >> MacroFormatterADP >> (escolher idioma) >> HighlightSel (idioma) >> Fechar . Depois disso, simplesmente realce o texto, clique com o botão direito do mouse e encontre a nova opção no menu de contexto para formatar o texto selecionado; entrada pode ser renomeada.
Codigo_de_dredd

1
@karel Estou usando a versão 5.2.2.2no Kubuntu 16.10. Fiz isso alguns momentos antes do meu comentário original.
code_dredd

@ray Obrigado por sua sugestão. Vou instalar o Kubuntu no VirtualBox e experimentá-lo.
Karel

@karel A versão 5.2.2.2no Windows não funciona da mesma forma? Eu acho que apenas atualizar sua versão deve funcionar sem ter que passar por uma instalação completa do sistema operacional.
code_dredd

1

Eu tenho que selecionar a linguagem de programação cada vez que eu destacar, que será cerca de 100 vezes em um relatório, isso é demais

Na verdade, há uma maneira de vincular cores em um determinado idioma a uma tecla de atalho. Faça o seguinte sub e vincule-o a uma tecla de acesso:

Vá para Ferramentas → Macros → Organizar macros → LibreOffice Basic. Selecione Module1 e pressione Edit:

insira a descrição da imagem aqui

Em seguida, copie e cole este código:

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

Finalmente, vincule isso a uma tecla de acesso:

insira a descrição da imagem aqui


0

Um que eu conheço, mas parece abandonado, é o Code Colorizer Formatter .

Não sei se ainda funciona no OA 4, mas pode valer a pena tentar (ou resgatar e atualizar!).


1
O Code Colorizer Formatter foi atualizado em 1 de março de 2015 com suporte até o LibreOffice 4.4 para muitas linguagens de programação, incluindo PHP. Testei o Code Colorizer Formatter no LibreOffice 4.2. As instruções no site oficial do Code Colorizer Formatter não funcionaram para mim; por isso, coloquei minhas próprias instruções para usar o Code Colorizer Formatter em minha resposta.
224

0

Eu cansei de formatar meu código em uma página online e queria que meu código fosse estilizado no LibreOffice ou no OpenOffice writer.

Descobri que a extensão "cooder" roda corretamente no meu LibreOffice 5. *, mesmo que a instalação parecesse falhar (o My LibreOffice 5. * foi suspenso durante a instalação).

No Extension-Manager, você pode ativar o Cooder, reiniciar o LibreOffice / NeoOffice / OpenOffice e você verá um novo símbolo que pode ser usado para estilizar seu código-fonte no LibreOffice.

Você pode fazer o download da extensão em: http://extensions.libreoffice.org/extension-center/coooder

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.