VSCode API 检查路径是否存在

kin*_*ohm 4 visual-studio-code vscode-extensions

在 VSCode 扩展中,如何在不打开或读取文件的情况下检查文件路径是否存在?

我发现的最接近的是vscode.workspace.fs.Readfilevscode.workspace.openTextDocumenthttps://code.visualstudio.com/api/references/vscode-api#FileSystem),但同样,我不想打开或读取文件。有没有办法做到这一点?

yah*_*avi 5

没有 API,因为有一个内置函数:

import * as fs from 'fs'; // In NodeJS: 'const fs = require('fs')'
if (fs.existsSync(path)) {
  // File exists in path
}
Run Code Online (Sandbox Code Playgroud)

  • 不遵循虚拟工作区的建议。 (3认同)
  • 不确定情况是否仍然如此。请参阅新的 vscode fs API 说明 [此处](https://code.visualstudio.com/updates/v1_37#_vscodeworkspacefs) (2认同)

nic*_*ckf 5

根据@realappie 对另一个答案的评论,您可以使用vscode.workspace.fs.

它没有像 那样的方法exists,但您可以使用.stat()它。来自repo 的一个例子:

try {
    await vscode.workspace.fs.stat(jsUri);
    vscode.window.showTextDocument(jsUri, { viewColumn: vscode.ViewColumn.Beside });
} catch {
    vscode.window.showInformationMessage(`${jsUri.toString(true)} file does *not* exist`);
}
Run Code Online (Sandbox Code Playgroud)