Inhaltsverzeichnis
WvdS VSCode Projects
La Projects Extension gestisce i progetti Pascal in VS Code. Offre template di progetto, dialoghi di configurazione e gestione delle solution.
Funzione e scopo
La Projects Extension consente:
- Template di progetto - Creazione rapida di nuovi progetti
- Gestione progetti - Apertura, configurazione, amministrazione
- Solution multi-progetto - Più progetti in un unico workspace
- Impostazioni progetto - GUI per opzioni del compilatore
Comandi
| Comando | Descrizione |
|---|---|
WvdS Projects: New Project (Quick) | Crea un progetto con impostazioni predefinite |
WvdS Projects: New Project from Template… | Mostra il dialogo di selezione template |
WvdS Projects: Open Project | Apre un progetto esistente |
WvdS Projects: Project Settings… | Apre il dialogo delle impostazioni progetto |
Template di progetto
L'estensione include template predefiniti per vari tipi di progetto:
Desktop Console
Semplice applicazione console per strumenti da riga di comando e servizi.
File generati:
MyProject/ MyProject.lpr -- Programma principale
Codice di esempio:
program MyProject; {$mode objfpc}{$H+} uses SysUtils; begin WriteLn('Hello, World!'); end.
Casi d'uso:
- Strumenti CLI e utility
- Elaborazione batch
- Servizi server
- Script di build
Desktop GUI
Applicazione desktop nativa con LCL (Lazarus Component Library).
File generati:
MyProject/ MyProject.lpr -- Programma principale MainForm.pas -- Unit del form principale MainForm.lfm -- Design del form
Prerequisiti:
- Lazarus installato (per LCL)
- lazbuild disponibile
Casi d'uso:
- Applicazioni desktop
- Frontend per database
- Programmi utility con GUI
Desktop Library
Shared Library (DLL/SO) per sistemi di plugin o integrazione esterna.
File generati:
MyProject/ MyProject.lpr -- Progetto libreria
Codice di esempio:
library MyProject; {$mode objfpc}{$H+} uses SysUtils; procedure HelloWorld; cdecl; begin WriteLn('Hello from library!'); end; exports HelloWorld; begin end.
Casi d'uso:
- Plugin per altre applicazioni
- Codice condiviso tra progetti
- Integrazione con altri linguaggi (C, Python, ecc.)
TUI App
Terminal User Interface - interfaccia utente basata su testo.
File generati:
MyProject/ MyProject.lpr -- Programma principale TuiMain.pas -- Unit TUI principale
Casi d'uso:
- Amministrazione server
- Strumenti compatibili con SSH
- Applicazioni a basso consumo di risorse
- Cross-platform senza dipendenze GUI
Web PWA
Progressive Web App con pas2js - eseguita nel browser.
File generati:
MyProject/ MyProject.lpr -- Programma principale (diventa JS) index.html.tmpl -- Template HTML manifest.json.tmpl-- Manifest PWA sw.js -- Service Worker
Prerequisiti:
- pas2js installato
Casi d'uso:
- Applicazioni web
- App cross-platform
- Applicazioni offline-capable
VSCode Extension
Estensione VS Code in Pascal, transpilata con pas2js.
File generati:
MyExtension/ extension_main.pas -- Entry Point package.json.tmpl -- Manifest dell'estensione
Prerequisiti:
- pas2js installato
- Node.js per vsce (Packaging)
Casi d'uso:
- Estensioni VS Code personalizzate
- Strumenti IDE e automazione
- Integrazione con la suite WvdS
Installer (Inno Setup)
Installer Windows per applicazioni desktop.
File generati:
MyInstaller/ MyInstaller.iss -- Script Inno Setup
Prerequisiti:
- Inno Setup installato
Casi d'uso:
- Pacchetti di installazione Windows
- Aggiornamenti automatici
- Deployment aziendale
Impostazioni progetto
Il dialogo WvdS Projects: Project Settings… offre un'interfaccia grafica per:
Impostazioni generali
- Nome progetto - Nome del progetto
- Directory di output - Dove vengono scritti i file compilati
- Percorsi unit - Percorsi di ricerca aggiuntivi per le unit
Opzioni del compilatore
- Target Platform - windows-x86, windows-x64, linux-x64, …
- Ottimizzazioni - Livello 0-3
- Simboli di debug - Attivare per il debugging
- Assertion - Controlli a runtime
Dipendenze
- Clausole Uses - Unit gestite automaticamente
- Percorsi librerie - Percorsi a librerie esterne
Workspace multi-progetto
I workspace di VS Code possono contenere più progetti:
MyWorkspace.code-workspace MyApp/ -- Applicazione desktop MyLib/ -- Libreria condivisa MyTests/ -- Unit test
Creare un workspace
File→Add Folder to Workspace…- Aggiungete tutte le cartelle dei progetti
File→Save Workspace As…
Selezionare un progetto
Con più progetti:
- Aprite un file del progetto desiderato
- Oppure: selezionate il progetto nel Project Explorer
Menu contestuale
Clic destro sui file .lpi/.lpr nell'Explorer mostra:
WvdS Projects: Project Settings…
Risoluzione dei problemi
Il dialogo template non si apre
Causa: Estensione non attivata o errore.
Soluzione:
- Verificate se l'estensione è installata
- Controllate la Developer Console per errori
- Riavviate VS Code
Il progetto non viene riconosciuto
Causa: Nessun file .lpr, .dpr o .pas nella cartella.
Soluzione:
- Assicuratevi che esista un file principale
- Aprite la cartella con
File→Open Folder…
Le impostazioni del progetto non vengono salvate
Causa: Permessi di scrittura mancanti o configurazione errata.
Soluzione:
- Controllate i permessi di scrittura nella cartella del progetto
- Verificate settings.json per errori di sintassi
Dettagli tecnici
| Proprietà | Valore |
|---|---|
| Extension ID | wvds.wvds-vscode-projects |
| Attivazione | workspaceContains:/*.lpr, onLanguage:pascal |
| Dipendenze | wvds-vscode-core |
| Min. VS Code | 1.85.0 |