Warning
This page is located in archive. Go to the latest version of this course pages.

Programovací prostředí

Programovat lze v podstatě úplně v čemkoliv, od prostých textových editorů až po sofistikovaná vývojová prostředí. Vývojová prostředí, Integrated Development Editor (IDE) jsou komplexní programy, jejichž nastavení je nezřídka velmi složité. V začátcích je proto klíčové pochopení základních principů, osvojení si programovacích dovedností a následné vyladění prostředí. Velmi užitečným pomocníkem je obarvování kódu a jeho formátování, které zvládné téměř libovolný editor. Naopak našeptávání syntaxe je pro začátečníka zavádějící, protože úplně nepříspívá k osvojí úplných základů. V případě delších kódu je však výhodné využít doplňování jmen proměnných a definovaných funkcí tak, aby nedošlo ke zbytečné frustraci nebo volbě zkratkovitých a tím méně srozumitelnách jmen. Další užitečné funkcí je ladění (debugging) kódu.

Začít se dá v editoru gedit následně přejít na prokročilejší IDE, která se liší podporovanými jazyky, licencí i nabízenými nástroji. Příklad možných IDE je následující.

IDE Podporované jazyky Licence
Visual Studio Code témeř cokoliv zdarma
NetBeans Java, C/C++ zdarma
CLion C/C++ placené/ČVUT licence zdarma

Ve cvičeních předmětu PRP budeme primárně pracovat s editorem Visual Studio Code. Nicméně konkrétní volba je vždy na vás.

Editor Visual Studio Code a jazyk C

Instalace prostředí v POP OS!

V Pop!_Shop vyhledejte Visual Studio Code a kliknutím nainstalujte.

Instalace rozšíření

Abychom mohli plně využít VS Code pro vývoj v jazyce C/C++, je potřeba mít nainstalované rozšíření Microsoft C/C++ Extension. V tuto chvíli by rozšíření mělo být jíž nainstalované, což můžeme ověřit následujícím způsobem.

  1. Otevřeme VS Code
  2. V levém postraním menu otevřeme Extensions (případně můžeme použít klávesovou zkratku Ctrl+Shift+X)
  3. Vyhledáme balíček C/C++ od Microsoftu

Pokud je balíček již nainstalovaný, uvidíme následující. Fig. 1: Nainstalované rozšíření C/C++ od Microsoftu..

Pokud balíček není nainstalován, uvidíme následující. Fig. 2: Nenainstalované rozšíření C/C++ od Microsoftu.. V takovém případě můžeme rozšíření nainstalovat kliknutím na zelené tlačítko Install.

Spouštění VS Code

Ve VS Code otevíráme projektový adresář, nikoliv jednotlivé soubory *.c !

V projektovém adresáři bychom měli mít složku .vscode, ve které se nacházejí konfigurační soubory. Pokud otevřeme složku, ve které podsložka .vscode není, VS Code ji automaticky vytvoří.

VS Code spustíme zároveň s otevřením projektu z terminálu příkazem code <cesta k projektové složce>

VS Code editor můžeme spustit klasicky pomocí ikonek, ale mnohem užitečnější je spouštění z terminálu. V terminálu slouží ke spuštění příkaz code. Velkou výhodou je, že VS Code umí pracovat s konceptem pracovního adresáře a můžeme tedy rovnou otevřít požadovanou složku.

  1. Nejprve se v terminálu přesuneme do požadované složky pomocí příkazu cd
  2. Spustíme VS Code v aktuální složce pomocí příkazu code .

Příklad tohoto spuštění je

cd prp/hw01
code .

Samozřejmě můžeme spouštět i projekty v jiných složkách než je aktuální pracovní adresář. V našem případě bychom použili příkaz code prp1/hw01. Informace o projektech (adresáři) jsou uloženy ve skryté složce .vscode a v souborech .json, které definuji jak soubor kompilovat a spouštět.

Při progamování ve VS Code často potřebujeme přeskakovat mezi editorem a terminálem. Implicitní klávesková zkratka pro změnu aktivního okna ctrl+` ovšem okno terminálu zavírá. Pokud chceme vidět obsah terminálu i při editaci kódu, můžeme změnit chování této klávesové zkratky takto:

Z nabídek File / Preferences / Settings vybereme Keyboard Shortcuts. Vpravo nahoře klepneme na ikonu dokumentu se šipkou Open Keyboard Shortcuts (JSON). Otevře se soubor keybindings.json, kam do hranatých závorek přidáme následující řádky:

{
  "key": "ctrl+`",
  "command": "workbench.action.terminal.focus",
  "when": "editorTextFocus"
},{
  "key": "ctrl+`",
  "command": "workbench.action.focusActiveEditorGroup",
  "when": "terminalFocus"
}

a soubor uložíme.

Nastavení formátování

VS Code je ve výchozím nastavení konfigurováno pro formátování prostřednictvím clang-format s možností využití uživatelsky definované konfigurace.

Nastavení file znamená, že se VS Code dívá do aktuálního pracovního adresáře a pokud tam existuje soubor .clang-format použijej. Jako fall-back je pak nastaveno formátování Visual Studio.

Prostřednictvím terminálu ve VS zjistíme jak pracovní adresář, tak můžeme vytvořit .clang-format, například doporučované nastavení

 {BasedOnStyle: llvm, IndentWidth: 4, BreakBeforeBraces: Linux}

Pokročilé možnosti VS Code

Níže zmíněné možnosti jsou pouze informativní, jejich používání v předmětu PRP silně nedoporučujeme.

Níže zmíněné postupy nám mohou ulehčit mnoho práce a v budoucnu je jistě budeme všichni používat. Jelikož ale naším cílem je se naučit programovat a pochopit, co se při tom děje, je vhodné se naučit kompilovat manuálně, nikoliv pomocí magického tlačítka. Níže zmiņované možnosti tedy uvádíme jako informativní, abychom věděli, že existují, ale jejich používání v předmětu PRP je silně nedoporučované.

Integrace s gcc nebo clang (Ubuntu/Windows)

V adresáři, kde jsou umístěné zdrojové kódy C vytvoříme podadresář .vscode a s následujícím obsahem: c_cpp_properties.json, launch.json, settings.json, tasks.json.

Tyto soubory s vzorovým nastavením pro Windows a Ubuntu můžete stáhnout zde.

Nezapomeňme správně nastavit přepínače a zdrojové soubory pro kompilaci.

Pokud se rozhodneme použít tyto předpřipravené soubory, je potřeba správně nastavit argumenty kompilace, tj. přepínače a zdrojové soubory. Otevřeme soubor tasks.json a najdeme náš task podle operačního systému – (gcc) Compile Win nebo (gcc) Compile Linux. V sekci args správně nastavíme přepínače a zdrojové soubory, vždy na jeden řádek jeden.

Kompilace kódu

Pokud máme správně nastavený projekt, tj. nastavili jsme soubory ve složce .vscode, pro kompilaci použijeme klávesovou zkratku Ctrl+Shift+B a pak vybereme z nabídky (gcc) Compile Win či (gcc) Compile Linux podle našeho operačního systému. Pokud vše proběhne v pořádku, vytvoří se nám ve složce spustitelný soubor se shodným názvem jako zdrojový kód c, ale bez extenze, např. prvni_test, který můžeme spustit z terminálu pomocí ./prvni_test.

Běh a ladění kódu

Použijeme klávesovou zkratku Ctrl+F5 (Run) nebo F5 (Debug), v případě potřeby v záhlaví panelu Debug (symbol brouka) nalevo vybereme konfiguraci (gdb) Launch Win nebo (gdb) Launch Linux.

Instalace v Ubuntu a Win 10

Instalace prostředí pro Ubuntu

Doporučujeme využít instalace pomocí .deb balíčku, jelikož tento způsob je snazší, hlavně pro nové uživatele systému Ubuntu.

Při instalaci VS Code na operační systém Ubuntu si můžeme vybrat ze dvou způsobů, a to z instalace přes terminál a instalace pomocí instalačního balíčku.

Instalace pomocí .deb balíčku

Ze stránek VS Code si stáhneme příslušný .deb balíček. Tento soubor funguje obdobně jako instalační soubory na Windows – otevřeme ho pomocí programu Software Installer a kliknutím na tlačítko Install nainstalujeme VS Code.

Fig. 3: Ukázka instalace VS Code pomocí .deb balíčku.

Instalace z příkazové řádky

VS Code instalujeme podle stránky https://linuxize.com/post/how-to-install-visual-studio-code-on-ubuntu-18-04/

sudo apt update
sudo apt install software-properties-common apt-transport-https wget
wget –q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add –
sudo add-apt-repository „deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main“
sudo apt install code===== Otevírání zdrojových souborů =====

Ve VS Code otevřeme adresář s podadresářem .vscode, nikoliv jednotlivé soubory *.c !

Rozšíření „Microsoft C/C++ extension“ je již součástí instalace.

Instalace prostředí pro Windows

1. VS Code instalujeme ze stránky https://code.visualstudio.com/download

2. Instalace MingW ze stránek http://www.mingw.org

3. Instalace „Microsoft C/C++ extension“ podle stránky https://code.visualstudio.com/docs/languages/cpp

Další informace: https://code.visualstudio.com/docs/cpp/config-mingw

courses/b0b36prp/tutorials/vscode.txt · Last modified: 2020/09/20 10:54 by faiglj