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
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
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
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.
- 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.
- 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".
- 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 file
pacchetto. json
. - Modificare il
pacchetto. json
File: aprire ilpacchetto. json
file 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. json
file. 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. json
archiviare 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 susrc
cartella in Visual Studio Code Explorer e seleziona "Nuovo file". Assegna un nome al fileestensione. ts
.
Modificare ilestensione. ts
File: aprire ilestensione. ts
file 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. ts
file. 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. ts
archiviare e chiuderlo.
Crea ilindice. html
file: fare clic con il pulsante destro del mouse sul filesrc
cartella in Visual Studio Code Explorer e seleziona "Nuovo file". Assegna un nome al fileindice. html
.
Modificare ilindice. html
File: aprire ilindice. html
file 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. html
file. Questo è il codice HTML che verrà visualizzato nel pannello di visualizzazione web.
Salvare e chiudere il file: Salva il fileindice. html
archiviare 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 fileeseguireCommand
metodo previsto dalvscode
modulo. Questo metodo ti consente di eseguire qualsiasi comando registrato nella tua estensionepacchetto. json
file.
In questa guida utilizzeremo un comando chiamatoestensione. openBrowserWindow
per aprire una finestra del browser. Innanzitutto, definiamo il comando nel filepacchetto. json
file:
"Comandi": [
{
"comando": "extension. openBrowserWindow",
"Titolo": "Open Browser Window"
}
]
Successivamente, implementiamo il fileopenBrowserWindow
comando nella nostra estensioneestensione. ts
file:
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 filevscode
modulo e definire il fileattivare
funzione, che è il punto di ingresso della nostra estensione. All'interno delattivare
funzione, registriamo ilestensione. openBrowserWindow
comando e definirne l'implementazione.
L'implementazione delopenBrowserWindow
il comando è semplice. Noi usiamo ileseguireCommand
metodo per eseguire ilvscode. open
comando, che apre un URI nel browser predefinito. In questo esempio, apriamo l'URLhttps://esempio. com
quando 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. json
file:
"associazioni di tasti": [
{
"comando": "extension. openBrowserWindow",
"tasto": "ctrl+alt+b",
"mac": "cmd+alt+b",
"quando": "editorTextFocus"
}
]
Nel codice sopra, ilkeybindings
la proprietà viene aggiunta al filepacchetto. json
file e ilestensione. openBrowserWindow
Il comando è vincolato al filectrl+alt+b
Combinazione chiave (ocmd+alt+b
su macOS) quando l'attenzione è rivolta all'editor.
In alternativa, è possibile eseguire il comando dalla tavolozza di comandi premendoCtrl+shift+p
(OCmd+shift+p
su macOS) e digitando "Finestra del browser aperta" nel campo di input.
Ora, quando esegui la tua estensione e attivi ilestensione. openBrowserWindow
Comando, si aprirà una finestra del browser con l'URL specificato.
È importante notare che ilvscode. open
Il 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 delopn
pacchetto o uno strumento di mappatura esterna.
Riepilogo
In questa sezione, abbiamo imparato a usare ileseguireCommand
Metodo per aprire una finestra del browser dall'estensione del codice Visual Studio. Abbiamo definito un comando personalizzato chiamatoestensione. openBrowserWindow
e implementato la sua logica usando ilvscode. open
comando. Abbiamo anche visto come legare il comando a una scorciatoia da tastiera o eseguirlo dalla tavolozza di comandi.