Sign in Join
Wiki copytemporary

IDE tricks/sk

한국어 · Deutsch · English · Français · Magyar · Slovenčina · Русский · 中文(中国) · 日本語

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.

Debugovanie IDE pomocou DebugLn

IDE zapisuje veľké množstvo použiteľných informácii pomocou DebugLn. Viac tu

Vyhľadanie zdrojového kódu IDE okna

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á

Nepoužívajte:

pascal
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:

pascal
if Assigned(OnMyEvent) then OnMyEvent(...); // správne, kontroluje len Code

Nepoužívajte:

pascal
if OnMyEvent=NewValue then exit; // zle, lebo kontroluje len Code

Namiesto toho používajte

pascal
if CompareMem(@FOnMyEvent,@NewValue,SizeOf(TMethod)) then exit; // správne, kontroluje aj Code aj Data

From the Free Pascal wiki, page "IDE tricks/sk", as it stood on 2020-02-17 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.