✨ feat(vscode): 代码阅读侧栏可以按审查工单只看 PR 改过的文件:标题栏「选工单」列出看板「审查」列,选中后树里只剩改过的文件(M / A / D 着色),点开的是本机工作副本里 PR 最新的代码,没有就拉 PR 分支建一个,「显示全部」退出

This commit is contained in:
cruldra committed 2026-09-27 17:36:02 +08:00
1 parent c009187f6c
commit 8e2cdfaf17
18 files changed
+1053 -40

No files matched your search

+30
View File
@@ -0,0 +1,30 @@
import type { ExtensionContext } from 'vscode'
import { workspace } from 'vscode'
import { getToken } from '../auth/secrets'
import { detectRepo } from '../git/remote'
/** 当前工作区(第一个工作区文件夹)对应的 Gitea 仓库和 token。 */
export interface RepoContext {
workspaceRoot: string
host: string
owner: string
repo: string
token: string
}
/**
* 解析当前工作区的 Gitea 仓库与 token。没打开工作区、origin 不是 Gitea 仓库、没配 token
* 任一情况返回 undefined,调用方据此走空态/错误分支。
*/
export async function resolveRepoContext(context: ExtensionContext): Promise<RepoContext | undefined> {
const workspaceRoot = workspace.workspaceFolders?.[0]?.uri.fsPath
if (!workspaceRoot)
return undefined
const remote = await detectRepo(workspaceRoot)
if (!remote)
return undefined
const token = await getToken(context, remote.host)
if (!token)
return undefined
return { workspaceRoot, host: remote.host, owner: remote.owner, repo: remote.repo, token }
}