🐛 fix(vscode): 代码阅读预览记住浏览位置,编辑 / 预览互切位置对齐

This commit is contained in:
cruldra committed 2026-09-25 03:21:14 +08:00
1 parent 6897954644
commit 37306bd23e
13 files changed
+409 -37

No files matched your search

+4 -14
View File
@@ -1,22 +1,12 @@
/** 代码阅读预览与扩展之间的收发,以及按块 id 记的视图状态。 */
/** 代码阅读预览与扩展之间的收发,以及 webview 状态。 */
import type { ExtensionToWebview, WebviewToExtension } from './types'
import type { ViewState } from './viewState'
import { createVsCodeBridge } from '@/lib/vscodeBridge'
/** 哪些块停在「编辑」、哪些块折叠了。块 id 是它在树里的位置,文档刷新后照旧对得上。 */
export interface ViewState {
editing: string[]
collapsed: string[]
}
import { createViewStateStore } from './viewState'
const bridge = createVsCodeBridge<ExtensionToWebview, WebviewToExtension, ViewState>()
export const { postMessage, onMessage } = bridge
export function loadViewState(): ViewState {
return bridge.getState() ?? { editing: [], collapsed: [] }
}
export function saveViewState(state: ViewState): void {
bridge.setState(state)
}
export const viewState = createViewStateStore(bridge)