v0.3.4: Bug修复+性能优化+文档大纲功能
🔴 Bug修复 (6): - Sidebar反斜杠正则修复 (Windows路径规范化) - FileWatcher文件删除后自动恢复监听 - SearchReplace replaceAll防过期匹配位置 - openFolderDialog null结果守卫 - 保存异常时空路径保护 - Markdown绝对路径图片拼接修复 🟡 性能优化: - Editor切换标签时内容比较,相同跳过replaceAll 🔵 代码质量: - 创建共享常量模块 src/shared/constants.ts,消除双副本 🎯 新增功能: - 文档大纲 (Table of Contents) — 侧边栏标题导航 🔧 换行符统一: CRLF → LF
This commit is contained in:
@@ -24,12 +24,22 @@ export class FileWatcher {
|
||||
})
|
||||
// L-02: 监听 error 事件,文件被删除时显式关闭并清理状态
|
||||
this.watcher.on('error', () => {
|
||||
if (this.watcher) {
|
||||
this.watcher.close()
|
||||
this.watcher = null
|
||||
this.stop()
|
||||
const originalPath = this.currentPath
|
||||
if (originalPath) {
|
||||
const pollInterval = setInterval(() => {
|
||||
try {
|
||||
if (fs.existsSync(originalPath)) {
|
||||
clearInterval(pollInterval)
|
||||
this.start(originalPath)
|
||||
}
|
||||
} catch {
|
||||
clearInterval(pollInterval)
|
||||
}
|
||||
}, 2000)
|
||||
// 最多轮询30秒
|
||||
setTimeout(() => clearInterval(pollInterval), 30000)
|
||||
}
|
||||
this.currentPath = null
|
||||
this.isSelfWriting = false
|
||||
})
|
||||
} catch {
|
||||
// silently ignore
|
||||
|
||||
Reference in New Issue
Block a user