大纲视图
⚠️ 免责声明:本文档由 GLM4.7 自动生成,内容可能存在错误或不完整之处。请以人工书写的官方文档为准。
大纲视图为每个章节和卷提供独立的附加编辑文档,用于编写剧情大纲、人物设定、情节规划等内容。
功能概述
| 类型 | 用途 | 文件命名格式 |
|---|---|---|
| 目录大纲 | 为卷/文件夹编写大纲,规划该卷的整体剧情结构 | {目录名}_dir_outline.md |
| 文件大纲 | 为章节编写大纲,设定本章的剧情要点、出场人物等 | {文件名}_outline.md |
大纲是可编辑的 Markdown 文档,不是自动生成的导航工具。你可以在其中自由编写任何内容。
打开大纲
打开双大纲(推荐)
使用命令 Andrea Novel Helper: 打开双大纲,会在编辑器第二列上下分屏同时显示:
- 上方:当前目录的大纲(用于规划本卷内容)
- 下方:当前文件的大纲(用于规划本章内容)
打开指定大纲
使用命令 Andrea Novel Helper: 打开大纲选择器:
| 选项 | 说明 |
|---|---|
| 打开当前文件大纲 | 编辑当前章节的大纲 |
| 打开当前目录大纲 | 编辑当前卷的大纲 |
| 打开指定大纲... | 浏览并选择任意章节或卷的大纲 |
快速重定向
在大纲视图中,使用命令 Andrea Novel Helper: 重定向大纲到此处 可快速切换:
- 打开当前文件的大纲
- 打开当前目录的大纲
- 浏览打开指定大纲
使用场景
卷大纲(目录大纲)
为每一卷创建剧情规划,例如:
# 首部
> 目录:第一卷
## 剧情概述
主角从小镇出发,踏上冒险旅程...
## 章节安排
- 第一章:介绍主角背景,引发冒险动机
- 第二章:遇到第一位同伴,建立队伍
- 第三章:初次遭遇敌人,展现战斗能力
...
## 出场人物
- 主角:性格、背景设定
- 重要配角:角色定位、发展线章节大纲(文件大纲)
为每一章规划具体内容,例如:
# 首部
> 文件:第一章.md
## 本章要点
1. 介绍主角生活的环境和日常
2. 通过突发事件激发冒险动机
3. 铺垫后续剧情的关键伏笔
## 剧情流向
- 开头:主角在小镇的平静生活
- 发展:神秘人到来带来消息
- 高潮:决定踏上旅程
- 结尾:告别家乡,踏上旅途
## 出场人物
- 主角
- 神秘信使
- 村民(背景)
## 关键场景
- 1. 清晨的训练场景
- 2. 广场的偶遇
- 3. 夜晚的抉择
## 注意事项
- 突出主角的内心挣扎
- 伏笔要埋得自然虚拟文件系统
大纲使用虚拟文件系统(VFS),URI scheme 为 andrea-outline://。
URI 格式
根据 VS Code 界面语言:
| 语言 | 目录大纲 URI | 文件大纲 URI |
|---|---|---|
| 中文 | andrea-outline://outline/目录大纲.md | andrea-outline://outline/文件大纲.md |
| 英文 | andrea-outline://outline/outline_dir.md | andrea-outline://outline/outline_file.md |
别名机制
/outline_dir//目录大纲.md→ 当前目录大纲/outline_file//文件大纲.md→ 当前文件大纲/direct/{encoded_path}→ 直接访问指定大纲文件
自动跟随
虚拟文件系统会自动跟随当前编辑的文件/目录:
- 编辑
第一卷/第一章.md时 - 目录大纲自动切换到
第一卷/第一卷_dir_outline.md - 文件大纲自动切换到
第一卷/第一章_outline.md
物理存储
存储位置
大纲文件默认存储在 novel-helper/outline/ 目录,结构与源文件对应。
workspace/
├── 第一卷/
│ ├── 第一章.md
│ └── 第二章.md
└── 第二卷/
└── 第三章.md
novel-helper/outline/
├── 第一卷/
│ ├── 第一卷_dir_outline.md # 第一卷的大纲
│ ├── 第一章_outline.md # 第一章的大纲
│ └── 第二章_outline.md # 第二章的大纲
└── 第二卷/
├── 第二卷_dir_outline.md
└── 第三章_outline.md初始化模板
创建新大纲文件时,自动生成初始化模板:
# 📁目录大纲
> 目录:第一卷或
# 📄文件大纲
> 文件:第一章.md你可以在此模板基础上添加自己的大纲内容。
自动刷新
大纲会在以下情况自动刷新(切换到对应文件/目录的大纲):
- 编辑器切换 - 从一个文件切换到另一个文件时
- 文档保存 - 保存当前编辑的文件时
- 轮询检查 - 每秒检查活动文件是否变化
刷新操作会读取磁盘上的大纲文件内容并更新到虚拟文件系统中。
内容文件定义
只有"内容文件"才会触发大纲刷新:
- URI scheme 为
file:// - 语言 ID 为
markdown或plaintext - 文件路径不以
_outline.md结尾
懒加载模式
工作原理
懒加载模式(默认启用)下,大纲只在至少有一个大纲编辑器可见时才从磁盘读取和更新。
这样可以避免在后台无谓地读取磁盘文件,节省系统资源。
配置选项
在 VS Code 设置中搜索 AndreaNovelHelper.outline.lazyMode:
| 设置值 | 效果 |
|---|---|
true(默认) | 仅在大纲可见时更新 |
false | 始终自动更新 |
使用建议
- 大型项目 - 建议启用懒加载,获得更好性能
- 小型项目 - 可禁用懒加载,大纲切换更即时
配置选项
在 VS Code 设置中搜索 AndreaNovelHelper.outline:
| 配置项 | 说明 | 默认值 |
|---|---|---|
outlinePath | 大纲文件存储路径(相对于项目根目录) | novel-helper/outline |
lazyMode | 懒加载模式开关 | true |
手动刷新命令
| 命令 | 说明 |
|---|---|
Andrea Novel Helper: 刷新目录大纲 | 重新读取当前目录大纲文件 |
Andrea Novel Helper: 刷新文件大纲 | 重新读取当前文件大纲文件 |
技术实现
文件系统提供器
大纲使用 MemoryOutlineFSProvider 作为虚拟文件系统提供器:
- 内存缓存:将大纲文件内容缓存到内存中(使用 memfs)
- 别名映射:提供统一的别名访问入口
- 自动同步:编辑时自动写回物理文件
- 跟随切换:根据当前编辑文件自动切换大纲
工作流程
- 打开大纲 → 读取物理文件 → 加载到内存
- 编辑大纲 → 更新内存内容 → 同步写回物理文件
- 切换文件 → 读取新文件的大纲 → 更新内存缓存
使用技巧
双屏写作
- 左侧编辑正文
- 右侧上下分屏,上方显示卷大纲,下方显示章节大纲
- 写作时随时查看和修改大纲
大纲同步
- 大纲文件存储在项目目录中,可以通过 Git 追踪变更
- 协作写作时,团队成员可以共享和讨论大纲内容
- 使用
.gitignore可以排除特定大纲文件(如果需要)
模板定制
创建大纲后,可以编辑初始化模板,建立自己的大纲格式:
# 首部
> 文件:章节名.md
## 剧情梗概
## 关键事件
## 出场人物
## 重要伏笔
---常见问题
大纲修改后没有保存?
大纲内容会自动同步到物理文件。如果担心丢失,可以手动保存大纲文件。
如何查看大纲文件的物理位置?
大纲文件存储在 {项目根目录}/novel-helper/outline/ 下,结构与源文件对应。
大纲文件会提交到 Git 吗?
会的。如果不想提交某些大纲,可以在 .gitignore 中添加规则。
如何删除大纲文件?
直接删除 novel-helper/outline/ 目录下对应的文件即可。
可以同时打开多个大纲吗?
可以。使用"打开指定大纲"功能,可以选择不同的章节或卷的大纲分别打开。