文本编辑器中的双链笔记:Foam for VS Code 使用体验分享( 四 )


"deion" , 对该代码片段的描述 。
个人的两个用例是为笔记创建元数据和在笔记中插入时间戳 , 仅供参考 。
创建笔记元数据
个人的笔记元数据中的属性一般包括:title , date , type 和 tags 。
"Metadata": { "scope": "markdown", "prefix": "/meta", "deion": "创建这条笔记的元数据", "body": [ "---", "title: $1", "date: $CURRENT_YEAR 年$CURRENT_MONTH_NAME $CURRENT_DATE 日", "type: ${2|生活,TODO,思考,知识|}", "tags: $3", "---" ] }
在 VS Code 的代码片段中 , 类似 $1 这样的格式化文本称为 tabstop 。 在键入 /meta 并在建议中选择上述代码片段后 , 光标会首先停留在 $1 处 , 我们可以在此处输入文本 , 键入完成后按 tab 会跳转到下一个 tabstop ${2|type1,type2,type3|} , 这是一个需要选择而非键入的格式 , 完成选择后再次按 tab跳转到 $3 处 , 在此可以输入这条笔记的标签 , 全部完成后按 tab 跳出代码片段 。
像 date 属性中的 $CURRENT_YEAR 和类似的格式化文本则是由 VS Code 预定义的变量 , 它的值和格式取决于系统的日期时间 , 因此在输入这条代码片段后 , 就会自动完成 date 属性 , 而不需要自行添加 。
插入时间戳
由于笔记系统经常需要更新 , 个人偏好在内容更新处添加一条时间戳作为记录 。
"Time Stamp": { "scope": "markdown", "prefix": "/stamp", "deion": "在此处插入一条时间戳", "body": [ "这条笔记${1|创建,更新|}于: $CURRENT_YEAR 年$CURRENT_MONTH_NAME $CURRENT_DATE 日 , $CURRENT_DAY_NAME , $CURRENT_HOUR: $CURRENT_MINUTE." ], }
在 $1 处可以选择是创建还是更新了这个条目 。
如果想要了解更多创建用户代码片段的方法 , 可以参考微软的官方文档 。
创建和使用模板
和 Roam Research 与 Obsidian 一样 , 在 Foam 中也可以创建和使用模板 。 在命令面板执行 Foam: Create New Note From template 命令即可从现有的模板创建笔记 。 Foam 的模板文件位于笔记库根目录的 .foam/templates 路径下 。 Foam 的模板同样支持 VS Code 代码片段中预定义的变量 。
以 Daily Note 为例 , 在模板文件夹路径下创建 daily-note.md 文件 , 便可以开始自定义这一模板 。 我的 Daily Note 模板定义如下:
文本编辑器中的双链笔记:Foam for VS Code 使用体验分享
文章图片

我的 Daily Note 模板
除此之外 , Daily Note 的一些属性也可以在项目的配置文件中修改 , 如 Daily Note 的存放位置和文件名格式:
"foam.openDailyNote.directory": "journal", // 默认存放在 journal 文件夹 "foam.openDailyNote.fileNameFormat": "'DailyNote'-yyyy-mm-dd" // Eg.: DailyNote-2022-01-13.md "foam.openDailyNote.onStartup": true // 启动项目时自动打开 Daily Note
也可以在 Foam 中定义其他模板 , 如 Todo List、Weekly Note 等1 , 都会极大地便利个人的日常学习和各项工作 。
使用 note-macros 扩展(不推荐)
除了使用 Foam 模板 , 官方也提供了从 note-macros 扩展快速创建新笔记的选择 。 note-macros 并不是配置 Foam 时就安装的扩展 , 因此需要自行安装 。 要创建由 note-macros 宏定义的笔记 , 只需在命令面板执行 Note Macros: Run A Macro 命令 , 然后选择自定义的宏即可 。 也可以为特定的宏绑定快捷键 , 像使用 Alt + D 创建 Daily Note 一样快速创建新笔记 。
要创建自定义的宏 , 需要在配置文件中添加相应的字段 。 官方提供了从 note-macros 创建 Weekly Note 的用例:
【文本编辑器中的双链笔记:Foam for VS Code 使用体验分享】"note-macros": { "Weekly": [ { "type": "note", "directory": "Weekly", "extension": ".md", "name": "weekly-note", "date": "yyyy-W" } ] }
不过需要注意的是 , 这种方式无法在创建笔记的同时创建笔记的元数据(note-macro 扩展的开发者虽然规划了这一功能 , 但实际上该扩展项目已经 17 个月没有更新了) , 需要自己定义相应的代码片段来实现快捷输入 , 而且无法自定义文件名的格式 。 总而言之 , 目前并不推荐使用这种方法来创建笔记模板 。

特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。