====== Frequently Asked Questions (FAQ) ====== Answers to common questions about the WvdS FPC RAD Studio suite. ===== Installation and Setup ===== ==== What VS Code version is required? ==== **At least VS Code 1.85.0.** We recommend the latest stable version. Check: code --version ==== Do I need to install Lazarus? ==== **Not mandatory, but recommended.** * **With Lazarus:** All features available, easier setup * **Without Lazarus:** Only FPC, no LCL GUI projects For desktop GUI projects with LCL, Lazarus is required. ==== Does the suite work on Linux/macOS? ==== **Yes, with limitations.** ^ Feature ^ Windows ^ Linux ^ macOS ^ | Basic compilation | Yes | Yes | Yes | | pas2js | Yes | Yes | Yes | | Inno Setup Installer | Yes | No | No | | WSL Cross-Compilation | Yes | N/A | N/A | ==== How do I uninstall the suite? ==== code --uninstall-extension wvds.wvds-vscode-core code --uninstall-extension wvds.wvds-vscode-build # ... other extensions Or: In VS Code Extensions -> Right-click -> "Uninstall" ===== Compilation ===== ==== Why doesn't FPC find my units? ==== **Possible causes:** - **Unit paths not configured** - Check the project settings - **Incorrect case** - Linux/macOS are case-sensitive - **Unit not compiled** - Ensure the unit exists **Solution:** Add unit paths in the project settings. ==== What does "Fatal: Can't find unit..." mean? ==== FPC cannot find a referenced unit. **Steps to resolve:** - Check the spelling in the uses clause - Check if the unit file exists - Add the path to the unit search paths ==== How do I compile for different platforms? ==== **Native cross-compilation:** - Install FPC cross-compiler - Select target in project settings **With WSL (Windows):** { "wvds.toolchain.wslEnabled": true, "wvds.toolchain.wslDistribution": "Ubuntu-22.04" } ==== Why is my compilation slow? ==== **Possible causes:** - **Many units** - Incremental build helps - **Antivirus** - Add exception for project folder - **Network drive** - Use local storage **Tips:** - Use "Build" instead of "Rebuild" - Enable smart linking - Reduce debug information in release ===== UI Designer ===== ==== What is the difference between PXAML and LFM? ==== ^ Aspect ^ PXAML ^ LFM ^ | Format | XML (human-readable) | Proprietary | | Tool | WvdS Designer | Lazarus IDE | | Targets | GUI, TUI, Web | GUI only | | Version Control | Diff-friendly | Difficult | ==== Can I convert existing LFM files? ==== **Not directly at this time.** PXAML is a new format with a different concept. Alternatives: * Recreate in the Designer * Convert manually * Tool development planned ==== Why doesn't the preview update? ==== **Steps to resolve:** - Save the file (''Ctrl+S'') - Check ''wvds.preview.autoRefresh'' - Run ''WVDS: Refresh Preview'' - Check for PXAML syntax errors ==== Does the Designer support data binding? ==== **Yes, but limited at design time.** * Binding syntax is supported * Static values are displayed * Real data binding only at runtime ===== Projects ===== ==== How do I create a multi-project workspace? ==== - ''File'' -> ''Add Folder to Workspace...'' - Add project folders - ''File'' -> ''Save Workspace As...'' ==== Can I open Delphi projects (.dpr)? ==== **Partially.** The syntax is supported, but: * Delphi-specific units are missing * VCL is not supported * Project files (.dproj) are not read Recommendation: Migrate project to FPC/Lazarus. ==== How do I share code between projects? ==== **Options:** - **Shared folder:** Units in common folder, configure paths - **Package:** Create Lazarus package - **Copy:** Copy unit (not recommended) ===== Packaging ===== ==== How do I publish my extension? ==== - Create publisher account at [[https://marketplace.visualstudio.com/manage|VS Marketplace]] - Create Personal Access Token at [[https://dev.azure.com|Azure DevOps]] - Run ''WVDS: Publish Package'' ==== Why is my package rejected? ==== **Common reasons:** * README missing or empty * Version already published * Invalid package.json * Publisher ID mismatch Check the Terminal output for details. ==== Can I distribute private extensions? ==== **Yes, without Marketplace:** - Create VSIX package - Distribute file internally (network, email, etc.) - Installation: ''code --install-extension file.vsix'' ===== Troubleshooting ===== ==== VS Code shows "Extension not found" ==== **Solutions:** - Restart VS Code - Uninstall and reinstall extension - Check Developer Console (''Help'' -> ''Toggle Developer Tools'') ==== "Command not found" for WvdS commands ==== **Solutions:** - Check if the extension is activated - Wait after startup for complete activation - Check dependencies (Core extension installed?) ==== Where can I find logs? ==== **VS Code Output:** - ''View'' -> ''Output'' - Dropdown: "WvdS" **Extension Host Log:** - ''Help'' -> ''Toggle Developer Tools'' - Console tab **Build logs:** - Terminal panel - ''binaries/logs/'' (if configured) ==== How do I report a bug? ==== GitHub Issues: [[https://github.com/ArmandoFilho/WvdS.FPC/issues|github.com/ArmandoFilho/WvdS.FPC/issues]] Please include: * VS Code version * Extension version * Operating system * Steps to reproduce * Error messages (log excerpts) ===== Comparison with Alternatives ===== ==== WvdS Suite vs. Lazarus IDE ==== ^ Aspect ^ WvdS Suite ^ Lazarus IDE ^ | IDE | VS Code | Own IDE | | Language | Pascal | Pascal | | UI Format | PXAML (XML) | LFM | | Web Support | Yes (pas2js) | Limited | | TUI Support | Yes | No | | Extensibility | VS Code ecosystem | Lazarus packages | | Learning Curve | Flat (VS Code users) | Medium | ==== WvdS Suite vs. OmniPascal ==== ^ Aspect ^ WvdS Suite ^ OmniPascal ^ | Focus | RAD Studio (complete) | Syntax + Completion | | UI Designer | Yes | No | | Build System | Integrated | External | | Project Templates | Yes | No | | Price | Free (MIT) | Freemium | ===== More Questions? ===== * **Documentation:** These wiki pages * **GitHub:** [[https://github.com/ArmandoFilho/WvdS.FPC|github.com/ArmandoFilho/WvdS.FPC]] * **Issues:** [[https://github.com/ArmandoFilho/WvdS.FPC/issues|Bug Reports and Feature Requests]]