IDE tricks/sk
│
Deutsch (de) │
English (en) │
français (fr) │
magyar (hu) │
日本語 (ja) │
한국어 (ko) │
русский (ru) │
slovenčina (sk) │
中文(中国大陆) (zh_CN) │
Vytvorenie nového súboru pomocou Open File
Môžete buď vytvoriť nový súbor a uložiť ho, alebo ho môžete vytvoriť v jednom kroku. Jednoducho vyvolajte otvorenie súboru (Ctrl+O) a vyberte neexistujúci súbor, napr. unit1.pas. IDE sa vás spýta, či súbor vytvoriť.
Prispôsobenie východzej novej unity / formulára
Od verzie 0.9.27 môžete pravým tlačidlom kliknúť na 'New unit' / 'New form' v paneli nástrojov a nastaviť typ súboru, aký sa bude vytvárať. Môžete zaregistrovať viacero typov súborov pomocou IDEIntf alebo pomocou balíčka šablón projektov.
Makrá v IDE
IDE Macros in paths and filenames
Získanie parametrov kompilera z príkazového riadka
Môžete skopírovať paremetre z Project | Compiler Options | Show Options. Cesty sú tu uvedené relatívne k adresáru projektu, preto ich obvykle môže používať bez upravovania.
Parametre sú tiež uložené v súbore <názov projektu>.compiled v adresári, kde sa vytvára spustiteľný súbor. Je to obyčajný XML súbor, preto ho môžete skopírovať, upraviť cesty a použiť pri kompilovaní na inom počítači.
Pre balíčky to funguje úplne rovnako.
Takýmto spôsobom môžete kompilovať váš kód mimo Lazarus IDE.
Zatvorenie všetkých editovaných súborov okrem jedného
Pod gtk (Linux / Mac OS X / FreeBSD) záložky v okne Source Editor majú napravo tlačidlo 'Zatvoriť'. Stlačte Ctrl+kliknite na tlačidlo, a zatvoria sa všetky ostatné záložky.
Paleta komponentov
Hľadanie komponenty na palete
Pravým tlačidlom kliknite na hocijakú komponentu na palete, otvorí sa vyskakovacie menu. Vyberte 'Find component'. Zadajte názov (aspoň časť) hľadanej komponenty.
Otvorenie balíčka z ktorého pochádza komponenta na palete
Pravým tlačidlom kliknite na komponentu a vyberte 'Open package'
Nájdenie dekláracie komponenty na palete
Pravým tlačidlom kliknite na komponentu a vyberte 'Open unit'
Moja aplikácia spôsobí zatuhnutie mojej linuxovej pracovnej plochy
X (vaša pracovná plocha) môže zatuhnúť, ak aplikácia, ktorá sprácováva nejakú udalosť myši bola zastavená debugerom gdb.
Použitie druhej relácie X
Druhé X môžete zapnúť príkazom:
X :1 &
potom pomocou Ctrl-Alt-F7 sa prepnete do :0 a Ctrl-Alt-F8 do :1 Potom ako zapnete druhé X, môžete zapnúť aj druhú reláciu napr. gnome, pomocou:
gnome-session --display=:1 &
Použitie VNC
Môžete použiť vncserver/client nainštalovaním tightvncserver/realvncserver. Server zapnete príkazom:
vncserver :1
Potom sa na neho môžete pripojiť pomocou vncviewer.
Debugujte aplikácia na druhom servri
V Lazarovi, v 'Run Parameters' nastavte 'use display' na:
:1
Teraz vaša aplikácia pobeží na druhom servri, takže keď ju budete debugovať, zatuhne len druhý server (čo ale nie je problém, lebo vy pracujete na prvom).
Ako kompilovať IDE rýchlejšie
Práce na samotnom Lazarovi obvykle vyžadujú prekompilovávanie IDE veľmi často. Pokiaľ použijete nasledovné triky, máte dostatok pamäte a výkonný procesor, mali by ste byť schopný rekomplivať IDE za pár sekúnd.
- Umiestnite zdrojové kódy Lazara na rýchly harddisk, nie na pomalý sieťový filesystém.
- Nainštalujte len potrebné balíčky.
- Nastavte USESVN2REVISIONINC=0, aby sa nevykonávala aktualizácia revision.inc.
- Kompilujte po častiach. Ak prekompilujete registráciu balíčkov, všetky preinštalované balíčky sa prekompilujú tiež. Ak prekompilujete IDEIntf, všetky nainštalované designové balíčky sa prekompilujú.
Debugovanie IDE pomocou DebugLn
IDE zapisuje veľké množstvo použiteľných informácii pomocou DebugLn. Viac [[1]]
Vyhľadanie zdrojového kódu IDE okna
- Otvorte IDE okno.
- Stlačte Ctrl+Shift+F1, otvorí sa editor nápovedy.
- Zapamätajte si názov triedy okna. Zatvorte okno.
- Použite Find In Files na nájdenie zdrojového súboru triedy.
Object Inspector: Events: Frames: Skok na zdrojový kód odvodenej udalosti
V okne Object Inspector sa zobrazujú udalosti odvodených udalostí ako ClassName.MethodName. Dvojitým kliknutím vytvoríte novú udalosť. Ctrl+kliknutím skočíte rovno do tela odvodenej metódy, bez vytvorenia novej metódy.
Udalosti (Events) v okne Object Inspector
Udalosti ("vlastnosti majúce ako hodnotu metódu") sú špeciálne vlastnosti, lebo potrebujú ako hodnotu smerník na adresu kódu, ktorý neexistuje počas designu. Preto Lazarus používa rovnaký trik ako Delphi: Každá metóda sa dá pretypovať do TMethod, ktorá obsahuje Data (smerník na objekt alebo triedu) a Code (smerník na adresu kódu). Normálne sú obidva nil. IDE nastaví Data na špeciálny kľúč v internej lookup tabuľke a nastaví Code na nil. To znamená
- Počas behu programu, keď sa načítava .lfm súbor, sa použije skutočná (Data+Code) metóda.
- Počas deignu, hodnota môže byť buď reálna metóda (Data<>nil and Code<>nil), alebo vymyslená (fake) metóda (Data<>nil and Code=nil)
- Z dôvodu kompatibility s Delphi má kompiler niekoľko špecialít:
Nepoužívajte:
if OnMyEvent<>nil then OnMyEvent(...); // zle, lebo kontroluje tiež Data
Pretože tento spôsob kontroluje aj Code aj Data, pokúsi sa vykonať vymyslenú (fake) metódu, skočí do nil a nastane výnimka. Namiesto toho používajte funkciu Assign:
if Assigned(OnMyEvent) then OnMyEvent(...); // správne, kontroluje len Code
Nepoužívajte:
if OnMyEvent=NewValue then exit; // zle, lebo kontroluje len Code
Namiesto toho používajte
if CompareMem(@FOnMyEvent,@NewValue,SizeOf(TMethod)) then exit; // správne, kontroluje aj Code aj Data