【发布时间】:2022-10-04 18:30:37
【问题描述】:
我正在尝试让 SimpleGit 在我的 vscode 扩展中工作。为了确保我正确使用它,我创建了这个打字稿文件
import simpleGit, { SimpleGit, CleanOptions } from 'simple-git';
const git: SimpleGit = simpleGit().clean(CleanOptions.FORCE);
async function main() {
try {
const status = await git.status();
console.log("STATUS", status);
} catch (e) {
console.log("ERROR", e);
}
}
if (require.main === module) {
main();
}
并且能够成功使用该库而没有任何问题。当我尝试在我的 vscode 扩展中执行相同的调用时,我进入了调试控制台
ERROR Error: fatal: not a git repository (or any of the parent directories): .git
我也在调试控制台中看到了这一点。可能有关系。
如何在 vscode 扩展中获得相同的调用?我究竟做错了什么?我很感激任何帮助!
import * as vscode from 'vscode';
import simpleGit, { SimpleGit, CleanOptions } from 'simple-git';
export function activate(context: vscode.ExtensionContext) {
let disposable = vscode.commands.registerCommand('my-app.createUrl', async (uri: vscode.Uri) => {
const git: SimpleGit = simpleGit().clean(CleanOptions.FORCE);
try {
const status = await git.status();
console.log("STATUS", status);
} catch (e) {
console.log("ERROR", e);
}
});
context.subscriptions.push(disposable);
}
export function deactivate() { }
【问题讨论】:
-
看起来你必须告诉它回购在哪里
const git = simpleGit(__dirname); -
这就是问题所在。谢谢!如果你想让它成为答案,我会用复选标记标记它并给你赏金。
标签: visual-studio-code vscode-extensions simple-git