✨ feat(vscode): 只有从「未提交的更改」点开的预览才对比上一次提交

This commit is contained in:
cruldra committed 2026-10-12 15:52:35 +11:00
1 parent 4ec2b9d5d6
commit 3c7513b7cd
18 files changed
+366 -143

No files matched your search

+7 -2
View File
@@ -72,7 +72,7 @@ export function App(): ReactElement | null {
const [keep, setKeep] = useState<ReadonlySet<string>>(NONE)
/** 页面上这个文档版本的中文名:文档带来的,扩展端查到了再换 */
const [names, setNames] = useState<VersionNames | undefined>()
/** 这份文件相比对比基准改了什么:审查工作副本里的、工作区仓库里有改动的文件扩展端算好了补来,不比时是 null */
/** 这份文件相比对比基准改了什么:审查工作副本里的、从「未提交的更改」点开的有改动的文件扩展端算好了补来,不比时是 null */
const [diff, setDiff] = useState<DocumentDiff | null>(null)
/** 收到消息时读眼下哪些块在编辑(消息回调只在挂载时注册一次) */
const editing = useRef(view.editing)
@@ -177,11 +177,16 @@ export function App(): ReactElement | null {
case 'diff':
setDiff(msg.diff)
return
case 'openedFrom':
viewState.update({ openedFrom: msg.from })
return
case 'focusPathAsk':
setPathFocus(n => n + 1)
}
})
postMessage({ type: 'ready' })
// 重启 VS Code 后恢复的标签页,扩展端不知道它是从哪儿打开的,按页面记着的
const { openedFrom } = viewState.get()
postMessage({ type: 'ready', ...(openedFrom && { openedFrom }) })
return off
}, [])