网站搜索

javascript - 如何在我的 VS Code 扩展中获取选中的诊断?


借助 VS Code 扩展 API,我可以像这样获取所有打开编辑器中的当前诊断信息:

const allDiagnostics = vscode.languages.getDiagnostics();

我已经写了一个命令,它会删除所有产生这些诊断的引用:当你将鼠标悬停在诊断上,并点击“快速修复...”时,该命令会出现,点击它后,所有产生诊断的引用都会从编辑器中被删除:

然而,我一直无法找到获取所选诊断的方法。例如,在上图中,我希望命令只删除 Calibrate(),而不删除在编辑器中产生诊断的其他提及。类似这样的:

const selectedDiagnostic = vscode.languages.getSelectedDiagnostic();

有没有办法在我的代码中只检索所选的诊断?

答案#1

在 CodeActionProvider 的 provideCodeActions 方法中,诊断信息在 context 参数中