visual-studio-code - VSCode使用JS打开特定行号的文件
问题描述
我在我的 VSCode 中添加了一个新按钮,这样当我单击它时 - 它会编译当前文件夹,并使用vscode.window.showInformationMessage
.
每个框显示一个编译错误,并在其中有一个按钮。一旦用户单击该按钮 - 它会在选项卡中使用vscode.workspace.openTextDocument
.
我想让按钮也将我导航到有问题的文件中的有问题的行。
我的问题是:
给定一个数字,是否可以导航到文件中的特定行号?
到目前为止我取得的示例代码:
// Bullshit to give some context
const pattern = /(In \w+.jack)/g;
var i = s.search(pattern);
var substring = s.substring(i + 1)
var j = substring.search(pattern);
var s = "bsadsdbla In main.jack (line 55) sqdwqe blasdsd wq qqweq"
let GoToFile = 'Go to File';
var k = s.search(/(\w+.jack)/);
var l = s.search(/(.jack)/)
var fileName = s.substring(k, l);
// ---------> This is the important part <----------------
vscode.window.showInformationMessage(s.substring(i, j), GoToFile).then(selection => {
if (selection === GoToFile) {
vscode.workspace.openTextDocument(currentDirectory + '\\' + fileName + '.jack')
.then(document => vscode.window.showTextDocument(document));
}
});
解决方案
我假设您有一些代码/正则表达式可以为您提供行号。每当有人单击您的 GoToFile 方法时,都会调用以下代码:
activeEditor.selections = [new vscode.Selection(lineToGo, lineToGo)];
var range = new vscode.Range(lineToGo, lineToGo);
activeEditor.revealRange(range);
推荐阅读
- javascript - 如何删除数据表文件上传中的按钮
- c# - 一个 ControlTemplate 中的多个 ContentPresenter
- android - 从一个活动调用解密方法到适配器
- c# - 如何在 C# 中将 Html 代码转换为 Word 文档
- c++ - MSVC 不良程序集生成
- python - 如何在 django 中通过 ManyToManyField 组合查询集
- android - Ionic 5 ERR_AVD_HOME_NOT_FOUND:找不到有效的 Android AVD 主页。在 Windows 10 中
- python-3.x - 我怎样才能重写下面的代码来获得一个实际的数据集,而不是我得到的空数据框响应?
- python - Dask one-hot-encoding 不知道类别
- javascript - 运算符'>'不能应用于Angular 8中的类型'void'和'number'