✨ 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

+10 -1
View File
@@ -4,9 +4,11 @@ import type {
TreeDataProvider,
TreeItem,
} from 'vscode'
import type { CodeReaderApi } from './codeReader/contract'
import { commands, EventEmitter, window } from 'vscode'
import { initIdentity } from './auth/identity'
import { setProfilesDirOverride } from './cc/profiles'
import { registerCodeReader } from './codeReader'
import { logger } from './logging/logger'
import { KanbanWebviewPanel } from './panel/KanbanPanel'
import { getSettings, migratePromptTemplates, persistSeededProfiles } from './settings/store'
@@ -30,7 +32,12 @@ class EmptyTreeProvider implements TreeDataProvider<never> {
}
}
export function activate(context: ExtensionContext): void {
/** 对外 API:其他扩展声明 extensionDependencies 后从 exports.codeReader 注册语言插件 / 翻译插件。 */
export interface SuperpowersApi {
codeReader: CodeReaderApi
}
export function activate(context: ExtensionContext): SuperpowersApi {
// Profiles 目录 override 在 panel 未打开时也要生效(list / launch 共用)。
setProfilesDirOverride(getSettings(context).profilesDirectory || undefined)
// 存量提示词先迁到 Handlebars,再让 persistSeededProfiles 在迁移结果上补 seed。
@@ -97,6 +104,8 @@ export function activate(context: ExtensionContext): void {
KanbanWebviewPanel.requestEditAuth()
}),
)
return { codeReader: registerCodeReader(context) }
}
export function deactivate(): void {}