====== Domande frequenti (FAQ) ======
Risposte alle domande frequenti sulla suite WvdS FPC RAD Studio.
===== Installazione e setup =====
==== Quale versione di VS Code è richiesta? ====
**Minimo VS Code 1.85.0.** Consigliamo la versione stabile più recente.
Verifica:
code --version
==== Devo installare Lazarus? ====
**Non obbligatoriamente, ma consigliato.**
* **Con Lazarus:** Tutte le funzionalità disponibili, setup più semplice
* **Senza Lazarus:** Solo FPC, nessun progetto GUI LCL
Per progetti Desktop GUI con LCL, Lazarus è necessario.
==== La suite funziona su Linux/macOS? ====
**Sì, con alcune limitazioni.**
^ Funzionalità ^ Windows ^ Linux ^ macOS ^
| Compilazione base | Sì | Sì | Sì |
| pas2js | Sì | Sì | Sì |
| Installer Inno Setup | Sì | No | No |
| Cross-compilation WSL | Sì | N/A | N/A |
==== Come disinstallo la suite? ====
code --uninstall-extension wvds.wvds-vscode-core
code --uninstall-extension wvds.wvds-vscode-build
# ... altre estensioni
Oppure: In VS Code Extensions -> Clic destro -> "Uninstall"
===== Compilazione =====
==== Perché FPC non trova le mie unit? ====
**Possibili cause:**
- **Percorsi unit non configurati** - Controllate le impostazioni del progetto
- **Maiuscole/minuscole errate** - Linux/macOS sono case-sensitive
- **Unit non compilata** - Assicuratevi che la unit esista
**Soluzione:** Aggiungete i percorsi delle unit nelle impostazioni del progetto.
==== Cosa significa "Fatal: Can't find unit..."? ====
FPC non riesce a trovare una unit referenziata.
**Passi per la soluzione:**
- Controllate l'ortografia nella clausola uses
- Verificate che il file della unit esista
- Aggiungete il percorso ai percorsi di ricerca delle unit
==== Come compilo per piattaforme diverse? ====
**Cross-compilation nativa:**
- Installate il cross-compiler FPC
- Selezionate il target nelle impostazioni del progetto
**Con WSL (Windows):**
{
"wvds.toolchain.wslEnabled": true,
"wvds.toolchain.wslDistribution": "Ubuntu-22.04"
}
==== Perché la compilazione è lenta? ====
**Possibili cause:**
- **Molte unit** - Il build incrementale aiuta
- **Antivirus** - Aggiungete un'eccezione per la cartella del progetto
- **Unità di rete** - Usate l'archiviazione locale
**Suggerimenti:**
- Usate "Build" invece di "Rebuild"
- Attivate lo Smart Linking
- Riducete le informazioni di debug in release
===== UI Designer =====
==== Qual è la differenza tra PXAML e LFM? ====
^ Aspetto ^ PXAML ^ LFM ^
| Formato | XML (leggibile) | Proprietario |
| Strumento | WvdS Designer | Lazarus IDE |
| Target | GUI, TUI, Web | Solo GUI |
| Controllo versione | Diff-friendly | Difficile |
==== Posso convertire file LFM esistenti? ====
**Attualmente non direttamente.** PXAML è un nuovo formato con un concetto diverso.
Alternative:
* Ricreare nel Designer
* Convertire manualmente
* Sviluppo di tool pianificato
==== Perché l'anteprima non si aggiorna? ====
**Passi per la soluzione:**
- Salvate il file (''Ctrl+S'')
- Controllate ''wvds.preview.autoRefresh''
- Eseguite ''WVDS: Refresh Preview''
- Verificate errori di sintassi PXAML
==== Il Designer supporta il Data Binding? ====
**Sì, ma limitato in design-time.**
* La sintassi binding è supportata
* Vengono visualizzati valori statici
* Il binding reale solo a runtime
===== Projects =====
==== Come creo un workspace multi-progetto? ====
- ''File'' -> ''Add Folder to Workspace...''
- Aggiungete le cartelle dei progetti
- ''File'' -> ''Save Workspace As...''
==== Posso aprire progetti Delphi (.dpr)? ====
**Parzialmente.** La sintassi è supportata, ma:
* Mancano unit specifiche Delphi
* VCL non è supportata
* I file di progetto (.dproj) non vengono letti
Raccomandazione: Migrare il progetto a FPC/Lazarus.
==== Come condivido codice tra progetti? ====
**Opzioni:**
- **Cartella condivisa:** Unit in una cartella comune, configurare i percorsi
- **Package:** Creare un package Lazarus
- **Copia:** Copiare la unit (non raccomandato)
===== Packaging =====
==== Come pubblico la mia estensione? ====
- Create un account publisher su [[https://marketplace.visualstudio.com/manage|VS Marketplace]]
- Create un Personal Access Token su [[https://dev.azure.com|Azure DevOps]]
- Eseguite ''WVDS: Publish Package''
==== Perché il mio pacchetto viene rifiutato? ====
**Motivi comuni:**
* README mancante o vuoto
* Versione già pubblicata
* package.json non valido
* Publisher ID non corrispondente
Controllate l'output nel Terminal per dettagli.
==== Posso distribuire estensioni private? ====
**Sì, senza Marketplace:**
- Create il pacchetto VSIX
- Distribuite il file internamente (rete, email, ecc.)
- Installazione: ''code --install-extension file.vsix''
===== Risoluzione dei problemi =====
==== VS Code mostra "Extension not found" ====
**Soluzioni:**
- Riavviate VS Code
- Disinstallate e reinstallate l'estensione
- Controllate la Developer Console (''Help'' -> ''Toggle Developer Tools'')
==== "Command not found" per i comandi WvdS ====
**Soluzioni:**
- Verificate se l'estensione è attivata
- Attendete l'attivazione completa dopo l'avvio
- Controllate le dipendenze (Core Extension installata?)
==== Dove trovo i log? ====
**VS Code Output:**
- ''View'' -> ''Output''
- Dropdown: "WvdS"
**Extension Host Log:**
- ''Help'' -> ''Toggle Developer Tools''
- Tab Console
**Build Log:**
- Pannello Terminal
- ''binaries/logs/'' (se configurato)
==== Come segnalo un bug? ====
GitHub Issues: [[https://github.com/ArmandoFilho/WvdS.FPC/issues|github.com/ArmandoFilho/WvdS.FPC/issues]]
Indicate:
* Versione VS Code
* Versione estensione
* Sistema operativo
* Passi per riprodurre
* Messaggi di errore (estratti log)
===== Confronto con alternative =====
==== WvdS Suite vs. Lazarus IDE ====
^ Aspetto ^ WvdS Suite ^ Lazarus IDE ^
| IDE | VS Code | IDE proprietario |
| Linguaggio | Pascal | Pascal |
| Formato UI | PXAML (XML) | LFM |
| Supporto Web | Sì (pas2js) | Limitato |
| Supporto TUI | Sì | No |
| Estendibilità | Ecosistema VS Code | Package Lazarus |
| Curva apprendimento | Piatta (utenti VS Code) | Media |
==== WvdS Suite vs. OmniPascal ====
^ Aspetto ^ WvdS Suite ^ OmniPascal ^
| Focus | RAD Studio (completo) | Sintassi + completamento |
| UI Designer | Sì | No |
| Sistema build | Integrato | Esterno |
| Template progetto | Sì | No |
| Prezzo | Gratuito (MIT) | Freemium |
===== Altre domande? =====
* **Documentazione:** Queste pagine wiki
* **GitHub:** [[https://github.com/ArmandoFilho/WvdS.FPC|github.com/ArmandoFilho/WvdS.FPC]]
* **Issues:** [[https://github.com/ArmandoFilho/WvdS.FPC/issues|Bug report e richieste funzionalità]]