如何用SiYuan打造专业技术笔记:代码展示新体验
在技术学习和开发过程中,一份结构清晰、代码展示专业的笔记能显著提升工作效率。SiYuan作为一款注重隐私和开源的个人知识管理软件,凭借强大的代码高亮和多语言支持功能,为技术笔记提供了全新的展示体验。本文将带你探索如何充分利用SiYuan的代码块功能,让你的技术笔记更具专业性和可读性。
代码块功能的3大核心优势
💡 提升阅读体验
代码高亮功能让不同语法元素以鲜明色彩区分,复杂代码结构一目了然。支持200+编程语言的语法规则,从常见的JavaScript、Python到小众领域的专业语言,都能精准识别并高亮显示。
💡 优化工作流程
代码块与笔记内容无缝融合,无需切换应用即可完成代码编写、注释和说明。配合SiYuan的块级编辑特性,可实现代码与文字内容的灵活组合与重组。
💡 增强知识管理
代码块支持版本历史、引用关联和标签分类,便于构建个人代码知识库。通过双向链接功能,轻松建立不同笔记中的代码片段关联,形成完整的知识网络。
代码块的4个典型应用场景
学习笔记场景
记录编程语言学习过程中的语法示例和练习代码,通过语法高亮强化记忆点。例如在学习Go语言并发编程时,可即时插入代码块保存goroutine和channel的使用示例。
开发日志场景
跟踪项目开发进度,记录关键算法实现或问题解决方案。代码块支持行号显示和折叠功能,即使是数百行的复杂代码也能清晰展示。
技术文档场景
编写API文档或技术规范时,代码示例与文字说明紧密结合。支持一键复制功能,方便读者直接复用代码片段。
教学分享场景
准备技术分享材料时,通过代码块展示示例代码,配合笔记的排版功能,制作专业的技术教程。
3步实现专业代码块插入与配置
第一步:插入代码块
使用快捷键Ctrl+Shift+K(Windows/Linux)或Cmd+Shift+K(Mac)打开代码块插入面板,选择合适的编程语言后即可开始输入代码。
第二步:调整基础设置
代码块工具栏提供常用功能:
- 语言选择器:随时切换代码语言
- 复制按钮:一键复制代码内容
- 更多选项:控制行号显示、代码换行等
第三步:个性化配置
通过编辑器设置文件app/src/config/editor.ts调整高级选项:
| 配置项 | 默认值 | 推荐设置 | 适用场景 |
|---|---|---|---|
| 代码换行 | 开启 | 开启 | 文档阅读 |
| 语法高亮行号 | 开启 | 开启 | 教学分享 |
| 代码字体连字 | 开启 | 关闭 | 代码评审 |
| 代码缩进空格数 | 4个空格 | 2个空格 | 前端开发 |
提升效率的5个进阶技巧
💡 快速导入外部代码
使用/importcode命令直接导入本地代码文件,自动生成带语法高亮的代码块。
💡 代码块折叠功能
双击代码块边缘可折叠/展开代码内容,适合在长文档中管理大段代码。
💡 自定义代码主题
通过修改app/src/util/assets.ts中的setCodeTheme函数,定制个人风格的代码高亮主题。
💡 复制带格式代码
使用"复制为HTML"功能,将高亮代码粘贴到其他支持HTML的应用中,保持一致的展示效果。
💡 代码块标签分类
为代码块添加标签(如#javascript #算法),便于通过SiYuan的搜索功能快速定位相关代码。
不同开发场景的最佳配置
前端开发场景
- 代码缩进:2个空格
- 字体连字:开启
- 主题选择:浅色主题
- 额外配置:启用ES6语法支持
后端开发场景
- 代码缩进:4个空格
- 字体连字:关闭
- 主题选择:深色主题
- 额外配置:显示行号,关闭自动换行
数据科学场景
- 代码缩进:4个空格
- 字体连字:关闭
- 主题选择:高对比度主题
- 额外配置:启用Matplotlib图表集成
常见问题解决
❓ 症状:某些编程语言没有高亮效果
原因:SiYuan默认加载常用语言包
解决方案:通过设置中的"下载额外语言支持"安装所需语言包,相关实现见app/src/protyle/wysiwyg/keydown.ts中的语言检测逻辑。
❓ 症状:代码块字体大小不合适
原因:默认字体大小不适应高分辨率屏幕
解决方案:添加自定义CSS:
.protyle-code {
font-size: 14px !important;
}
❓ 症状:无法复制代码块内容
原因:代码块处于编辑状态
解决方案:点击代码块外区域退出编辑模式,再使用复制功能
立即尝试
现在就用SiYuan的代码块功能提升你的技术笔记质量!通过以下资源深入学习:
- 官方指南:app/guide/20210808180117-czj9bvb
- 代码高亮实现:app/src/protyle/render/highlightRender.ts
- 编辑器配置:app/src/config/editor.ts
克隆仓库开始使用:git clone https://gitcode.com/GitHub_Trending/si/siyuan
用SiYuan打造你的专业技术笔记,让代码展示既美观又高效!
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0444
源启盛夏_AtomGit暑期开发者成长计划「源启盛夏」暑期校园开发者成长计划旨在激活校园开源力量,通过积分激励、认证扶持、资源倾斜等形式,引导高校组织和开发者完成「入驻 — 建项目 — 做贡献 — 获认证 — 得资源」的完整闭环。无论你是想带领社团入驻平台的组织者,还是希望用代码贡献证明自己的开发者,都能在这里找到属于你的成长路径。Markdown00
jiuwenswarmJiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0760
Hy3Hy3 是由腾讯混元团队研发的快慢思考融合的混合专家模型,总参数量 295B,激活参数 21B,MTP 层参数 3.8B。4 月底发布 Hy3 Preview 后,我们在 50 多个业务中获得了广泛的反馈,修复了各种体验问题,进一步提升了后训练的质量和规模。今天,我们发布 Hy3。它展现出显著强于同尺寸并比肩旗舰(参数规模往往是 Hy3 的 2~5 倍)开源模型的智能水平,显著提升了在各类产品和生产力任务中的实用价值。Python00
AscendNPU-IRAscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优C++0310
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00
