我正在创建一个vscode扩展。我想提供一个help
命令,该命令在被调用时会打开一个由扩展名提供的help.md
文件,因此,我认为它是作为扩展包的一部分提供的。
myext/
├── .vscode/
├── test/
├── package.json
├── extension.js
├── help.md
如何获取扩展包内容的引用并在运行扩展的编辑器中打开文件help.md
?
答案 0 :(得分:1)
您可以使用扩展程序上下文获取扩展程序中任何文件的路径。这是我使用in my extension至determine the absoute path到要加载的文件的功能:
/**
* Returns the absolute path to a file located in our misc folder.
*
* @param file The base file name.
* @param context The context of this extension to get its path regardless where it is installed.
* @param webview When given format the path for use in this webview.
*/
public static getMiscPath(file: string, context: ExtensionContext, webView?: Webview): string {
if (webView) {
let uri = Uri.file(context.asAbsolutePath(path.join('misc', file)));
return webView.asWebviewUri(uri).toString();
}
return context.asAbsolutePath(path.join('misc', file));
}
此函数确定路径的2个不同变体: