1、程序结构
export function activate(context: vscode.ExtensionContext) {
//①
{
/**
* 插件被激活时执行的代码块
*/
}
let disposable = vscode.commands.registerCommand('remind.water', () => {
var config: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration('remind-drinking-water');
/* 注册命令,调用命令时执行的代码块 */
{
}
});
context.subscriptions.push(disposable);
}
/* 插件被释放时执行函数 */
export function deactivate() {}
- 分清插件激活和注册命令的关系。
2、webview开发时,不能直接使用本地链接地址
webview运行在独立的环境中,因此不能直接访问本地资源,这是出于安全性考虑的做法。这也意味着要想从你的插件中加载图片、样式等其他资源,或是从用户当前的工作区加载任何内容的话,你必须使用webview中的vscode-resource:协议。
var picture_path:string = 'panel_icon.png';
const onDiskPath = vscode.Uri.file(path.join(context.extensionPath, '.', picture_path));
const pic_path_uri = onDiskPath.with({ scheme: 'vscode-resource' });
3、用到webview,如果需要传入参数
传入图片路径
function getWebviewContent(pic_path:vscode.Uri):string
{
return`
···
···
<img id="test" src="${pic_path}" width="200" />
···
···
`
}