Libre Office writer的代码突出显示扩展名


21

我最近为学校编写了一份报告,其中包含很多代码。我发现扭曲的唯一方法是用STRONG突出显示它, 这确实很丑陋。那么,有没有针对自由办公室作家的代码突出显示扩展名?

像下面这样:

<insert code here>

也可以使用不同颜色的语法突出显示。
我从不进入整个程序,因此我需要能够弄清我认为是代码的东西。

像这个: echo "Hello World!";

冷却器

我本来就不喜欢这个突出显示,因为它格式化了文本以及随后的所有文本。我要标记一些文本,然后单击一个突出显示,仅此而已。
该代码太复杂且难以使用,我每次突出显示时都必须选择编程语言,而在一份报告中,这大约是100次,这实在太多了。
我想要一些类似于他们在网站上使用的东西。如果愿意的话,简单的代码突出显示。

代码着色器格式化程序

它为我安装了,但是我无法使它正常工作,并且它不具有我需要的PHP或HTML支持。


添加为答案,很高兴它有所帮助
Drake Clarris 2013年

1
我建议使用LaTeX(请参阅示例)。在我使用乳胶之前,我使用KDE Kate将源代码保存为HTML,并从浏览器中复制了呈现的代码以打开办公室
Martin Thoma,2013年

@Moose为什么将其添加为评论而不是答案?也解释所有步骤,谢谢。
Alvar 2013年

Answers:


15

它不是插件,但是我将代码放入了一个为您的语法着色的网站。我使用的网站是tohtml。我不使用html生成的代码,但是,我只是从浏览器复制彩色和突出显示的代码,并将其粘贴到我的文档和所见即所得中。


从Firefox到Libroffice的复制对我来说不起作用,尽管将其保存为HTML并在Libreoffice中打开文件然后进行复制确实有效
Wilf

从Chrome到libreoffice,copy + paste在ubuntu上工作!谢谢!
rrosa 2015年

11

更新2:LibreOffice扩展

我已经将以前的宏脚本作为扩展发布:LibreOffice Extensions存储中提供了Code Highlighter

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仍然有效。

我有相同的要求,除了“ Code Colorizer Formatter”之外,这些解决方案都没有在LibreOffice 5中对我有用。但是Code Colorizer Formatter仅在Writer中可用(Impress也需要)。后来我找到了另一种使用Python宏的解决方案,该解决方案已在LibreOffice 5中进行了测试。

安装

步骤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印象

  • 打开LibreOffice Impress。
  • 插入一个文本框(插入->文本框)。
  • 复制任何代码段并将其粘贴到该文本框中。
  • 创建一个新样式(右键单击现有样式->新建...)
  • 将样式命名为 code-<language>
  • 将样式应用于代码段文本框。
  • 选择文本框。
  • 使用快捷键执行宏。

LibreOffice Writer / Calc

  • 打开LibreOffice Writer / Calc。
  • 插入一个文本框(插入->文本框)。
  • 复制任何代码段并将其粘贴到该文本框中。
  • 右键单击文本框,然后选择“描述”。
  • 添加以下格式的描述: code-<language>
  • 选择文本框
  • 使用快捷键执行宏。

更新1:

我已为此扩展添加了自定义样式支持。使用code-<language>默认的风格和code-<language>-<style>自定义样式。我的Git Hub页面中列出了可用的样式。

例如,Code-Java-Emacs将使用Emacs样式为Java代码着色。


效果很好,谢谢!如何更改pygments主题?
greschd 2015年

请检查更新的帖子。我已经更新了脚本以支持自定义样式。您需要升级Highlight.py脚本才能使用此新功能。
Gobinath

很好,谢谢。一件事仍然困扰着我-当我只是保存文件然后尝试执行宏时,它将文本重置为某些早期版本。您知道为什么会这样吗,是否可以轻松解决?
greschd

我还没有遇到过这样的问题。您能否让我知道重现此问题的确切步骤?
Gobinath 2015年

(在Impress中):我在以前已经设置格式的文本框中编辑一些代码,保存文档(Ctrl + S),选择文本框,尝试突出显示(Ctrl + Shift + H),然后重置了一些文本我写过
greschd

4

库德

COOder似乎被放弃了,不能在LibreOffice 4.2.8.2中安装。

代码着色器格式化程序

Code Colorizer Formatter将在LibreOffice中安装并正常工作。Code Colorizer Formatter还添加了PHP支持,但是完全不支持HTML,并且在我测试时JavaScript无法正常工作。对于如何在Code Colorizer Formatter网站上运行它的说明对我不起作用,但是我已经使Code Colorizer Formatter很难在LibreOffice中工作,这是我的说明:

  1. Code Colorizer Formatter项目主页下载Code Colorizer Formatter,并像其他LibreOffice扩展程序一样将其安装在LibreOffice Writer中。

  2. 在LibreOffice Writer中打开您的代码文件。Code Colorizer Formatter支持Bash,Basic,C ++,Java,Perl,PHP,Python,R,SQL,XML,C#,8085汇编程序和x86汇编程序。

  3. 选择要着色的代码。

  4. 选择工具 -> -> 组织宏 -> LibreOffice Basic

  5. 一个新的LibreOffice Basic Macros窗口将打开。在“ 宏”标题下,选择“ 我的宏” ->“ MacroFormatterADP” ->“受支持的编程语言”。在下面的屏幕截图中,选择了Java。

  6. ...下的现有宏标题下,选择HighlightSelLanguage,其中HighlightSelLanguage中的语言与在第五步中选择的编程语言相同。在下面的屏幕快照中,选中了HighlightSelJava。

  7. 单击运行按钮以着色所选代码。

在此处输入图片说明


似乎被遗弃了,转到LibreOffice的扩展部分,说它已有一年没有更新了
Purefan

恕我直言,使用CCF的工作量不值得结果。我认为tohtml页在结果方面做得更好(例如,颜色点,括号等)。但是,如果有人想使用此“简单方法”™,则可以转到工具>>自定义... >>上下文菜单(Tab)>>菜单(下拉列表)>>文本>>添加...(按钮)>> LibreOffice宏>>我的宏>> MacroFormatterADP >>(选择语言)>> HighlightSel(语言)>>关闭。之后,只需突出显示文本,右键单击并在上下文菜单中找到新选项即可格式化选定的文本;条目可以重命名。
code_dredd

1
@karel我正在5.2.2.2Kubuntu 16.10中使用版本。我在最初发表评论之前做了一下。
code_dredd

@ray谢谢您的建议。我将在VirtualBox中安装Kubuntu并尝试。
karel

@karel 5.2.2.2Windows中的版本不一样吗?我认为只需升级您的版本即可,而无需进行全面的OS安装。
code_dredd

1

每次突出显示时,我都必须选择编程语言,这在一份报告中大约是100次,这太多了

实际上,有一种将给定语言的颜色绑定到热键的方法。创建以下子项并将其绑定到热键:

转到工具→宏→组织宏→LibreOffice Basic。选择Module1并按Edit:

在此处输入图片说明

然后复制粘贴此代码:

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网站上的说明对我不起作用,因此我在回答中放入了自己的使用Code Colorizer Formatter的说明。
卡雷尔,2015年

0

我厌倦了在在线页面上设置代码格式,并希望在LibreOffice或OpenOffice writer中设置代码风格。

我发现扩展“ cooder”可以在我的LibreOffice 5. *上正常运行,即使安装似乎失败了(我的LibreOffice 5. *在安装过程中被挂起)。

在扩展管理器中,您可以激活Cooder,重新启动LibreOffice / NeoOffice / OpenOffice,然后应该会看到一个新的Symbol,可用于在LibreOffice中设置源代码样式。

您可以在以下位置下载扩展程序:http : //extensions.libreoffice.org/extension-center/coooder

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.