✨ feat(vscode): 代码阅读入口、文件树与预览编辑器

This commit is contained in:
cruldra committed 2026-09-24 21:36:00 +08:00
1 parent 4d34b8c715
commit 2b823a32ca
24 files changed
+768 -72

No files matched your search

+1 -1
View File
@@ -30,7 +30,7 @@ import {
import { logger } from '../../logging/logger'
import { annotateMissingSessionIds, defaultCodexSessionsDir } from '../../sessions/sessionFiles'
import { getSettings } from '../../settings/store'
import { makeNonce } from '../KanbanPanel'
import { makeNonce } from '../../webview/html'
import { cleanupFeatureBranch } from './branchCleanup'
import {
canAcceptHandoff,
+1 -1
View File
@@ -36,9 +36,9 @@ import { mergeStateJsonComment } from '../../gitea/stateJson'
import { logger } from '../../logging/logger'
import { getEffectivePrDiffSummaryProfilePath, getSettings } from '../../settings/store'
import { webhookCoordinator } from '../../webhook/coordinator'
import { makeNonce } from '../../webview/html'
import { pickRandomIssueColor, themeColorIdToIconUri } from '../issueColor'
import { evaluateLockedReason } from '../issueLock'
import { makeNonce } from '../KanbanPanel'
import { cleanupFeatureBranch } from './branchCleanup'
import { clearSessionConfirmText, clearSessionDoneText, SESSION_KINDS } from './sessionKinds'
import * as sessions from './sessions'
+1 -1
View File
@@ -24,7 +24,7 @@ import { readStateJsonComment } from '../../gitea/stateJson'
import { readFileSummaries, readSummarySession, writeFileSummary, writeSummarySession } from '../../sessions/prFileSummaryStore'
import { readConfirmedSigs, writeConfirmedSigs } from '../../sessions/prReviewStore'
import { getEffectivePrDiffSummaryProfilePath } from '../../settings/store'
import { makeNonce } from '../KanbanPanel'
import { makeNonce } from '../../webview/html'
/**
* 解析当前工作区的 Gitea 仓库与 token。三者任一缺失返回 undefined,
+1 -1
View File
@@ -22,9 +22,9 @@ import { logger } from '../../logging/logger'
import { claudeSessionFileExists, codexSessionFileExists, defaultCodexSessionsDir } from '../../sessions/sessionFiles'
import { getSettings } from '../../settings/store'
import { webhookCoordinator } from '../../webhook/coordinator'
import { makeNonce } from '../../webview/html'
import { decideAutoReviewPath } from '../autoReviewDecision'
import { pickBrainstormContinuePath } from '../brainstormContinue'
import { makeNonce } from '../KanbanPanel'
import { cleanupFeatureBranch } from './branchCleanup'
import { planResumeCwd, resumeTerminalName } from './resumeTarget'
import { submitToSessionTerminal } from './terminals'
+1 -1
View File
@@ -15,8 +15,8 @@ import { logger } from '../../logging/logger'
import { readProfiles, writeProfiles } from '../../profiles/store'
import { getEffectiveCommitProfilePath, getEffectivePrDiffSummaryProfilePath, getSettings, saveSettings } from '../../settings/store'
import { webhookCoordinator } from '../../webhook/coordinator'
import { makeNonce } from '../../webview/html'
import { youtrackHost } from '../../youtrack/issueLoader'
import { makeNonce } from '../KanbanPanel'
export async function handleSettingsSave(panel: KanbanWebviewPanel, payload: {
host: string
+1 -1
View File
@@ -10,7 +10,7 @@ import { findEnvFiles, lockEnvFiles, unlockEnvFiles } from '../../files/envLock'
import { missingGitIdentityKeys, readGitIdentity } from '../../git/identity'
import { logger } from '../../logging/logger'
import { getEffectiveCommitProfilePath } from '../../settings/store'
import { makeNonce } from '../KanbanPanel'
import { makeNonce } from '../../webview/html'
import { dismiss, toast } from './handoffFlow'
/**
+1 -1
View File
@@ -13,7 +13,7 @@ import {
} from '../../git/worktreeHooks'
import { logger } from '../../logging/logger'
import { getSettings } from '../../settings/store'
import { makeNonce } from '../KanbanPanel'
import { makeNonce } from '../../webview/html'
import { cleanupFeatureBranch } from './branchCleanup'
/**
+1 -1
View File
@@ -14,11 +14,11 @@ import { ThemeIcon, window, workspace } from 'vscode'
import { getYouTrackToken } from '../../auth/secrets'
import { logger } from '../../logging/logger'
import { getSettings } from '../../settings/store'
import { makeNonce } from '../../webview/html'
import { applyCommand, listIssues, listProjects, resolvedStateCommand } from '../../youtrack/api'
import { readImportedIds, writeImportedIds } from '../../youtrack/importStore'
import { youtrackHost } from '../../youtrack/issueLoader'
import { mergeStateComment } from '../../youtrack/stateComment'
import { makeNonce } from '../KanbanPanel'
function toast(panel: KanbanWebviewPanel, level: 'info' | 'success' | 'error', message: string): void {
panel.postMessage({ type: 'toast/show', id: makeNonce(), level, message, dismissOnTimer: 6000 })