Come aprire una finestra del browser in un'estensione del codice Visual Studio-una guida dettagliata passo-passo

Se sei uno sviluppatore che cerca di creare un'esperienza di navigazione in diretta all'interno della tua estensione del codice Visual Studio, questa guida passo-passo è per te. L'apertura di una finestra del browser in un'estensione del codice VS può essere una funzione di cambiamento del gioco che migliora l'applicazione dell'utente con contenuti Web interattivi.

Quando si sviluppano estensioni per il codice VS, è possibile che si sia scoperto che l'API WebView predefinita fornita da VS Codice presenta alcune limitazioni. Il pacchetto VSCoDeworksPACEFS può aiutare a superare queste limitazioni e fornire una soluzione più flessibile e potente per l'apertura di una finestra del browser.

Quindi, come si inizia? Innanzitutto, assicurati di avere gli strumenti necessari installati. Avrai bisogno di node. js e l'ultima versione del codice Visual Studio. Una volta che li hai in atto, puoi iniziare creando una nuova cartella per la tua estensione e aprirla in codice VS. Ora puoi iniziare a modificare il codice dell'estensione.

Nel file del punto di ingresso della tua estensione, dovrai importare e attivare il pacchetto VSCoDeworksPACEFS. Questo pacchetto fornisce un indicatore che consente agli utenti di sapere quando la finestra del browser è aperta. Include anche varie opzioni di polyfill e barra degli strumenti per personalizzare l'aspetto della finestra. Infine, fornisce un modo semplice per condividere ed esportare i dati tra l'estensione e la finestra del browser.

Per iniziare a utilizzare il pacchetto VScoDeworkspaceFS, basta installarlo utilizzando NPM o filato. Puoi trovare il pacchetto sul repository @VScodetest-Web su GitHub. Una volta installato, è possibile importarlo nel codice di estensione utilizzando la sintassi di importazione normale.

Ora che hai il pacchetto VScoDeworksPaceFS installato e importato, puoi iniziare a sperimentare con l'apertura di una finestra del browser. Il pacchetto fornisce vari metodi per l'apertura della finestra, come l'utilizzo di un comando dell'editor di codice o invocare direttamente la finestra del browser dal codice dell'estensione.

Per aprire una finestra del browser, dovrai fornire un URL o un percorso di file locale. È possibile utilizzare il pacchetto VScoDeworksPaceFS per servire i tuoi file a livello locale, rendendo facile testare e eseguire il debug dei tuoi contenuti Web all'interno dell'ambiente di codice VS. Ad esempio, è possibile servire un file HTML locale utilizzando il metodo VSCoDeworkspaceFs. ServeFile ().

Quando si apri la finestra del browser, è possibile specificare anche varie configurazioni. Ad esempio, puoi scegliere di aprire la finestra come desktop virtuale, che consente di sfogliare in una finestra MacOS separata. È inoltre possibile specificare il percorso della cartella per servire i file, fornendo un'esperienza di navigazione senza soluzione di continuità.

Il pacchetto VSCoDeworksPACEFS supporta anche altri modi per aprire una finestra del browser, come l'utilizzo di un file di configurazione del webpack personalizzato o specificare i tasti. Puoi trovare ulteriori informazioni su queste opzioni nella documentazione del pacchetto.

Ora che sai come aprire una finestra del browser in un'estensione del codice VS, è tempo di salvare il codice e provarlo. Apri la tua estensione nel debugger di VS Code, seleziona una suite di test e premi il pulsante Esegui. Dovresti vedere la finestra del browser aperta con il tuo contenuto web.

Non limitarti ad aprire una finestra del browser solo per i test. Considera le possibilità di integrare la funzionalità di navigazione nella propria estensione. Con il pacchetto VSCoDeworksPACEFS, è possibile creare un'esperienza di navigazione completamente funzionale all'interno dell'estensione del codice VS.

Allora perché non provarlo? Apri il codice Visual Studio, installa i pacchetti necessari, crea la propria estensione del codice VS e inizia a esplorare il mondo della navigazione all'interno del tuo editor di codice preferito. Le possibilità sono infinite!

Installa le estensioni necessarie

Guida passo-passo: Apertura di una finestra del browser in un'estensione del codice Visual Studio

Per iniziare, dovrai installare un'estensione specifica chiamata "Helloworld-Web Sample". Questa estensione fornisce un progetto di esempio per l'apertura di una finestra del browser all'interno di un'estensione del codice Visual Studio.

Oltre all'estensione di Helloworld-Web-Sample, dovrai anche installare alcune altre estensioni per consentire le funzionalità come la mappatura degli URL LocalHost al progetto, utilizzando Webpack per raggruppare il codice e debug del codice di estensione.

1. Mappatura degli URL Localhost

1. Mappatura degli URL Localhost

Uno dei primi passi è configurare il tuo ambiente di sviluppo per servire i contenuti Web della tua estensione da un URL LocalHost. Ciò consente alla finestra del browser nella tua estensione di caricare e visualizzare i propri stili e contenuti.

Per fare ciò, è possibile utilizzare uno strumento chiamato "VScode-browser-preview" che fornisce un browser virtuale all'interno del codice Visual Studio. Questa estensione consente di aprire il contenuto Web della tua estensione direttamente in un browser senza la necessità di modificare alcun codice o configurazione.

2. Utilizzo del webpack per il raggruppamento

2. Utilizzo del webpack per il raggruppamento

Per raggruppare il codice Web della tua estensione e assicurarti che funzioni correttamente, dovrai utilizzare uno strumento Build come Webpack. Webpack prende il codice JavaScript e le dipendenze del tuo progetto e li bamme in un singolo file che può essere facilmente caricato ed eseguito dal browser.

L'estensione di Helloworld-Web-Sample include già un file di configurazione del webpack che è possibile utilizzare come punto di partenza. Tuttavia, potrebbe essere necessario apportare modifiche a questo file a seconda dei requisiti specifici del progetto.

3. Debug nel browser

Se vuoi eseguire il debug del codice di estensione all'interno del browser, dovrai installare l'estensione "Debugger per Chrome". Questa estensione consente di allegare il debugger di codice Visual Studio a un'istanza in esecuzione di Chrome e fornisce un ricco set di funzionalità di debug per aiutarti a trovare e risolvere i problemi nel tuo codice.

Una volta installate le estensioni necessarie, è possibile continuare con i passaggi successivi nella guida per creare e modificare il progetto di esempio e aprire una finestra del browser nell'estensione del codice Visual Studio.

Imposta la configurazione necessaria

Prima di poter iniziare a aprire una finestra del browser nella nostra estensione del codice Visual Studio, dobbiamo impostare alcune configurazioni necessarie. Questa sezione descriverà i passaggi da seguire.

  1. Crea una cartella per la tua estensione: apri il codice Visual Studio e crea una nuova cartella in cui si desidera archiviare i file della tua estensione. Questa sarà la cartella radice per la tua estensione.
  2. Apri la cartella nel codice Visual Studio: apri il codice Visual Studio e seleziona "Apri cartella" dal menu "File". Passare alla cartella creata nel passaggio 1 e fare clic sul pulsante "Apri".
  3. Crea un nuovo file: fare clic con il pulsante destro del mouse sulla cartella root in Visual Studio Code Explorer e selezionare "Nuovo file". Nominare il filepacchetto. json.
  4. Modificare ilpacchetto. jsonFile: aprire ilpacchetto. jsonfile e aggiungi il seguente codice JSON:
{
"nome": "il tuo nome estensione",
"DisplayName": "Il tuo nome di estensione",
"Descrizione": "Una descrizione della tua estensione",
"Versione": "1. 0. 0",
"repository": {
"tipo": "git",
"URL": "https://github. com/your-username/your-repository"
},
"engines": {
"VScode": "^1. 53. 0"
},
"Categorie": [
"Altro"
],
"ActivationEvents": [
"OnCommand: yourExtensionName. openbrowserWindow"
],
"Main": "./out/extension. js",
"contributes": {
"Comandi": [
{
"comando": "youxtensionname. openbrowserwindow",
"Titolo": "Open Browser Window"
}
]
},
"devDependencies": {
"@tipi/nodo": "^10. 12. 18",
"TypeScript": "^4. 1. 3",
"VSCE": "^1. 97. 0"
},
"scripts": {
"VScode: Prepublish": "NPM RUN VSCode: Prepublish-Concile",
"VSCode: prepublis h-comple": "ts c-p ./",
"compile": "ts c-watc h-p ./",
"postinstall": "node ./node_modules/vscode/bin/install",
"test": "npm run compile && node ./out/test/runTest. js"
},
"editore": "nome-del-tuo-editore",
"licenza": "MIT"
}

Esamina la configurazione: prenditi un momento per esaminare le diverse proprietà nel filepacchetto. jsonfile. Apporta le modifiche necessarie per far corrispondere il nome, la descrizione, il repository e altro della tua estensione.

Salvare e chiudere il file: Salva il filepacchetto. jsonarchiviare e chiuderlo.

Crea una nuova cartella: fai clic con il pulsante destro del mouse sulla cartella principale in Visual Studio Code Explorer e seleziona "Nuova cartella". Assegna un nome alla cartellasrc.

Crea un nuovo file: fai clic con il pulsante destro del mouse susrccartella in Visual Studio Code Explorer e seleziona "Nuovo file". Assegna un nome al fileestensione. ts.

Modificare ilestensione. tsFile: aprire ilestensione. tsfile e sostituirne il contenuto con il seguente codice TypeScript:

importa * come vscode da 'vscode';
export function activate(context: vscode.ExtensionContext) {
let disposable = vscode.commands.registerCommand('yourExtensionName.openBrowserWindow', () => {
pannello const = vscode. window. createWebviewPanel(
'visualizzazione web',
'Finestra del browser',
vscode. ViewColumn. One,
{
abilitaScript: vero,
abilitaCommandUris: vero
}
);
const htmlPath = vscode.Uri.file(context.extensionPath + '/src/index.html').with({ scheme: 'vscode-resource' });
panel. webview. html = \`& lt;! DOCTYPE html& gt;
& lt; html& gt;
& lt; testa& gt;
& lt; meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline' 'self'; img-src vscode-resource: https:"& gt;
& lt;/testa& gt;
& lt; corpo& gt;
& lt; h1& gt; Ciao browser!& lt;/h1& gt;
& lt; p& gt; Questo è un file HTML di esempio reso all'interno di un'estensione Visual Studio Code.& lt;/p& gt;
& lt; p& gt; Puoi modificare questo file per aggiungere contenuti e stili personalizzati.& lt;/p& gt;
& lt;/corpo& gt;
& lt;/html& gt;\`;
panel.webview.onDidReceiveMessage(message => {
switch (message.command) {
caso 'avviso':
vscode. window. showInformationMessage(message. text);
rottura;
}
});
});
context. subscriptions. push(monouso);
}

Rivedi il codice: prenditi un momento per rivedere il codice nel fileestensione. tsfile. Questo codice imposta un comando che aprirà un pannello di visualizzazione Web contenente un file HTML di esempio. Puoi modificare questo file per aggiungere i tuoi contenuti e stili.

Salvare e chiudere il file: Salva il fileestensione. tsarchiviare e chiuderlo.

Crea ilindice. htmlfile: fare clic con il pulsante destro del mouse sul filesrccartella in Visual Studio Code Explorer e seleziona "Nuovo file". Assegna un nome al fileindice. html.

Modificare ilindice. htmlFile: aprire ilindice. htmlfile e sostituisci il suo contenuto con il seguente codice HTML:

& lt;! DOCTYPE html& gt;
& lt; html& gt;
& lt; testa& gt;
& lt; meta charset="UTF-8"& gt;
& lt; meta name="viewport" content="width=device-width, partial-scale=1. 0"& gt;
& lt; title& gt; Ciao mondo& lt;/title& gt;
& lt; stile& gt;
body {
colore di sfondo: #f0f0f0;
imbottitura: 20px;
famiglia di caratteri: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}
h1 {
colore: #333;
}
& lt;/stile& gt;
& lt;/testa& gt;
& lt; corpo& gt;
& lt; h1& gt; Ciao mondo!& lt;/h1& gt;
& lt; p& gt; Questo è un file HTML di esempio reso all'interno di un'estensione Visual Studio Code.& lt;/p& gt;
& lt; p& gt; Puoi modificare questo file per aggiungere contenuti e stili personalizzati.& lt;/p& gt;
& lt;/corpo& gt;
& lt;/html& gt;

Rivedi il codice: prenditi un momento per rivedere il codice nel fileindice. htmlfile. Questo è il codice HTML che verrà visualizzato nel pannello di visualizzazione web.

Salvare e chiudere il file: Salva il fileindice. htmlarchiviare e chiuderlo.

Congratulazioni! Ora hai impostato la configurazione necessaria per l'apertura di una finestra del browser nell'estensione Visual Studio Code. Nella sezione successiva, esamineremo come creare ed eseguire la tua estensione per i test.

Utilizzare il comando per aprire una finestra del browser

Per aprire una finestra del browser dall'estensione Visual Studio Code, puoi utilizzare il fileeseguireCommandmetodo previsto dalvscodemodulo. Questo metodo ti consente di eseguire qualsiasi comando registrato nella tua estensionepacchetto. jsonfile.

In questa guida utilizzeremo un comando chiamatoestensione. openBrowserWindowper aprire una finestra del browser. Innanzitutto, definiamo il comando nel filepacchetto. jsonfile:

"Comandi": [
{
"comando": "extension. openBrowserWindow",
"Titolo": "Open Browser Window"
}
]

Successivamente, implementiamo il fileopenBrowserWindowcomando nella nostra estensioneestensione. tsfile:

importa * come vscode da 'vscode';
export function activate(context: vscode.ExtensionContext) {
let disposable = vscode.commands.registerCommand('extension.openBrowserWindow', () => {
vscode. commands. executeCommand('vscode. open', vscode. Uri. parse('https://example. com'));
});
context. subscriptions. push(monouso);
}

Nel codice sopra, importiamo prima il filevscodemodulo e definire il fileattivarefunzione, che è il punto di ingresso della nostra estensione. All'interno delattivarefunzione, registriamo ilestensione. openBrowserWindowcomando e definirne l'implementazione.

L'implementazione delopenBrowserWindowil comando è semplice. Noi usiamo ileseguireCommandmetodo per eseguire ilvscode. opencomando, che apre un URI nel browser predefinito. In questo esempio, apriamo l'URLhttps://esempio. comquando il comando viene eseguito.

Una volta implementato il comando, puoi utilizzarlo in diversi modi. Ad esempio, puoi associarlo a una scorciatoia da tastiera aggiungendo una voce di associazione di tasti nell'estensionepacchetto. jsonfile:

"associazioni di tasti": [
{
"comando": "extension. openBrowserWindow",
"tasto": "ctrl+alt+b",
"mac": "cmd+alt+b",
"quando": "editorTextFocus"
}
]

Nel codice sopra, ilkeybindingsla proprietà viene aggiunta al filepacchetto. jsonfile e ilestensione. openBrowserWindowIl comando è vincolato al filectrl+alt+bCombinazione chiave (ocmd+alt+bsu macOS) quando l'attenzione è rivolta all'editor.

In alternativa, è possibile eseguire il comando dalla tavolozza di comandi premendoCtrl+shift+p(OCmd+shift+psu macOS) e digitando "Finestra del browser aperta" nel campo di input.

Ora, quando esegui la tua estensione e attivi ilestensione. openBrowserWindowComando, si aprirà una finestra del browser con l'URL specificato.

È importante notare che ilvscode. openIl comando è disponibile solo in Visual Studio Code versione 1. 45. 0 o successivo. Se si sviluppa un'estensione destinata a una versione precedente del codice Visual Studio, dovrai utilizzare un metodo alternativo per aprire una finestra del browser, come l'uso delopnpacchetto o uno strumento di mappatura esterna.

Riepilogo

Riepilogo

In questa sezione, abbiamo imparato a usare ileseguireCommandMetodo per aprire una finestra del browser dall'estensione del codice Visual Studio. Abbiamo definito un comando personalizzato chiamatoestensione. openBrowserWindowe implementato la sua logica usando ilvscode. opencomando. Abbiamo anche visto come legare il comando a una scorciatoia da tastiera o eseguirlo dalla tavolozza di comandi.