Skip to content

大纲视图

⚠️ 免责声明:本文档由 GLM4.7 自动生成,内容可能存在错误或不完整之处。请以人工书写的官方文档为准


大纲视图为每个章节和卷提供独立的附加编辑文档,用于编写剧情大纲、人物设定、情节规划等内容。

功能概述

类型用途文件命名格式
目录大纲为卷/文件夹编写大纲,规划该卷的整体剧情结构{目录名}_dir_outline.md
文件大纲为章节编写大纲,设定本章的剧情要点、出场人物等{文件名}_outline.md

大纲是可编辑的 Markdown 文档,不是自动生成的导航工具。你可以在其中自由编写任何内容。

打开大纲

打开双大纲(推荐)

使用命令 Andrea Novel Helper: 打开双大纲,会在编辑器第二列上下分屏同时显示:

  • 上方:当前目录的大纲(用于规划本卷内容)
  • 下方:当前文件的大纲(用于规划本章内容)

打开指定大纲

使用命令 Andrea Novel Helper: 打开大纲选择器

选项说明
打开当前文件大纲编辑当前章节的大纲
打开当前目录大纲编辑当前卷的大纲
打开指定大纲...浏览并选择任意章节或卷的大纲

快速重定向

在大纲视图中,使用命令 Andrea Novel Helper: 重定向大纲到此处 可快速切换:

  • 打开当前文件的大纲
  • 打开当前目录的大纲
  • 浏览打开指定大纲

使用场景

卷大纲(目录大纲)

为每一卷创建剧情规划,例如:

markdown
# 首部

> 目录:第一卷

## 剧情概述
主角从小镇出发,踏上冒险旅程...

## 章节安排
- 第一章:介绍主角背景,引发冒险动机
- 第二章:遇到第一位同伴,建立队伍
- 第三章:初次遭遇敌人,展现战斗能力
...

## 出场人物
- 主角:性格、背景设定
- 重要配角:角色定位、发展线

章节大纲(文件大纲)

为每一章规划具体内容,例如:

markdown
# 首部

> 文件:第一章.md

## 本章要点
1. 介绍主角生活的环境和日常
2. 通过突发事件激发冒险动机
3. 铺垫后续剧情的关键伏笔

## 剧情流向
- 开头:主角在小镇的平静生活
- 发展:神秘人到来带来消息
- 高潮:决定踏上旅程
- 结尾:告别家乡,踏上旅途

## 出场人物
- 主角
- 神秘信使
- 村民(背景)

## 关键场景
- 1. 清晨的训练场景
- 2. 广场的偶遇
- 3. 夜晚的抉择

## 注意事项
- 突出主角的内心挣扎
- 伏笔要埋得自然

虚拟文件系统

大纲使用虚拟文件系统(VFS),URI scheme 为 andrea-outline://

URI 格式

根据 VS Code 界面语言:

语言目录大纲 URI文件大纲 URI
中文andrea-outline://outline/目录大纲.mdandrea-outline://outline/文件大纲.md
英文andrea-outline://outline/outline_dir.mdandrea-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

初始化模板

创建新大纲文件时,自动生成初始化模板:

markdown
# 📁目录大纲
> 目录:第一卷

markdown
# 📄文件大纲
> 文件:第一章.md

你可以在此模板基础上添加自己的大纲内容。

自动刷新

大纲会在以下情况自动刷新(切换到对应文件/目录的大纲):

  1. 编辑器切换 - 从一个文件切换到另一个文件时
  2. 文档保存 - 保存当前编辑的文件时
  3. 轮询检查 - 每秒检查活动文件是否变化

刷新操作会读取磁盘上的大纲文件内容并更新到虚拟文件系统中。

内容文件定义

只有"内容文件"才会触发大纲刷新:

  • URI scheme 为 file://
  • 语言 ID 为 markdownplaintext
  • 文件路径不以 _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)
  • 别名映射:提供统一的别名访问入口
  • 自动同步:编辑时自动写回物理文件
  • 跟随切换:根据当前编辑文件自动切换大纲

工作流程

  1. 打开大纲 → 读取物理文件 → 加载到内存
  2. 编辑大纲 → 更新内存内容 → 同步写回物理文件
  3. 切换文件 → 读取新文件的大纲 → 更新内存缓存

使用技巧

双屏写作

  1. 左侧编辑正文
  2. 右侧上下分屏,上方显示卷大纲,下方显示章节大纲
  3. 写作时随时查看和修改大纲

大纲同步

  • 大纲文件存储在项目目录中,可以通过 Git 追踪变更
  • 协作写作时,团队成员可以共享和讨论大纲内容
  • 使用 .gitignore 可以排除特定大纲文件(如果需要)

模板定制

创建大纲后,可以编辑初始化模板,建立自己的大纲格式:

markdown
# 首部

> 文件:章节名.md

## 剧情梗概

## 关键事件

## 出场人物

## 重要伏笔

---

常见问题

大纲修改后没有保存?

大纲内容会自动同步到物理文件。如果担心丢失,可以手动保存大纲文件。

如何查看大纲文件的物理位置?

大纲文件存储在 {项目根目录}/novel-helper/outline/ 下,结构与源文件对应。

大纲文件会提交到 Git 吗?

会的。如果不想提交某些大纲,可以在 .gitignore 中添加规则。

如何删除大纲文件?

直接删除 novel-helper/outline/ 目录下对应的文件即可。

可以同时打开多个大纲吗?

可以。使用"打开指定大纲"功能,可以选择不同的章节或卷的大纲分别打开。

相关功能