====== Namestitev in nastavitev ======
Navodila za nastavitev WvdS FPC Tools v Visual Studio Code.
===== Namestitev razširitve =====
==== Varianta 1: Extension Pack (priporočeno) ====
- Odprite VSCode
- Extensions Sidebar (''Ctrl+Shift+X'')
- Iskanje: ''WvdS FPC Tools''
- Kliknite **Install** — samodejno namesti vse tri razširitve
==== Varianta 2: Posamezne razširitve ====
Če potrebujete samo določene razširitve:
| Razširitev | Package-ID |
^ Solution Manager | ''wvds.wvds-fpc-solution-manager'' |
^ PAS2JS Studio | ''wvds.wvds-fpc-pas2js-studio'' |
^ ISS Designer | ''wvds.wvds-fpc-iss-designer'' |
PAS2JS Studio in ISS Designer zahtevata Solution Manager.
==== Varianta 3: VSIX-datoteka ====
code --install-extension wvds-fpc-solution-manager-0.1.0.vsix
code --install-extension wvds-fpc-pas2js-studio-0.1.0.vsix
code --install-extension wvds-fpc-iss-designer-0.1.0.vsix
===== Nastavitev Toolchain =====
==== Free Pascal Compiler (FPC) ====
**Prenos:** [[https://www.freepascal.org/download.html]] ali prek [[https://github.com/LongDirtyAnimAlf/fpcupdeluxe|fpcupdeluxe]]
**Priporočena namestitev:**
| Varianta | Pot |
^ Lazarus-Bundle | ''C:\Lazarus'' (vsebuje FPC + Lazarus + pas2js) |
^ fpcupdeluxe | Po meri |
**Nastavitev v VSCode:**
* ''fpc-solution-manager.fpcPath'' — Pot do FPC prevajalnika
* ''fpc-solution-manager.lazbuildPath'' — Pot do lazbuild
* ''fpc-solution-manager.lazarusPath'' — Namestitveni imenik Lazarus
Ali: **Setup Toolchain** čarovnik prek Command Palette (''Ctrl+Shift+P'' → ''Setup Toolchain'').
Razširitev samodejno odkrije FPC-namestitve na standardnih poteh.
==== pas2js ====
pas2js je vključen v Lazarus-Bundle (od verzije 3.0). Ločen prenos:
[[https://wiki.freepascal.org/pas2js]]
**Nastavitev:**
* ''fpc-pas2js.pas2jsPath'' — Pot do ''pas2js.exe''
* ''fpc-pas2js.pas2jsRtlPath'' — Pot do pas2js RTL paketov
==== InnoSetup ====
**Prenos:** [[https://jrsoftware.org/isinfo.php]]
**Nastavitev:**
* ''fpc-iss.innoSetupPath'' — Pot do ''iscc.exe'' (npr. ''C:\Program Files (x86)\Inno Setup 6\iscc.exe'')
==== Pascal Language Server (pasls) ====
Opcijsko, a priporočeno za Code Completion in navigacijo.
**Prenos:** [[https://github.com/castle-engine/pascal-language-server]]
**Minimalne zahteve:** FPC >= 3.2.0 + Lazarus (za lazbuild)
=== Varianta A: Prevajanje iz izvorne kode (priporočeno) ===
# 1. Kloniraj repozitorij
cd D:\Workspace\3rd
git clone https://github.com/castle-engine/pascal-language-server.git
cd pascal-language-server
git submodule update --init --recursive
# 2. Prevedi z lazbuild
cd server
C:\Lazarus\lazbuild.exe pasls.lpi
# 3. Namesti binarno datoteko
copy pasls.exe C:\Lazarus\pasls.exe
=== Varianta B: Castle Game Engine ===
pasls je priložen [[https://castle-engine.io|Castle Game Engine]] (''bin/pasls.exe''). Slabost: ~500 MB prenos za 5-MB binarno datoteko.
=== Nastavitev ===
* ''fpc-solution-manager.pasls.enabled'' — ''true'' (privzeto)
* ''fpc-solution-manager.paslsPath'' — Pot do ''pasls.exe'' (samodejna zaznava išče v ''C:\Lazarus'', imenik Lazarus, FPC-bin imenik in PATH)
* ''fpc-solution-manager.fpcSourcePath'' — Pot do FPC-izvorne kode (npr. ''C:\Lazarus\fpc\3.3.1\source'') — posredovano kot ''FPCDIR'' strežniku pasls
=== Podprte LSP-funkcionalnosti ===
| Funkcionalnost | Tipka | Status |
^ Code Completion | ''Ctrl+Space'' | Na voljo |
^ Signature Help | samodejno ob ''('' | Na voljo |
^ Go to Definition | ''F12'' | Na voljo |
^ Go to Declaration | ''Ctrl+Click'' | Na voljo |
^ Go to Implementation | ''Ctrl+Shift+F12'' | Na voljo (prek Definition-Fallback) |
^ Document Symbols (Outline) | ''Ctrl+Shift+O'' | Na voljo (metode/procedure) |
^ Workspace Symbols | ''Ctrl+T'' | Na voljo |
^ Hover s tipsko informacijo + PasDoc | miškin kazalec | Na voljo (pasls-nativno + Fallback) |
^ Find All References | ''Shift+F12'' | Na voljo |
^ Document Highlight | samodejno | Na voljo |
^ Rename Symbol | ''F2'' | Načrtovano (zahteva posodobitev pasls) |
^ Diagnostics (napake/opozorila) | — | Načrtovano (zahteva posodobitev pasls) |
=== Razhroščevanje/dnevnik ===
pasls je mogoče konfigurirati prek datoteke ''castle-pasls.ini'' (pot dnevnika, podrobnost). Datoteko postavite poleg ''pasls.exe''.
===== Prvi projekt =====
==== Odpiranje obstoječega Lazarus-projekta ====
- Odprite mapo z ''.lpi'' ali ''.lpg'' datoteko v VSCode
- Solution Manager se samodejno pojavi v Activity Bar (levo)
- Projektno drevo prikazuje enote, obrazce, pakete, odvisnosti
==== Ustvarjanje novega projekta ====
- Command Palette: ''New Project...''
- Izberite vrsto projekta (Console, GUI, Library, ...)
- Vnesite ime in lokacijo shranjevanja
- Projekt se ustvari in prikaže v Tree View
==== pas2js Extension-projekt ====
- Odprite mapo z ''package.json'' (VSCode Extension Manifest)
- Solution Manager samodejno prepozna projekt kot virtualni pas2js-projekt
- Build: ''Ctrl+Shift+B'' ali Tree View → Build
===== Bližnjice na tipkovnici =====
| Bližnjica | Dejanje |
^ ''Ctrl+Shift+B'' | Build Project |
^ ''F5'' | Run Project |
^ ''F9'' | Build and Run |
^ ''Shift+F9'' | Rebuild Project |
^ ''Ctrl+Shift+C'' | Clean Project |
^ ''F4'' | Properties |
^ ''F12'' | Toggle Form/Code |
^ ''Ctrl+Shift+A'' | Add Unit |
^ ''Ctrl+Shift+M'' | Select Build Mode |
^ ''Ctrl+Shift+R'' | Refresh Tree |
^ ''Shift+F5'' / ''Ctrl+F2'' | Stop Process |
^ ''Alt+Shift+R'' | Reveal in Explorer |
===== Preverjanje =====
Po namestitvi preverite:
- **Activity Bar:** Ali je ikona FPC Solution Manager vidna?
- **Tree View:** Ali se projekti prepoznajo in prikazujejo?
- **Build:** Ali ''Ctrl+Shift+B'' uspešno prevede?
- **Output:** Ali kanal ''FPC Solution Manager'' prikazuje dnevniška sporočila?
===== Odpravljanje napak =====
==== Razširitev se ne aktivira ====
* Preverite, ali je ''package.json'', ''.lpi'' ali ''.lpg'' prisotna v Workspace
* Output Panel → Preverite kanal ''FPC Solution Manager''
* Ponovno naložite VSCode: ''Developer: Reload Window''
==== Prevajalnik ni najden ====
* Preverite poti v nastavitvah (''fpc-solution-manager.fpcPath'')
* Zaženite čarovnik ''Setup Toolchain''
* Preverite namestitev Lazarus: ''fpc -v'' v terminalu
==== pasls ne deluje ====
* ''fpc-solution-manager.pasls.enabled'' nastavite na ''true''
* Pot do ''pasls.exe'' nastavite v ''fpc-solution-manager.paslsPath''
* ''fpc-solution-manager.lazarusSourcePath'' mora kazati na Lazarus-izvorno kodo
===== Glej tudi =====
* [[.:start|WvdS FPC Tools pregled]]
* [[.:solution-manager|FPC Solution Manager]]
* [[.:pas2js-studio|FPC PAS2JS Studio]]
* [[.:iss-designer|FPC ISS Designer]]