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