chore: add compiled JavaScript output

- Add compiled extension.js and source maps
- Generated from TypeScript source

🤖 Generated with [Qoder](https://qoder.com)
This commit is contained in:
yuantao
2026-03-27 15:36:35 +08:00
parent a7dff850c7
commit 1d777402dc
4 changed files with 88 additions and 0 deletions

84
out/extension.js Normal file
View File

@@ -0,0 +1,84 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.deactivate = exports.activate = void 0;
const vscode = require("vscode");
function activate(context) {
console.log('Terminal Tab Extension is now active!');
// 注册打开终端标签页命令
const openTerminalTabCommand = vscode.commands.registerCommand('terminalTab.open', async () => {
await openTerminalInEditor();
});
// 注册在当前目录打开终端标签页命令
const openInCurrentDirCommand = vscode.commands.registerCommand('terminalTab.openInCurrentDirectory', async (uri) => {
let cwd;
if (uri && uri.fsPath) {
// 从右键菜单获取路径
const fs = require('fs');
const stat = fs.statSync(uri.fsPath);
if (stat.isDirectory()) {
cwd = uri.fsPath;
}
else {
cwd = uri.fsPath.substring(0, uri.fsPath.lastIndexOf('\\') || uri.fsPath.lastIndexOf('/'));
}
}
else {
// 从当前活动编辑器获取路径
const activeEditor = vscode.window.activeTextEditor;
if (activeEditor) {
const filePath = activeEditor.document.uri.fsPath;
cwd = filePath.substring(0, filePath.lastIndexOf('\\') || filePath.lastIndexOf('/'));
}
}
await openTerminalInEditor(cwd);
});
context.subscriptions.push(openTerminalTabCommand, openInCurrentDirCommand);
}
exports.activate = activate;
async function openTerminalInEditor(cwd) {
const config = vscode.workspace.getConfiguration('terminalTab');
const preserveFocus = config.get('preserveFocus') || false;
// 先执行向右拆分命令,创建右侧编辑器组
await vscode.commands.executeCommand('workbench.action.splitEditorRight');
// 创建终端选项,在编辑器中打开
const terminalOptions = {
name: 'Qoder CLI',
cwd: cwd,
location: vscode.TerminalLocation.Editor
};
// 创建终端
const terminal = vscode.window.createTerminal(terminalOptions);
// 显示终端
terminal.show(preserveFocus);
// 发送 qodercli 命令
terminal.sendText('qodercli', true);
// 锁定编辑器组
setTimeout(async () => {
await lockTerminalTab(terminal);
}, 500);
}
async function lockTerminalTab(terminal) {
// VS Code API 限制:无法直接通过 API 锁定标签页
// 但我们可以通过以下方式模拟锁定行为:
// 1. 监听终端关闭事件,如果是我们的终端,可以提示用户
const disposable = vscode.window.onDidCloseTerminal((closedTerminal) => {
if (closedTerminal === terminal) {
// 终端已关闭,清理资源
disposable.dispose();
}
});
// 2. 尝试通过命令锁定编辑器组(如果支持)
try {
// 使用 VS Code 内置命令锁定编辑器组
await vscode.commands.executeCommand('workbench.action.lockEditorGroup');
}
catch (error) {
// 命令可能不存在,忽略错误
console.log('Lock editor group command not available');
}
}
function deactivate() {
console.log('Terminal Tab Extension is now deactivated!');
}
exports.deactivate = deactivate;
//# sourceMappingURL=extension.js.map

1
out/extension.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}

2
out/toolProvider.js Normal file
View File

@@ -0,0 +1,2 @@
"use strict";
//# sourceMappingURL=toolProvider.js.map

1
out/toolProvider.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"toolProvider.js","sourceRoot":"","sources":["../src/toolProvider.ts"],"names":[],"mappings":""}