代码块功能允许在文本笔记中输入代码片段。
请注意,此功能适用于通常较小的代码片段。对于较大的文件(例如整个日志),请参阅代码笔记类型。
插入代码块
通过格式化工具栏,查找按钮
。
直接按下图标将插入一个代码块,其中包含最近选择的语言。如果这是第一次插入代码块,则默认情况下该语言将处于“自动检测”状态。
按图标旁边的箭头,这将显示一个包含可用语言的弹出窗口。
类型(如 Markdown)。
```
请注意,无法指定语言,因为它将默认为最后选择的语言。
退出代码块
要退出代码块并输入普通段落,请移动代码块末尾的光标并按 Enter 两次。
同样,要在注释块上方插入段落,请在代码块的开头移动光标并按 Enter 两次。
[! 注意] 如果您粘贴了具有更复杂 HTML 结构的代码块,则通过多次按下退出代码块可能不起作用。在这种情况下,最好的方法是完全删除代码块并使用 Ctrl + Shift + V (粘贴为纯文本)。
语法突出显示和配色方案
从 TriliumNext v0.90.12 开始,Trilium 将尝试为代码块提供语法高亮。请注意,语法高亮机制与代码笔记中的机制略有不同,因为涉及不同的技术。
互动:
当语言设置为自动检测(默认情况下)时,Trilium 将尝试识别与给定文本片段相对应的编程语言(或类似语言)并将其突出显示。如果这有问题,请考虑手动更改代码块的语言。
当语言设置为纯文本时,将不会突出显示语法。
请注意,在编辑文本笔记时,如果代码块太大(大约 500 行),则会自动禁用语法突出显示。此值目前不可配置。对于只读笔记,不应用此限制。
为了配置此新功能,在“选项”→“外观”中添加了一个部分来控制语法突出显示。在那里,可以从 Highlight.js 的内置主题选择中选择配色方案。
可以通过在“配色方案”选项中选择“无语法突出显示”来禁用所有音符的语法突出显示。
默认情况下禁用自动换行,但可以从同一部分进行配置。
[! 注意] 有关语法突出显示的上下文
为了实现语法突出显示,正在使用 Highlight.js 库。请注意,在代码块中支持语法突出显示不是我们正在使用的文本编辑器 CKEditor 支持的功能),而是利用突出显示 API(例如用于突出显示搜索结果)的黑客攻击。尽管如此,我们在开发该功能期间没有注意到任何重大问题,但请随时报告您可能遇到的任何问题。
实现语法突出显示本身的大部分工作已经由 antoniotejada 在 https://github.com/antoniotejada/Trilium-SyntaxHighlightWidget 年完成。在我们这边,我们添加了自定义功能,但也添加了附加功能。
从现有语法高亮插件迁移
如果你已经在使用语法高亮插件,例如我们所基于的Trilium-SyntaxHighlightWidget,那么在升级之前禁用该插件非常重要,以免它与我们的实现发生冲突。
如果您在迁移后遇到任何问题,请尝试在安全模式下运行 Trilium。
更改代码块的语言
只需单击代码块内的任意位置,然后再次按下格式化工具栏中的代码块按钮:
调整语言列表
代码块功能与代码笔记类型共享语言列表。
可以通过转到选项,然后转到代码笔记并在下拉部分中查找可用的 MIME 类型来调整支持的语言。只需选中任何项目即可将它们添加到列表中,或取消选中它们即可将它们从列表中删除。
请注意,语言列表不会立即刷新,您必须手动刷新应用程序。