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

  1. FileAdd Folder to Workspace…
  2. Aggiungete tutte le cartelle dei progetti
  3. FileSave Workspace As…

Selezionare un progetto

Con più progetti:

  1. Aprite un file del progetto desiderato
  2. Oppure: selezionate il progetto nel Project Explorer

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:

  1. Verificate se l'estensione è installata
  2. Controllate la Developer Console per errori
  3. Riavviate VS Code

Il progetto non viene riconosciuto

Causa: Nessun file .lpr, .dpr o .pas nella cartella.

Soluzione:

  1. Assicuratevi che esista un file principale
  2. Aprite la cartella con FileOpen Folder…

Le impostazioni del progetto non vengono salvate

Causa: Permessi di scrittura mancanti o configurazione errata.

Soluzione:

  1. Controllate i permessi di scrittura nella cartella del progetto
  2. 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

Vedere anche

Zuletzt geändert: il 29/01/2026 alle 22:28