V minulé lekci jsme si řekli, jaké možnosti každé dobré IDE nabízí. Nyní se podíváme, jak své prostředí nastavit tak, aby nám co nejvíce vyhovovalo.
V této lekci se dozvíte, co které nastavení dělá. Nejdůležitější je mít správně nastavené adresáře, jinak se může stát, že vaše programy nebudou fungovat. O tom jsme si povídali v minulé lekci. Dnes se podíváme hlavně na nastavení kompilátoru.
Následující lekci je nejlepší studovat tak, že si sami projdete všechny nabídky nastavení. Pokud nebudete vědět, co některá volba znamená, můžete se podívat sem (či stisknout F1). Také si přečtěte doporučené nastavení.
I dnes popisuji prostředí Borland Pascal 7.0 (jehož předchůdcem je Turbo Pascal). Free Pascal se trošku liší.
IDE nám umožňuje uložit si spoustu různých nastavení, v případě potřeby si tak můžeme nahrát předem vytvořenou konfiguraci,
která se nám nejvíce hodí (např. je možné mít jedno nastavení na tvorbu programu, jedno na jeho ladění a jedno na finální
překlad).
Jedno nastavení ale musí být hlavní, to se načte při spuštění programu. Toto nastavení ukládáme pomocí Options/Save.
Vytvoříme-li nějaké jiné, uložíme ho pomocí Options/Save as a dáme mu nějaké výstižné jméno (Pascal byl napsán pro DOS,
takže smí obsahovat pouze písmena a číslice a smí mít nejvýše osm znaků, tradiční přípona je .TP).
Toto nastavení pak kdykoli načteme pomocí Options/Open.
Zkoušejte si hrát s nastavením, pokud změny neuložíte, můžete se kdykoli vrátit zpět pomocí Options/Open a vybráním
souboru BP.TP (kam se ukládá hlavní nastavení).
Pokud změny pomocí Options/Save neuložíte, při dalším spuštění Pascalu to bude, jako byste nic nezměnili.
Toto je nejdůležitější nastavení vůbec. Co všechno je zapotřebí udělat.
Nastavujeme-li adresáře, Pascal povoluje psát adresy relativní (vztahují se k aktuálně nastavenému adresáři) i absolutní (jsou na tomto nastavení nezávislé, ale můžou být zatraceně dlouhé), je dokonce možné psát relativní adresy na jiných discích. Pokud potřebuje zadat více adresářů, oddělíme je středníkem (za kterým může, ale nemusí být mezera). Celková délka takto zadaného seznamu je ale omezena 255 znaky.
Uveďme si pár možných příkladů takovéto adresy:
Příklad | Význam |
---|---|
A:\ME_DILO\EXE | Absolutní adresa |
..\EXECUTE | Relativní adresa (nezačíná jménem disku ani zpětným lomítkem) |
\EXECUTE | Absolutní adresa (začíná zpětným lomítkem -- na aktuálním disku) |
B:EXECUTE | Relativní adresa (ovšem na jiném disku) |
Seznam se bude prohledávat od začátku, dokud Pascal nenarazí na výskyt daného souboru. Nenajde-li jej ani v jednom z uvedených adresářů, oznámí chybu.
Je tedy důležité, abychom soubory ukládali pouze do adresářů k tomu určených. Navíc, máme-li v seznamu více položek, musíme zajistit, aby Pascal našel správnou verzi souboru jako první. (Tomu se vyhneme tak, že všude uvedeme jen jeden adresář, či tak, že si přesně určíme pravidla, co kam máme ukládat.)
Toto nastavení je zdaleka nejobtížnější. Záleží na něm, jestli, jak a jak rychle bude náš program fungovat. Většina voleb se ovšem dá zapnout přímo v programu pomocí tzv. direktiv překladače. Chceme-li např. zapnout rozšířenou syntaxi (Extended syntax), můžeme do našeho programu napsat {$X+}. Podobně pokud ji chceme vypnout, napíšeme {$X-}.
Abychom správně rozuměli některým volbám, vysvětlíme si rozdíl mezi reálným, chráněným módem a prostředím Windows.
Reálný mód (Real mode)se používal kdysi, je to mód určený pro malé aplikace.
Zhruba řečeno, o vše se stará procesor sám. V tomto módu je maximální velikost přístupné paměti omezena na 2MB,
operační systém nemá žádnou kontrolu nad tím, co program dělá. Chceme-li v tomto módu využít swapovací soubor,
musíme se o jeho správu starat sami (slouží k tomu jednotka Overlays).
Chráněný mód (Protected mode) - operační systém přiděluje programu paměť podle potřeby sám,
nemusíme si tedy lámat hlavu swapováním. Na druhou stranu OS kontroluje náš program, jestli nedělá
nějaké pitomosti a v případě nutnosti ho ukončí (typicky při pokusu o čtení z neinicializovaného ukazatele).
Tento mód má tu výhodu, že se nám nepodaří shodit počítač (a pokud jo, může za to operační systém a ne my).
Mód Windows - no, co si budeme povídat je to chráněný mód, jen umožňuje volat některé známé funkce operačního systému MS-Windows,
takže se v něm snáze programují Windowsí aplikace.
Vhodný mód pro náš program nastavíme v Compile/Target. Já doporučuji mít nastaven Protected, neprogramujeme-li pro Windows.
Compiler setting for udává, k jakému módu se nastavení vztahuje.
Popišme si, co které nastavení znamená:
Popisuje, jak bude vypadat výsledný kód.
Název | Direktiva překladače | Popis | Poznámka |
---|---|---|---|
Force far calls | {$F+} zapne, {$F-} vypne | Všechny funkce budou volány vzdáleně. Je také možné za každou hlavičku psát far;. | Blízké volání pouze v případě výskytu near |
Overlays allowed | {$O+}, {$O-} | Zapne překryvné jednotky a umožní tak, využívat i jakýsi swapovací soubor. | Funguje pouze v Real mode |
Word align data | {$A+}, {$A-} | Velikost všech proměnných zaokrouhlí na násobky wordu | Zvětší velikost programu, ale zrychlí přístup do paměti. |
286 instruction | Zrychlí program, využije instrukce, které mají procesory 286 a novější. | Tak tuhle volbu mějte zaškrtnutou vždy, neprogramujete-li na nějakém exponátu v muzeu. | |
Smart callbacks | {$K+}, {$K-} | Využije služeb Windows k volání procedur | Pouze ve Windows módu |
Windows stack frames | {$W-}, {$W+} | U vzdáleně volaných procedur a funkcí zajistí, že budou volány správně, ať již windows dělají s pamětí cokoli. | Pouze ve Windows módu. Doporučuji zaškrtnout vždy. |
Popisuje, za jakých okolností dojde k vyvolání chyby (a tím pádem k ukončení programu), některé situace ovšem vedou k vyvolání chyby vždy.
Název | Direktiva překladače | Popis | Poznámka |
---|---|---|---|
Range checking | {$R+}, {$R-} | Zadání proměnné mimo mimo její povolený rozsah způsobí error a zastavení programu (podobně zadání indexu, který ukazuje mimo pole). | Užitečné při ladění, jinak zpomaluje, raději ošetřeme sami pomocí if. |
Stack checking | {$S+}, {$S-} | Před každým voláním funkce zjistí, zda je dost paměti. Není-li, vyvolá chybu. | |
I/O checking | Zjistí, zda daná operace s diskem (otevření, zavření souboru) byla úspěšná. Ne-li, vyvolá chybu. | Užitečné, v případě otvírání souboru je lepší na čas vypnout a poté pomocí if zkontrolovat IOResult. | |
Overflow checking | {$Q+}, {$Q-} | Kontroluje, zda daná operace nepřetekla. Pak je výsledek nesmyslný (2*30000 = -5536). Přetekla-li, zastaví program | Velice užitečné při ladění |
Tak tady si nastavíte, čemu všemu bude překladač rozumět. Čím přísnější nastavení použijete, tím více chyb překladač rozpozná. (Některé programy ale s přísným nastavením bohužel psát nejdou.)
Název | Direktiva překladače | Popis | Poznámka |
---|---|---|---|
Strict var-strings | {$V+},{$V-} | Při předávání var stringů proceduře, překladač kontroluje, zda souhlasí typy (string[11] nejde přiřadit do string[12]) | Ušetří kontrolu přetečení řetězců. |
Complete boolean eval | {$B+},{$B-} | Kompletní vyhodnocení boolovských výrazů. Normálně se vyhodnocují jen do chvíle, kdy je jasné, jak dopadnou. | Zpomaluje program. Zapněte na chvíli v případě, že druhá část podmínky volá nějakou funkci s postranním efektem (takové funkce běžně nepoužíváme...) |
Extended syntax | {$X+},{$X-} | Rozšířená syntax - funkce lze volat jako procedury, k ukazatelům lze přičítat, ukazatele lze odčítat | V hojné míře použité v jednotce Strings, programy se pak více podobají Céčku. |
Typed @ operator | {$T+},{$T-} | Adresní ukazatel vrací ukazatel na nějaký typ. Jinak jen obecný pointer, který je nutné přetypovat. | |
Open parametrs | {$P+},{$P-} | Předáváme-li proceduře string, překladač to považuje za typ OpenString. |
Nastavuje, jak podrobné informace budou generovány při překladu. Čím podrobnější, tím snáze se hledá chyba, ale tím je výsledný soubor větší a kompiluje se déle. Doporučuji mít vše zaškrtnuté v okamžiku, kdy hledáte chybu. V okamžiku vypouštění finálního produktu ne.
Název | Direktiva překladače | Popis | Poznámka |
---|---|---|---|
Debug information | {$D+},{$D-} | Zapne generování informací pro debugger. Umožní tak využívat možnosti Search error a Run to cursor a Trace over | |
Local symbols | {$L+},{$L-} | Generuje tabulku lokálních symbolů | Generuje symboly v rámci kompilované unity. Umožní skákat pomocí Step into i do jiných souborů. |
Symbol information | {$Y+},{$Y-} | Informace o symbolech, umožní používat BP browser (Object inspektor, ...). |
Říká počítači, jakým způsobem má zpracovávat čísla. Pokud používáme nestandardní spojité typy (extended, double, comp), zaškrtneme obě možnosti. Jinak počítač při prvním pokusu o počítání s takovýmto typem ohlásí chybu (Samotná deklarace mu nevadí.)
Název | Direktiva překladače | Popis | Poznámka |
---|---|---|---|
8087/80287 | {$N+},{$N-} | Generuje kód pro numerický koprocesor | |
Emulation | {$E+},{$E-} | Pokud počítač nemá numerický koprocesor a je zapnutá předchozí volba, pokusí se jej překladač nahradit normálním procesorem. | Ne pro windows. Dnes numerický procesor nikdo nemá, je vždy zapotřebí zaškrtnout obě volby. |
Sem píšeme seznam dalších definovaných symbolů. Více si o této nabídce povíme v příští lekci, až se budeme bavit o podmíněném překladu.
Pokud náš program volá nějakou proceduru či funkci, musí pro ni v paměti získat místo. Toto místo bere z tzv. zásobníku (Stack). Po skončení funkce ji program ze zásobníku odstraní. Pokud naopak program potřebuje paměť pro nějakou dynamicky alokovanou proměnnou, vezme ji z volné paměti, které se říká hromada (Heap) a v případě chráněného (protected) módu o paměť požádá operační systém.
Následující nastavení se týká pouze reálného módu. Tam si program veškerou paměť spravuje sám. Zhruba řečeno z jedné strany(odshora) volné paměti roste zásobník a z druhé(odspoda) hromada. Následující nastavení ovlivňuje, kdy již se to začne tlouct.
Název | Popis | Poznámka |
---|---|---|
Stack size | Velikost zásobníku v bytech | Kolik prostoru můžou zabírat volané funkce |
Low heap size | Minimální velikost hromady v bytech | Náš program bude mít vždy aspoň tolik dynamické paměti |
High heap limit | Maximální velikost hromady v bytech | Vždy nechte na maximu, pouze v případě, že využíváte funkci Exec, je zapotřebí snížit, ať se má spouštěný program kde spustit. Vždy musí být větší než Minimální velikost hromady! |
Nastavení paměti pro reálný target jde také docílit pomocí direktivy {$M StackSize, HeapMin, HeapMax}, např. pokud na začátek našeho programu napíšeme {$M 16384, 0, 655360}, říkáme překladači, že má pro volání funkcí vyhradit 16384 bytů, minimální velikost hromady nastavit na 0 a maximální na 655360 bytů.
Další část se týká programu v chráněném módu. Tam dynamickou paměť spravuje operační systém a my se o ni nemusíme starat.
Název | Popis | Poznámka |
---|---|---|
Stack size | Velikost zásobníku | Kolik prostoru můžou zabírat volané funkce. |
I pro toto nastavení lze použít direktivu překladače {$M Stacksize}, nastavuje ovšem již jen velikost zásobníku.
Poslední část pojednává o nastavení překladu u programů pro Windows.
Název | Popis | Poznámka |
---|---|---|
Stack size | Velikost zásobníku | Kolik prostoru můžou zabírat volané funkce |
Local heap size | Velikost hromady | Velikost dynamické paměti, o kterou se stará náš program sám. |
Zde má použití direktivy {$M} tvar {$M StackSize, LocalHeapSize}.
Pokud překládáme unitu, nemá toto nastavení žádný vliv, velikost použité paměti závisí pouze na hlavním programu.
Pokud překládáme knihovnu (DLL), bere se v potaz pouze nastavení hromady. Funkce knihovny jsou vždy volány
v zásobníku nějakého programu. Je tedy zbytečné, aby knihovna měla vlastní zásobník.
Toto nastavení řídí, jak se chová linker. To je program, který po překladu jednotlivých .pas souborů dává dohromady výsledný spustitelný program.
Map file je soubor, který obsahuje informace o tom, jak náš program používá paměť. Tento soubor se ukládá do adresáře, který máme nastaven jako OBJECTS Directory. Informace budou úplné, jen pokud máme zapnuté příslušné volby debuggeru v Options/Compiler/Debugging.
Název | Popis |
---|---|
Off | Negeneruje žádný soubor |
Segments | Map file obsahuje pouze informace o tom, kde program začíná, kde končí a jaké používá segmenty. |
Public | Map file obsahuje oproti Segments ještě seznam všech veřejně definovaných symbolů. |
Detailed | Map file obsahuje veškeré informace - seznam všech symbolů + jejich umístění v paměti + informaci z kterého modulu pocházejí. |
Následující nabídka nám říká, jakým způsobem má linker pracovat.
Název | Popis | Poznámka |
---|---|---|
Memory | Linker veškeré informace uchovává v paměti. | Zrychlí překlad, ale může nám dojít paměť. Dnes je paměti vetšinou opravdu dost. |
Disk | Linker informace ukládá na disk. | Zpomalí překlad, na druhou stranu při překladu nemůže dojít paměť. Vyplatí se pro opravdu velikánské projekty. |
Nastavení debuggingu. Pokud hledáme v našem programu chybu, některé nabídky se opravdu hodí.
Můžeme si vybrat, jaký debugger chceme používat.
Název | Popis | Poznámka |
---|---|---|
Integrated debugging/browsing | Debuggovat můžeme v samotném prostředí BP. | Velice rozumná volba, jde použít jen v případě překladu v reálném módu. |
Standalone debugging | K debuggování lze využít i nějaký vnější program. | Máme-li lepší debugger. Je lepší ho nastavit v Tools, ať pak nemusíme při debuggingu vypínat IDE. (Klasicky je takto nastaven Turbo Debugger.) |
U integrovaného debuggeru lze nastavit, jakým stylem zobrazuje procházený kód.
Název | Popis | Poznámka |
---|---|---|
None | Ať již se děje cokoli, debugger ukazuje pouze zdrojový kód programu. | Velice nepraktické, pokud program očekává vstup uživatele. |
Smart | Pokud program zavolá funkci, či něco vypíše na obrazovku, na krátkou chvíli probleskne jeho výstup na obrazovku. | Rozumný kompromis. |
Always | Při každém zavolání příkazu probleskne výstup programu na obrazovku. | Neustále problikávající obrazovka může být otravná. |
Zde nastavujeme adresáře, ve kterých bude kompilátor hledat příslušné soubory. Jediná záludnost je v tom, že adresář OBJECTS
nemá s objektově orientovaným programováním nic společného. U některých polí lze zadat více adresářů oddělených středníkem, u jiných je možné zadat pouze jednu cestu (to poznáte, podle toho, zda je v popisu Directory či Directories)
Je možné zadávat relativní cesty (vztahují se k aktuálnímu adresáři, nezačínají zpětným lomítkem - BIN).
Je možné zadávat absolutní cesty (vztahují se k aktuálnímu disku, začínají zpětným lomítkem - \BORLAND\BP\BIN).
Je možné zadávat absolutní cesty se jménem disku (začínají názvem disku a dvojtečkou - C:\BORLAND\BP\BIN).
Je možné zadávat relativní cesty na jiném disku (začínají názvem disku a pokračují relativní cestou - C:BIN)
Název | Účel | Poznámka |
---|---|---|
EXE & TPU directory | Přeložené soubory a jednotky | Lze zadat jen jednu položku! |
Include directories | Soubory, které vkládáme pomocí direktivy $I$ (či jinak) | |
Unit directories | Vytvořené unity | |
Object directories | Bitové soubory | Jde nejčastěji o výstupy jiných programátorů |
Resource directories | Vzhled windowsích formulářů | Tyto soubory mají příponu .res |
Nastavme si prohlížeč k obrazu svému.
Nejprve nastavíme, co budeme zobrazovat.
Název | Účel |
---|---|
Labels | Návěští |
Constants | Konstanty |
Types | Definované typy |
Variables | Proměnné |
Procedures | Procedury a funkce |
Inherited | U objektů ukazuje i zděděné metody a proměnné |
Osobně doporučuji mít po většinu času nastaveno vše. Jen u velkých objektových programů může být občas výhodné vypnout Inherited. Pokud pátráme po něčem konkrétním, může se vyplatit vypnout i další volby.
Dále nastavíme styl brouzdání.
Název | Účel |
---|---|
New browser | Odkaz se otevře v novém okně |
Replace current | Odkaz se otevře ve stejném okně |
Podstatnou informací je i to, co se bude zobrazovat.
Název | Účel |
---|---|
Scope | Zobrazuje se informace o tom, které další symboly jsou definovány. |
Reference | Zobrazují se čísla řádek, na kterých se daný symbol vyskytuje. |
Toto nastavení není třeba brát moc vážně, téměř kdykoli jde mezi jednotlivými styly zobrazování přepnout pomocí Ctrl-S a Ctrl-R. Doporučuji vyzkoušet.
Můžeme si vybrat i styl zobrazování.
Název | Účel | Poznámka |
---|---|---|
Qualified symbols | Zobrazuje úplnou kvalifikaci. | To znamená, že u objektů poznáme, jestli je daná metoda či proměnná zděděná. Má smysl jen pokud je zaplá volba Inherited. |
Sort always | Seřadí symboly podle abecedy. |
Občas se stane, že nám prostředí BP nevyhovuje a rádi bychom si přidali nějaký další nástroj (externí program), který bychom rádi používali i uvnitř BP. Pascal nám to umožňuje prostřednictvím tzv. nástrojů.
Popišme si podrobně danou nabídku. Vlevo je seznam definovaných nástrojů, klasicky GREP, Turbo Assembler, Turbo Debugger a Turbo Profiler. Vpravo následuje samotná nabídka.
Název | Účel |
---|---|
OK | Ukončí nastavování |
Edit | Umožní editovat položku |
New | Přidá novou položku |
Delete | Smaže vybranou položku |
Cancel | Ukončí nastavování bez provedení změn |
Help | Nápověda |
Podívejme se podrobněji, jak takový nástroj nastavit.
Název | Účel | Poznámka |
---|---|---|
Title | Název nástroje | Pokud nějaké písmeno uzavřete do tild ~G~rep, bude toto písmeno v nabídce Tools zvýrazněno a pomocí příslušné klávesy se k němu budete moci rychleji dostat. |
Program path | Název příslušného spustitelného souboru | Aby toto nastavení správně fungovalo, musíte si trošku pohrát s cestou. |
Command line | Argumenty programu | Je možné využívat tzv. transfer-parametry, o kterých si více povíme v následující lekci. |
Hot Keys | Umožní definovat tzv. horkou klávesu - klávesu, po jejímž stlačení se daný nástroj spustí. | Nastavte si hot-keys pro nejpoužívanější nástroje. Samozřejmě nejde jednu klávesu použít vícekrát. |
Tato nabídka se týká nastavení IDE.
Zde nastavíte to, jak BP nakládá s Desktopem (tj. okny, co právě máte otevřená).
První nastavení se týká obrazovky.
Název | Účel | |
---|---|---|
25 lines | Obrazovka má 25 řádků. | Čitelné písmo. |
43/50 lines | Obrazovka má 43 řádků. | Poměrně obtížně se na to zvyká, je ale vidět větší kus kódu. |
Další nastavení pojednává o trasování kódu.
Název | Účel | Poznámka |
---|---|---|
New window | Je-li potřeba odskočit do nějakého neotevřeného souboru (např. při Trace-Into, či při brouzdání v browseru), otevře se daný odkaz v novém okně. | |
Current window | Je-li potřeba odskočit do nějakého neotevřeného souboru, otevře se daný soubor v právě aktivním okně. |
Nyní se zaměříme na to, jaké informace má při ukončení IDE ukládat.
Další nastavení pojednává o trasování kódu.
Název | Účel | Poznámka |
---|---|---|
Desktop only | BP při ukončení ukládá jen seznam a umístěný otevřených oken. | |
Desktop and symbols | BP při ukončení uloží i seznam symbolů. | Toto nastavení nám umožní při dalším spuštění ihned používat browser bez nutnosti kód kompilovat. |
Nastavit jde i to, kam se má soubor s Desktopem ukládat.
Název | Účel | Poznámka |
---|---|---|
Current directory | Uloží nastavení do aktuálního adresáře. | |
Config file directory | Desktop se uloží do adresáře s nastavením. |
Autosave je velice užitečný nástroj, který nám mnohdy zachrání mnoho hodin práce. Proto doporučuji mít všechna políčka zaškrtnutá.
Název | Účel | Poznámka |
---|---|---|
Editor files | Ukládá všechny soubory, které upravujeme. | Soubory se uloží v případě ukončení IDE či spuštění programu. Neukládají se automaticky po pěti minutách či nějak podobně! |
Environment | Při opuštění IDE uloží nastavení prostředí. | Používejte s rozvahou, občas je lepší mít více možných nastavení a možnost volby. |
Desktop | Při ukončení IDE uloží seznam všech otevřených oken. Při dalším spuštění bude vše vypadat navlas stejně jako v okamžiku ukončení. |
Zde se nastavuje to, co se jinam nevešlo.
Název | Účel | Poznámka |
---|---|---|
Auto track source | Při trasování bude zvýrazňovat řádku, na které se daný kód nachází. | |
Close on go to source | Klepneme-li v browseru na go to source, browser se zavře. | Podle mne je lepší tuto volbu vypnout. |
Change dir on open | Při změně souboru se změní aktuální adresář (na adresář, ve kterém je otvíraný soubor). | Aby při této volbě fungovaly Nástroje, musíme je mít opravdu dobře nastavené. |
Pokud vám některá nastavení přijdou otravná, můžete to tady změnit.
Volba Tab Size udává, kolik mezer znamená jeden tabulátor.
V nastavení Highlight extension můžeme určit, pro jaké přípony souborů bude BP zvýrazňovat pascalskou syntaxi (tj. psát vyhrazená slova bíle, assembler zeleně apod.).
Název | Účel | Poznámka |
---|---|---|
Create backup files | Při otevření souboru vytvoří jeho záložní kopii s příponou .BAK | |
Insert mode | Defaultní nastavení je Insert Mode, tj. nepřepisovací mód. | Toto nastavení je k ničemu, módy lze totiž kdykoli přepínat pomocí klávesy Insert (Ins). |
Auto indent mode | Pascal se snaží jakžtakž formátovat řádky za nás (např. po beginu či if udělá odsazení). | Super věc, i když se jí musí občas pomoct. |
Use tab characters | Při vyplňování používá nejen mezer, ale i znak Tab (zmáčkneme-li tabulátor), u něj si můžeme nastavit, kolik mezer znamená. | S využitím téhle volby můžou být zdrojové kódy o něco kratší. Budou se ale mnohem hůře číst v jiných editorech. |
Optimal fill | Mezery plní tak, aby použil co nejméně znaků (kombinuje mezery a Tab). | Sníží velikost souboru, sníží přehlednost v jiných editorech. |
Backspace unindents | Klávesa Backspace při použití na začátku řádky skočí o jednu úroveň výš - o správný počet odsazení. | Užitečné, pokud chceme mít dobře strukturovaný zdrojový kód, ale sami musíme rozhodnout, kolikrát Backspace zmáčknout. |
Cursor through tabs | Jedeme-li šipkou dolu či nahoru přes tabelátorovou mezeru, kurzor neskáče stranou. | |
Group Undo | Undo zruší všechny stejné příkazy najednou (jinak bude rušit napsáné slovo po jednotlivých písmenech). | |
Persistent blocks | Blok zůstává označen, i když z něj vyjedeme kurzorem. | |
Overwrite blocks | Je-li blok označen, napsání písmene přepíše celý blok. | Poměrně nebezpečná volba. |
Syntax highlight | Zvýraznění pascalské syntaxe | |
Block insert cursor | Při zaškrtnutí je přepisovací kurzorem podtržítko a normálním celý malý obdélníček. | Tahle volba je jen na matení uživatele. |
Find text at cursor | Při hledání začne hledat text, na kterém je právě kurzor. Jinak se hledá slovo, co se hledalo naposled. |
Co víc dodat, doporučuji vyzkoušet.
Nastavení myši nepřináší nic světoborného, je ale výhodné nastavit na něco Ctrl+Pravý klik. Vybrat si můžeme z následujících možností:
Název | Účel | Poznámka |
---|---|---|
Nothing | Tuhle volbu nedoporučuji - Když už máme možnost si práci usnadnit, proč ji nějak nevyužít? | |
Topic search | ||
Go to cursor | ||
Breakpoint | ||
Evaluate | ||
Add watch | ||
Browse symbol |
Mouse double click nastaví rychlost, s kterou ještě bude dvojité kliknutí myší považováno za dvojklik.
Reverse mouse buttons prohodí význam levého a pravého tlačítka myši.
Nastavení pár dalších drobností, z nichž většina se děje při startu programu. Změny se zapisují přímo do .EXE souboru.
Název | Účel | Poznámka |
---|---|---|
Dual monitor support | Podpora dvou monitorů, při spuštění bude v jednom IDE a v druhém běžící program. | Nepoužívejte, pokud debuggujete programy, které využívají dva monitory. |
Graphics screen save | Uloží grafické nastavení při startu programu. | Použijte, pracuje-li váš program s grafikou. |
EGA/VGA palette save | Uloží grafickou paletu (a po skončení programu ji načte) | Použijte, mění-li váš program paletu. |
CGA snow checking | Kontrola sněžení na CGA monitorech, můžete bez obav vypnout. | |
LCD color set | Barevné nastavení pro (asi černobílé) LCD, vypadá fakt hnusně. | |
Load .TPL file | Načte knihovnu .TPL - zrychlí překlad tím, že načte do paměti jednotku System. | |
Preserve symbols | Po neúspěšném pokusu o překlad zachová tabulku symbolů z posledního překladu. (Můžeme tak používat browser i po nezdařilém pokusu o překlad.) | |
Return to last dir | Při spuštění IDE změní aktuální adresář na adresář, ve kterém se nachází naposled upravovaný projekt. |
Swap file size a Swap file directory pak slouží k nastavení swapovacího souboru (to je soubor, kam se ukládá to, co se nevešlo do paměti).
Nastavení barevných schémat. Můžete nastavit barvu popředí i pozadí. K dispozici je i náhled.
O nastavení adresářů jsme se již bavili. Podívejme se nyní na další doporučená nastavení. Uvedu pouze seznam voleb, které se vyplatí mít vždy zapnuté.
Umístění | Seznam |
---|---|
Compiler | 286 instructions, Smart callbacks, Windows stackframe; 8087/80287, Emulation |
Browser | Labels, Constants, Types, Variables, Procedures, Inherited, Qualified symbols |
Environment/Preferences | Desktop and symbols, AutoSaves: Editor Files, Environment, Desktop. |
Environment/Editor | Create backup files, Insert mode, Auto indent mode, Backspace unindent, Cursor through tabs, Group Undo, Persistent blocks, Syntax highlight |
Environment/Startup | Graphics screensave, EGA/VGA palette save, Preserve symbols |
Doporučuji si vypnout volbu Environment/Editor/Overwrite blocks.
Následuje seznam doporučeného nastavení při debuggování programu.
Umístění | Seznam |
---|---|
Compiler | Debug information, Local symbols, Symbols information; Range checking, Stack checking, I/O checking, Overflow checking; Typed @ operator |
Linker | Map file/Detailed |
Debugger | Display swapping/Smart |
A pokud je to jen trochu možné, doporučuji vypnout Compiler/Extended syntax.