Nastavení IDE

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ší.

Nastavování IDE

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.

Soubory a adresáře

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říkladVýznam
A:\ME_DILO\EXEAbsolutní adresa
..\EXECUTERelativní adresa (nezačíná jménem disku ani zpětným lomítkem)
\EXECUTEAbsolutní adresa (začíná zpětným lomítkem -- na aktuálním disku)
B:EXECUTERelativní 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.)

Compiler

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

Code generation

Popisuje, jak bude vypadat výsledný kód.

Code generation
NázevDirektiva překladačePopisPozná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 worduZvě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í procedurPouze 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.

Runtime errors

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.

Runtime errors
NázevDirektiva překladačePopisPozná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í programVelice užitečné při ladění

Syntax options

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.)

Syntax options
NázevDirektiva překladačePopisPozná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čítatV 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.

Debugging

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.

Debugging
NázevDirektiva překladačePopisPozná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, ...).

Numeric processing

Ří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í.)

Numeric processing
NázevDirektiva překladačePopisPozná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.

Conditional defines

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.

Memory sizes

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.

Real target
NázevPopisPoznámka
Stack sizeVelikost zásobníku v bytechKolik prostoru můžou zabírat volané funkce
Low heap sizeMinimální velikost hromady v bytechNáš program bude mít vždy aspoň tolik dynamické paměti
High heap limitMaximální velikost hromady v bytechVž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.

Protected target
NázevPopisPoznámka
Stack sizeVelikost zásobníkuKolik 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.

Windows target
NázevPopisPoznámka
Stack sizeVelikost zásobníkuKolik prostoru můžou zabírat volané funkce
Local heap sizeVelikost hromadyVelikost 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.

Linker

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.

Map file
NázevPopis
OffNegeneruje žádný soubor
SegmentsMap file obsahuje pouze informace o tom, kde program začíná, kde končí a jaké používá segmenty.
PublicMap file obsahuje oproti Segments ještě seznam všech veřejně definovaných symbolů.
DetailedMap 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.

Link buffer
NázevPopisPoznámka
MemoryLinker 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.
DiskLinker 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.

Debugger

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.

Symbols
NázevPopisPoznámka
Integrated debugging/browsingDebuggovat 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 debuggingK 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.

Display swapping
NázevPopisPoznámka
NoneAť již se děje cokoli, debugger ukazuje pouze zdrojový kód programu.Velice nepraktické, pokud program očekává vstup uživatele.
SmartPokud program zavolá funkci, či něco vypíše na obrazovku, na krátkou chvíli probleskne jeho výstup na obrazovku.Rozumný kompromis.
AlwaysPř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á.

Directories

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)

Directories
NázevÚčelPozná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é souboryJde nejčastěji o výstupy jiných programátorů
Resource directories Vzhled windowsích formulářůTyto soubory mají příponu .res

Browser

Nastavme si prohlížeč k obrazu svému.

Nejprve nastavíme, co budeme zobrazovat.

Symbols
NázevÚčel
LabelsNávěští
ConstantsKonstanty
TypesDefinované typy
VariablesProměnné
ProceduresProcedury a funkce
InheritedU 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í.

Sub-browsing
NázevÚčel
New browserOdkaz se otevře v novém okně
Replace currentOdkaz se otevře ve stejném okně

Podstatnou informací je i to, co se bude zobrazovat.

Prefered Pane
NázevÚčel
ScopeZobrazuje se informace o tom, které další symboly jsou definovány.
ReferenceZobrazují 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í.

Display
NázevÚčelPoznámka
Qualified symbolsZobrazuje ú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 alwaysSeřadí symboly podle abecedy.

Tools

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.

Tools
NázevÚčel
OKUkončí nastavování
EditUmožní editovat položku
NewPřidá novou položku
DeleteSmaže vybranou položku
CancelUkončí nastavování bez provedení změn
HelpNápověda

Podívejme se podrobněji, jak takový nástroj nastavit.

Tools - Nastavení
NázevÚčelPoznámka
TitleNázev nástrojePokud 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 pathNázev příslušného spustitelného souboruAby toto nastavení správně fungovalo, musíte si trošku pohrát s cestou.
Command lineArgumenty programuJe možné využívat tzv. transfer-parametry, o kterých si více povíme v následující lekci.
Hot KeysUmož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.

Environment

Tato nabídka se týká nastavení IDE.

Preferences

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.

Screensize
NázevÚčel
25 linesObrazovka má 25 řádků.Čitelné písmo.
43/50 linesObrazovka 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.

Sourcetracking
NázevÚčelPoznámka
New windowJe-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 windowJe-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.

Desktop file options
NázevÚčelPoznámka
Desktop onlyBP při ukončení ukládá jen seznam a umístěný otevřených oken.
Desktop and symbolsBP 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.

Desktop file
NázevÚčelPoznámka
Current directoryUloží nastavení do aktuálního adresáře.
Config file directoryDesktop 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á.

Autosave
NázevÚčelPoznámka
Editor filesUklá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ě!
EnvironmentPř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.
DesktopPř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.

Options
NázevÚčelPoznámka
Auto track sourcePři trasování bude zvýrazňovat řádku, na které se daný kód nachází.
Close on go to sourceKlepneme-li v browseru na go to source, browser se zavře.Podle mne je lepší tuto volbu vypnout.
Change dir on openPř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é.

Editor

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.).

Editor options
NázevÚčelPoznámka
Create backup filesPři otevření souboru vytvoří jeho záložní kopii s příponou .BAK
Insert modeDefaultní 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 modePascal 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 charactersPř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 fillMezery plní tak, aby použil co nejméně znaků (kombinuje mezery a Tab).Sníží velikost souboru, sníží přehlednost v jiných editorech.
Backspace unindentsKlá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 tabsJedeme-li šipkou dolu či nahoru přes tabelátorovou mezeru, kurzor neskáče stranou.
Group UndoUndo zruší všechny stejné příkazy najednou (jinak bude rušit napsáné slovo po jednotlivých písmenech).
Persistent blocksBlok zůstává označen, i když z něj vyjedeme kurzorem.
Overwrite blocksJe-li blok označen, napsání písmene přepíše celý blok.Poměrně nebezpečná volba.
Syntax highlightZvýraznění pascalské syntaxe
Block insert cursorPř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 cursorPř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.

Mouse

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

Ctrl-Right mouse button
NázevÚčelPoznámka
NothingTuhle 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.

Startup

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.

Startup
NázevÚčelPoznámka
Dual monitor supportPodpora 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 saveUloží grafické nastavení při startu programu.Použijte, pracuje-li váš program s grafikou.
EGA/VGA palette saveUloží grafickou paletu (a po skončení programu ji načte)Použijte, mění-li váš program paletu.
CGA snow checkingKontrola sněžení na CGA monitorech, můžete bez obav vypnout.
LCD color setBarevné nastavení pro (asi černobílé) LCD, vypadá fakt hnusně.
Load .TPL fileNačte knihovnu .TPL - zrychlí překlad tím, že načte do paměti jednotku System.
Preserve symbolsPo 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 dirPř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).

Colors

Nastavení barevných schémat. Můžete nastavit barvu popředí i pozadí. K dispozici je i náhled.

Doporučené nastavení

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é.

Doporučené nastavení - vždy zapnuto
UmístěníSeznam
Compiler286 instructions, Smart callbacks, Windows stackframe; 8087/80287, Emulation
BrowserLabels, Constants, Types, Variables, Procedures, Inherited, Qualified symbols
Environment/PreferencesDesktop and symbols, AutoSaves: Editor Files, Environment, Desktop.
Environment/EditorCreate backup files, Insert mode, Auto indent mode, Backspace unindent, Cursor through tabs, Group Undo, Persistent blocks, Syntax highlight
Environment/StartupGraphics 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.

Doporučené nastavení - debugging
UmístěníSeznam
CompilerDebug information, Local symbols, Symbols information; Range checking, Stack checking, I/O checking, Overflow checking; Typed @ operator
LinkerMap file/Detailed
DebuggerDisplay swapping/Smart

A pokud je to jen trochu možné, doporučuji vypnout Compiler/Extended syntax.