====== 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à]]