Lekce 2 - PyCharm - Pokročilé vyhledávání a multikurzor
V minulé lekci PyCharm - Úvod do vývojového prostředí jsme se věnovali obecným informacím o vývojovém prostředí PyCharm.
V této lekci se naučíme efektivně používat pokročilé vyhledávací nástroje a multikurzor, který nám umožní hromadnou editaci.
Režimy obrazovky
PyCharm nabízí několik režimů, jak zobrazit okno aplikace (View > Appearance > Vybereme typ módu). Mód ukončíme stejnou cestou (View > Appearance > Ukončíme typ módu).
Režimy okna jsou následující:
- Presentation mode (prezentační mód) - Zobrazí se pouze editor, který automaticky přejde na celoobrazovkový režim. Žádné další nástroje nebudou vidět. Velikost písma se automaticky zvětší. Tento mód se přímo hodí k online streamování kódu.
- Distraction-free mode (nerušivý mód) - Zobrazí se pouze editor, žádné další nástroje nebudou vidět.
- FullScreen mode (celoobrazový režim) - Zvětší hlavní okno přes celou obrazovku. Hodí se, pokud máme k dispozici více monitorů.
- Zen mode - Jedná se o kombinaci FullScreen a Distraction-free módů.
Níže na obrázcích vidíme jednotlivé módy:
Presentation mode
Distraction-free mode
FullScreen mode
Zen mode
Synchronizace otevřeného souboru a stromové struktury souborů
Pokud pracujeme na velkém projektu, je velmi užitečné vidět v adresářové struktuře, v jakém souboru se zrovna nacházíme a jaké soubory jsou "kolem". Funkci synchronizace lze aktivovat kliknutím na symbol nastavení ("ozubené kolečko") v záložce Project:
A výběrem možností:
- Open Files with Single Click nám usnadní otevírání souborů na jedno kliknutí.
- Always Select Opened File nám zařídí synchronizaci.
Nyní, když budeme přepínat mezi "taby" v editoru, budou se také automaticky přepínat vybrané soubory v záložce Project.
Tab je záložka v horní části okna našeho editoru, ve které je stránka našeho kódu. Když je na ni kliknuto, obsah tabu se zobrazí, a předchozí tab se skryje.
Vyhledávání
Každé kvalitní vývojové prostředí nabízí propracované vyhledávání. V PyCharm lze vyhledávat hned v několika módech. Nejdříve je ale třeba rozlišit, zdali vyhledáváme soubory nebo obsah v nich.
Vyhledávání všeho (All)
Nejuniverzálnější vyhledávání se kromě ikony lupy aktivuje dvojitým stisknutím klávesy Shift.
V módu All lze vyhledávat vše, na co si uživatel vzpomene (soubory všeho druhu, nastavení či tabulky v databázi):
Vyhledávání konkrétního souboru/třídy/symbolu/akce
Pokud víme, o který druh vyhledávaného souboru se jedná, můžeme použít konkrétní vyhledávání pomocí klávesových zkratek:
- Vyhledávání tříd: Ctrl + N
- Vyhledávání souborů: Ctrl + Shift + N
- Vyhledávání symbolů: Ctrl + Alt + Shift + N
- Vyhledávání akce: Ctrl + Shift + A
Přepínač pro vyhledávání v knihovnách
Po dvojitém stisknutí klávesy Shift se aktivuje vyhledávání souborů pouze v rámci projektu. Pokud budeme chtít prohledávat také obsah knihoven třetích stran, je třeba znovu 2x stisknout klávesu Shift. Aktuální mód je rozpoznatelný po zaškrtnutí checkboxu Include non-project items.
Vyhledávání obsahu v souborech
Pomocí klávesové zkratky Ctrl + Shift + F budeme prohledávat zadaný řetězec ve všech souborech, které jsou v projektu.
Když známe řetězec, který se objevuje v souborech, ale nevíme ve kterých, sáhneme po této možnosti:
Vyhledávat lze ve třech režimech (číslo 1 na obrázku), které lze vzájemně kombinovat:
- Match case (Alt + C): Vyhledávaný podřetězec (ne)musí dodržet velká a malá písmena.
- Words (Alt + W): Vyhledávaný řetězec (ne)musí být nalezen jako samostatné slovo.
- Regex (Alt + X): Vyhledávaný řetězec (ne)musí odpovídat zadanému regulárnímu výrazu.
Další možností je filtrovat soubory, ve kterých se bude prohledávat
(číslo 2 na obrázku). Je možné vybrat jednu z
předpřipravených masek (*.py
), nebo si přidat masku vlastní.
Masku lze přidat jednoduše zápisem do textového políčka s maskami.
Poslední možností filtrování je určení místa, ve kterém se prohledávané soubory nachází (číslo 3 na obrázku), a to čtyřmi režimy:
- In project: Zahrnuje veškeré soubory v projektu.
- Module: Zahrnuje jeden modul v projektu.
- Directory: Uživatel může ručně vybrat složku, ve které se budou soubory prohledávat.
- Scope: Uživatelem ručně definovaný prostor, ve kterém se budou soubory prohledávat (vysvětlíme si později).
Připnutí výsledků vyhledávání
Když už jsme spokojeni s nalezenými výsledky, můžeme si výsledky otevřít v novém okně/záložce. K tomu slouží tlačítko Open in Find Window (Ctrl + Enter):
Následně se vytvoří nová záložka Find (pokud předtím neexistovala), ve které budou taby pro jednotlivá vyhledávání.
Zachování předchozího výsledku vyhledávání
Výsledky vyhledávání se automaticky přepíší novým vyhledáváním. Abychom si zachovali předchozí výsledek, je třeba ho tzv. "připnout":
K připnutí tabu s výsledkem musíme kliknout na tab pravým tlačítkem myši a v kontextové nabídce zvolit možnost Pin tab. Připnutí zrušíme stejnou cestou kliknutím na Unpin tab.
Multikurzor
Nyní se podívejme na jednu velmi užitečnou vychytávku. Občas se nám stane, že potřebujeme na několika místech napsat nebo změnit tentýž text, znak apod. (např. zde na obrázku odsazení 2 řádků). My je však můžeme smazat najednou, a to pomocí multikurzoru, který nám umožní hromadnou editaci:
Multikurzor můžeme vytvořit několika způsoby.
Vytvoření multikurzoru pomocí myši
Vytvořit multikurzor lze jednoduše podržením kolečka myši a jeho "potáhnutím".
Dále si ukážeme, jak vytvořit multikurzor za pomoci klávesnice, neboť práce s myší nemusí být vždy efektivní nebo možná.
Vytvoření multikurzoru pomoci klávesnice
Dvakrát stiskneme klávesu Ctrl (po druhé ji nepouštíme) a následně pomocí kláves šipek (nahoru ↑/ dolů ↓) vytvoříme nové kurzory.
Vytvoření multikurzoru nad celými řetězci
Výše jsme vytvářeli více kurzorů pouze lineárně, což nám nemusí vždy stačit. Ukážeme si proto postup, jak vytvořit více kurzorů tak, aby každý nový kurzor začínal u následujícího vybraného řetězce:
Multikurzor nad celými řetězci vytvoříme a ovládáme takto:
- Vybereme řetězec, který se v otevřeném souboru vyskytuje vícekrát.
- Pomocí klávesové zkratky Alt + J vytvoříme nový kurzor.
- Přidáme-li stisk klávesy Alt, odebereme poslední přidaný kurzor.
- Přidáme-li ještě klávesu Shift, vytvoří se kurzor pro všechny nalezené řetězce.
A to je pro tuto lekci vše 🙂
V příští lekci, PyCharm - Scopes, Live Templates, Databáze, Pluginy, se budeme zabývat scopes, Live Templates, databázemi a pluginy.