使用 VS Code 扩展在 HTML 文件右键菜单添加打开功能
首先,你需要创建一个 vsix 项目。接下来,你可以编写一个命令,该命令将右键单击的 HTML 文件与 VS Code 关联。下面是一个简单的示例:
import * as vscode from 'vscode';
import * as path from 'path';
export function activate(context: vscode.ExtensionContext) {
let disposable = vscode.commands.registerCommand('extension.openHtmlFile', (uri: vscode.Uri) => {
vscode.commands.executeCommand('vscode.open', uri.with({ scheme: 'vscode-resource' }));
});
let disposableHtml = vscode.commands.registerCommand('extension.openHtmlFileInVsCode', (uri: vscode.Uri) => {
let htmlUri = uri.with({ scheme: 'vscode-resource' });
vscode.commands.executeCommand('vscode.open', htmlUri);
});
let disposableProvider = vscode.workspace.registerTextDocumentContentProvider('html', {
provideTextDocumentContent(uri: vscode.Uri): string {
let filePath = uri.fsPath;
let fileName = path.basename(filePath);
let html = '<html><body><a href="command:extension.openHtmlFileInVsCode?${filePath}">${fileName}</a></body></html>';
return html;
},
});
context.subscriptions.push(disposable);
context.subscriptions.push(disposableHtml);
context.subscriptions.push(disposableProvider);
}
这段代码注册了两个命令:'extension.openHtmlFile' 和 'extension.openHtmlFileInVsCode'。'extension.openHtmlFile' 用于打开 HTML 文件,'extension.openHtmlFileInVsCode' 用于将右键单击的 HTML 文件与 VS Code 关联。'disposableProvider' 注册了一个内容提供程序,以便在 HTML 文件中显示链接。
要将此代码打包为 vsix 文件,可以使用 Visual Studio Code 的扩展打包器。打开扩展打包器,选择“将 vsix 文件打包并安装”,然后选择您的项目文件夹。生成的 vsix 文件将包含您的扩展,您可以将其上传到 Visual Studio Code 市场。
原文地址: https://www.cveoy.top/t/topic/np7p 著作权归作者所有。请勿转载和采集!