## 1.120.0

This commit is contained in:
Mike Phares 2025-04-11 12:59:25 -07:00
parent 07b932e913
commit 70674c616d
7 changed files with 118 additions and 11 deletions

View File

@ -230,3 +230,8 @@ None
-----------------------------------------------------------------------------------------------------------
- Changed ADO Priority servers
## 1.120.0 1744401374311 = 638799981743110000 = 2025-1.Spring = Fri Apr 11 2025 12:56:13 GMT-0700 (Mountain Standard Time)
-----------------------------------------------------------------------------------------------------------
- Sidebar button for view command pallete images

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -253,6 +253,26 @@
"title": "Webview Example"
}
],
"views": {
"view-command-pallete-webview-view-provider-view": [
{
"contextualTitle": "Infineon Technologies Americas Corp.",
"icon": "media/lowres-LOGO_Black.png.png",
"id": "view-command-pallete-webview-view-provider",
"name": "Infineon",
"type": "webview"
}
]
},
"viewsContainers": {
"activitybar": [
{
"icon": "media/lowres-LOGO_Black.png.png",
"id": "view-command-pallete-webview-view-provider-view",
"title": "Infineon Technologies Americas Corp."
}
]
},
"configuration": {
"properties": {
"fileTemplates.author": {
@ -333,5 +353,5 @@
"watch": "concurrently \"rollup -c -w\" \"webpack --watch --config ./build/node-extension.webpack.config.js\"",
"webpack": "webpack --config ./build/node-extension.webpack.config.js"
},
"version": "1.119.0"
"version": "1.120.0"
}

View File

@ -0,0 +1,65 @@
import * as vscode from "vscode";
import { getNonce } from "./getNonce";
export class ViewCommandPalleteWebviewViewProvider implements vscode.WebviewViewProvider {
_webviewView?: vscode.WebviewView;
constructor(private readonly _extensionContext: vscode.ExtensionContext) {
}
public revive(webviewView: vscode.WebviewView) {
this._webviewView = webviewView;
}
public resolveWebviewView(webviewView: vscode.WebviewView) {
this._webviewView = webviewView;
webviewView.webview.options = {
// Allow scripts in the webview
enableScripts: true,
localResourceRoots: [this._extensionContext.extensionUri],
};
webviewView.webview.html = this._getHtmlForWebview(webviewView.webview);
}
private _getHtmlForWebview(webview: vscode.Webview) {
const imageA = webview.asWebviewUri(
vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "Screenshot 2025-04-11 125031.png")
);
const imageB = webview.asWebviewUri(
vscode.Uri.joinPath(this._extensionContext.extensionUri, "media", "Screenshot 2025-04-11 125350.png")
);
// Use a nonce to only allow a specific script to be run.
const nonce = getNonce();
return `<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!--
Use a content security policy to only allow loading images from https or from our extension directory,
and only allow scripts that have a specific nonce.
-->
<meta http-equiv="Content-Security-Policy"
content="img-src https: data:;
style-src 'unsafe-inline' ${webview.cspSource};
script-src 'nonce-${nonce}';">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<h1>Infineon Technologies Americas Corp.</h1>
<ul>
<li>View</li>
<li>Command Pallete... Ctrl+Shift+P</li>
<li>Type Mesa or Leominster</li>
<li>Select item</li>
</ul>
<img src="${imageA}" alt="Screenshot 2025-04-11 125031.png" width="75%" height="75%">
<img src="${imageB}" alt="Screenshot 2025-04-11 125350" width="75%" height="75%">
</body>
</html>`;
}
}

View File

@ -11,19 +11,14 @@ import * as replaceLinesHelper from './replaceLinesHelper';
import * as readOnlyLinesHelper from './readOnlyLinesHelper';
import * as WebviewPanelExample from './WebviewPanelExample';
import * as WebviewPanelCostOfDelay from './WebviewPanelCostOfDelay';
import * as ColumnsToCardsWebviewViewProvider from './ColumnsToCardsWebviewViewProvider';
import { ViewCommandPalleteWebviewViewProvider } from "./ViewCommandPalleteWebviewViewProvider";
// This method is called when your extension is activated
// Your extension is activated the very first time the command is executed
export async function activate(extensionContext: vscode.ExtensionContext) {
const columnsToCardsWebviewViewProvider = new ColumnsToCardsWebviewViewProvider.ColumnsToCardsWebviewViewProvider(extensionContext);
const item = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Right);
item.text = "$(beaker) Show Kanban";
// item.command = "kanban.show";
item.show();
extensionContext.subscriptions.push(vscode.window.registerWebviewViewProvider("columns-to-cards-webview-view-provider", columnsToCardsWebviewViewProvider));
const viewCommandPalleteWebviewViewProvider = new ViewCommandPalleteWebviewViewProvider(extensionContext);
extensionContext.subscriptions.push(vscode.window.registerWebviewViewProvider("view-command-pallete-webview-view-provider", viewCommandPalleteWebviewViewProvider));
const config = vscode.workspace.getConfiguration('calc');
const outputChannel = vscode.window.createOutputChannel('calc');
@ -49,6 +44,30 @@ export async function activate(extensionContext: vscode.ExtensionContext) {
}),
);
function getWebviewView(title: string) {
const column = vscode.window.activeTextEditor
? vscode.window.activeTextEditor.viewColumn
: undefined;
// Otherwise, create a new panel.
const webviewView = vscode.window.createWebviewPanel(
"web-view-panel",
title,
column || vscode.ViewColumn.One,
{
// Enable javascript in the webview
enableScripts: true,
// And restrict the webview to only loading content from our extension's `media` directory.
localResourceRoots: [
vscode.Uri.joinPath(extensionContext.extensionUri, "media"),
vscode.Uri.joinPath(extensionContext.extensionUri, "out/compiled"),
],
}
);
return webviewView;
}
async function replaceResultsWithPositions(
editor: vscode.TextEditor,
positionsAndExpressions: [vscode.Position, string][],
@ -130,8 +149,6 @@ export async function activate(extensionContext: vscode.ExtensionContext) {
const commands = [
vscode.commands.registerCommand("copyHelper.copySyntaxInLight", copyHelper.copySyntaxInLight),
vscode.commands.registerCommand("extension.rotateExplorerSortOrder", settingsHelper.rotateExplorerSortOrder),
vscode.commands.registerCommand("kanban.refreshBoth", () => { kanbanHelper.refreshBoth(extensionContext); }),
vscode.commands.registerCommand("kanban.refreshSidebar", ColumnsToCardsWebviewViewProvider.refreshSidebar),
vscode.commands.registerCommand("kanban.openWithTextEditor", kanbanHelper.openWithTextEditor),
vscode.commands.registerCommand("kanban.openInNewWindow", kanbanHelper.openInNewWindow),
vscode.commands.registerCommand("markdown.newMarkdownFile", markdownHelper.newMarkdownFile),