Úprava kódu Pythonu a použití IntelliSense

Vzhledem k tomu, že v editoru kódu trávíte většinu času vývoje, poskytuje podpora Pythonu v sadě Visual Studio funkce, které vám pomůžou zvýšit produktivitu. Mezi funkce patří zvýrazňování syntaxe IntelliSense, automatické dokončování, nápověda k podpisu, přepsání metod, vyhledávání a navigace.

Editor kódu je integrovaný s interaktivním oknem v sadě Visual Studio. Při práci je snadné vyměňovat kód mezi těmito dvěma okny. Další informace najdete v tématu Krok 3 kurzu: Použití interaktivního okna REPL a použití interaktivního okna - Odeslat do Interaktivního příkazu.

Osnova vám pomůže soustředit se na konkrétní části kódu. Obecná dokumentace k úpravám kódu v sadě Visual Studio najdete v tématu Funkce editoru kódu.

Prohlížeč objektů sady Visual Studio umožňuje zkontrolovat třídy Pythonu definované v jednotlivých modulech a funkce definované v těchto třídách. K této funkci se dostanete v nabídce Zobrazit nebo pomocí klávesové zkratky Ctrl+Alt+J.

Použití funkcí IntelliSense

IntelliSense poskytuje dokončování, nápovědu k podpisu, rychlé informace a barvení kódu. Visual Studio 2017 verze 15.7 a novější podporují také nápovědy k typům.

Pro zvýšení výkonu závisí IntelliSense v sadě Visual Studio 2017 verze 15.5 a starší na databázi dokončení vygenerované pro každé prostředí Pythonu ve vašem projektu. Pokud přidáváte, odebíráte nebo aktualizujete balíčky, budete možná muset databázi aktualizovat. Stav databáze se zobrazuje v okně Prostředí Pythonu (průvodce Průzkumník řešení) na kartě IntelliSense. Další informace naleznete v tématu Prostředí okna reference.

Visual Studio 2017 verze 15.6 a novější používá jiný způsob, jak poskytnout dokončování IntelliSense, které nejsou závislé na databázi.

Dokončení

Dokončování se zobrazí jako příkazy, identifikátory a další slova, která lze správně zadat v aktuálním umístění editoru. IntelliSense naplní seznam možností na základě kontextu a filtruje nesprávné nebo rušivé položky. Dokončování se často aktivuje tak, že zadáte různé příkazy (například import) a operátory (včetně tečky), ale můžou se kdykoli zobrazit tak, že vyberou klávesovou zkratku Ctrl+J +Mezerník.

Snímek obrazovky znázorňující dokončování členů pomocí IntelliSense v editoru sady Visual Studio

Když je seznam dokončení otevřený, můžete požadované dokončení vyhledat pomocí kláves se šipkami, myší nebo pokračováním v psaní. Při psaní dalších písmen se seznam dále filtruje, aby zobrazoval pravděpodobné dokončení. Můžete také použít klávesové zkratky, například:

  • Zadejte písmena, která nejsou na začátku názvu, například "parsovat" a najít "argparse".
  • Zadejte pouze písmena, která jsou na začátku slov, například "abc", a vyhledejte "AbstractBaseClass" nebo "air", abyste našli "as_integer_ratio".
  • Přeskočte písmena, například "b64", abyste našli "base64".

Několik příkladů:

Snímek obrazovky znázorňující dokončení člena s filtrováním v editoru sady Visual Studio

Dokončování členů se automaticky zobrazí, když zadáte tečku za proměnnou nebo hodnotou spolu s metodami a atributy potenciálních typů. Pokud může být proměnná více než jeden typ, seznam obsahuje všechny možnosti ze všech typů. Zobrazí se další informace, které typy podporují jednotlivé dokončování. Pokud všechny možné typy podporují dokončení, nezobrazí se žádná poznámka.

Snímek obrazovky znázorňující dokončování členů u více typů v editoru sady Visual Studio

Ve výchozím nastavení se nezobrazují členy "dunder" (členy začínající a končící dvojitým podtržítkem). Obecně platí, že tito členové by neměli být přístupní přímo. Pokud potřebujete použít dunder, zadejte úvodní dvojité podtržítko a přidejte do seznamu tyto dokončování:

Snímek obrazovky znázorňující typy dokončení soukromého člena dunder v editoru sady Visual Studio

from ... import Příkazy import zobrazují seznam modulů, které je možné importovat. Příkaz from ... import vytvoří seznam obsahující členy, které lze importovat ze zadaného modulu.

Snímek obrazovky znázorňující dokončení importu a dokončení importu v editoru sady Visual Studio

except Příkazy raise zobrazují seznamy tříd, které budou pravděpodobně typy chyb. Seznam nemusí obsahovat všechny uživatelem definované výjimky, ale pomáhá rychle najít vhodné předdefinované výjimky:

Snímek obrazovky znázorňující dokončení výjimky v editoru sady Visual Studio

Výběr @ symbolu (na) spustí dekorátor a zobrazí potenciální dekorátory. Mnohé z těchto položek nejsou použitelné jako dekorátory. V dokumentaci ke knihovně zjistěte, který dekorátor se má použít.

Snímek obrazovky znázorňující dokončení dekorátoru v editoru sady Visual Studio

Další informace naleznete v tématu Možnosti – výsledky dokončení.

Nápověda k typu

Nápovědy k typům jsou k dispozici v sadě Visual Studio 2017 verze 15.7 a novější.

"Nápověda typu" v Pythonu 3.5+ (PEP 484 (python.org) je syntaxe poznámek pro funkce a třídy, které označují typy argumentů, návratové hodnoty a atributy třídy. IntelliSense zobrazí nápovědu k typu, když najedete myší na volání funkcí, argumenty a proměnné, které mají tyto poznámky.

V následujícím příkladu Vector je třída deklarována jako typ List[float]a scale funkce obsahuje rady typu pro své argumenty i návratovou hodnotu. Když najedete myší na volání této funkce, zobrazí se rady typu:

Snímek obrazovky znázorňující, jak najetím myší na volání funkce zobrazíte rady typu

V dalším příkladu uvidíte, jak se v automaticky otevíraných oknech IntelliSense u atributu zobrazují anotované atributy Employee třídy:

Snímek obrazovky znázorňující dokončování IntelliSense pro třídu s nápovědou k typu

Je také užitečné ověřit rady typu v celém projektu, protože chyby se obvykle nezobrazují do doby běhu. Pro tento účel visual Studio integruje standardní oborový nástroj Mypy prostřednictvím příkazu místní nabídky Python>Spustit Mypy v Průzkumník řešení:

Snímek obrazovky znázorňující dostupné příkazy pro lintování pro projekty Pythonu v Průzkumník řešení

Spuštěním příkazového řádku v případě potřeby nainstalujete balíček Mypy. Visual Studio pak spustí Mypy a ověří rady typu v každém souboru Pythonu v projektu. Chyby se zobrazí v okně Seznam chyb sady Visual Studio. Výběrem položky v okně přejdete na příslušný řádek v kódu.

Jako jednoduchý příklad obsahuje následující definice funkce nápovědu k typu, která označuje, že input argument je typ str, zatímco volání této funkce se pokusí předat celé číslo:

def commas_to_colons(input: str):
    items = input.split(',')
    items = [x.strip() for x in items]
    return ':'.join(items)

commas_to_colons(1)

Spuštěním příkazu Mypy v tomto kódu se vygeneruje následující chyba:

Snímek obrazovky znázorňující příklad výsledku nápovědy typu ověřování Mypy

Poznámka:

Ve verzích Pythonu před verzí 3.5 sada Visual Studio také zobrazuje rady typu, které zadáte prostřednictvím souborů zástupných procedur Typeshed (.pyi). Soubory s zástupnými procedurami můžete použít, když nechcete do kódu zahrnout rady typu přímo nebo vytvořit nápovědu pro knihovnu, která je přímo nepoužívá. Další informace najdete v tématu Vytváření zástupných procedur pro moduly Pythonu na wikiwebu projektu Mypy.

Visual Studio v komentářích v současné době nepodporuje rady typu.

Nápověda k podpisu

Při psaní kódu, který volá funkci, se zobrazí nápověda podpisu, když zadáte levou závorku (. Zobrazí dostupnou dokumentaci a informace o parametrech. Nápovědu k podpisu můžete získat pomocí klávesové zkratky Ctrl+Shift+Space uvnitř volání funkce. Zobrazené informace závisí na řetězcích dokumentace ve zdrojovém kódu funkce, ale obsahují všechny výchozí hodnoty.

Snímek obrazovky znázorňující nápovědu k podpisu v editoru sady Visual Studio

Tip

Nápovědu k podpisu zakážete tak, že přejdete na >Příkazy Možnosti>textového editoru>Pythonu>Obecné. Zrušte zaškrtnutí políčka Informace o parametru dokončení příkazu>.

Rychlé informace

Když najedete myší na identifikátor, zobrazí se popis rychlé informace. V závislosti na identifikátoru můžou rychlé informace zobrazovat potenciální hodnoty nebo typy, libovolnou dostupnou dokumentaci, návratové typy a umístění definic:

Snímek obrazovky znázorňující informace o zobrazení rychlých informací v editoru sady Visual Studio

Obarvení kódu

Barvení kódu používá informace z analýzy kódu k barevným proměnným, příkazům a dalším částem kódu. Proměnné odkazující na moduly nebo třídy mohou být zobrazeny jinou barvou než funkce nebo jiné hodnoty. Názvy parametrů se můžou zobrazovat v jiné barvě než místní nebo globální proměnné. Ve výchozím nastavení se funkce nezobrazují tučně.

Snímek obrazovky znázorňující barvy kódu a syntaxe v editoru sady Visual Studio

Pokud chcete barvy přizpůsobit, přejděte na Možnosti>nástrojů>Písma a barvy prostředí.> V seznamu Zobrazit položky upravte požadované položky Pythonu:

Snímek obrazovky s možnostmi Písma a barvy v sadě Visual Studio

Vložení fragmentů kódu

Fragmenty kódu jsou fragmenty kódu, které lze do souborů vložit pomocí klávesové zkratky a výběru klávesy Tab. Můžete také použít příkazy Edit>IntelliSense>Insert Snippet and Surround With , select Python a then select the desired fragment.

Jedná se například o zástupce fragmentu kódu, class který vloží definici třídy. Fragment kódu se zobrazí v seznamu automatického dokončování při psaní class:

Snímek obrazovky znázorňující fragment kódu pro zástupce třídy

Výběr tabulátoru vygeneruje zbytek třídy. Potom můžete psát přes seznam názvů a bází, přecházet mezi zvýrazněnými poli pomocí klávesy Tab a výběrem klávesy Enter začít psát text.

Snímek obrazovky znázorňující zvýraznění oblastí fragmentu kódu, které můžete dokončit

Když použijete příkaz nabídky Upravit>intelliSense>Vložit fragment kódu, nejprve vyberete Python a pak vyberete požadovaný fragment kódu:

Snímek obrazovky, který ukazuje, jak vybrat fragment kódu pomocí příkazu Vložit fragment kódu

Příkaz Upravit>funkci IntelliSense>Obklopit do textového editoru umístí aktuální výběr do zvoleného strukturálního prvku. Předpokládejme, že jste měli kus kódu jako v následujícím příkladu:

sum = 0
for x in range(1, 100):
    sum = sum + x

Výběrem tohoto kódu a zvolením příkazu Obklopit se zobrazí seznam dostupných fragmentů kódu. Volba def ze seznamu fragmentů kódu umístí vybraný kód do definice funkce. Pomocí klávesy Tab můžete přecházet mezi zvýrazněným názvem funkce a argumenty:

Snímek obrazovky znázorňující použití příkazu Obklopit s fragmenty kódu

Prozkoumání dostupných fragmentů kódu

Dostupné fragmenty kódu můžete zobrazit ve Správci fragmentů kódu. Získejte přístup k této funkci ze Správce fragmentů kódu nástrojů>a jako jazyk vyberte Python:

Snímek obrazovky znázorňující Správce fragmentů kódu v sadě Visual Studio

Pokud chcete vytvořit vlastní fragmenty kódu, přečtěte si téma Návod: Vytvoření fragmentu kódu.

Pokud napíšete skvělý fragment kódu, který chcete sdílet, můžete ho publikovat v gistu a dejte nám vědět. Možná ho budeme moct zahrnout do budoucí verze sady Visual Studio.

Podpora Pythonu v sadě Visual Studio nabízí několik způsobů, jak rychle procházet kód, včetně knihoven, pro které je zdrojový kód k dispozici. Knihovny se zdrojovým kódem pro navigační panel, Přejít k definici, Přejít na a Najít všechny odkazy můžete najít příkazy. Můžete také použít prohlížeč objektů sady Visual Studio.

Navigační panel se zobrazí v horní části každého okna editoru a obsahuje dvouúrovňový seznam definic. V levém rozevíracím seznamu jsou v aktuálním souboru definice třídy nejvyšší úrovně a funkce. V pravém rozevíracím seznamu se zobrazí seznam definic v oboru zobrazeném vlevo. Při procházení v editoru se seznamy aktualizují tak, aby zobrazovaly aktuální kontext, a můžete také vybrat položku z těchto seznamů a přejít přímo na.

snímek obrazovky znázorňující navigační panel v editoru sady Visual Studio

Tip

Navigační panel skryjete tak, že přejdete na >Příkazy Možnosti>textového editoru>Pythonu>Obecné a vymažete Nastavení> Navigační panel.

Přejít k definici

Příkaz Přejít k definici rychle přeskočí z použití identifikátoru (například názvu funkce, třídy nebo proměnné) na umístění definice zdrojového kódu. Pokud chcete vyvolat příkaz, klikněte pravým tlačítkem myši na identifikátor a vyberte Přejít k definici nebo umístěte stříšku do identifikátoru a vyberte F12. Příkaz funguje napříč kódem a externími knihovnami, ve kterých je zdrojový kód dostupný. Pokud zdrojový kód knihovny není dostupný, přejít k definici přeskočí na příslušný import příkaz pro odkaz na modul nebo zobrazí chybu.

Snímek obrazovky znázorňující příkaz Přejít k definici v sadě Visual Studio

Go To

Příkaz Upravit>přejít na (Ctrl+)) zobrazí vyhledávací pole v editoru, kde můžete zadat libovolný řetězec a zobrazit možné shody v kódu, který definuje funkci, třídu nebo proměnnou obsahující tento řetězec. Tato funkce poskytuje podobnou funkci jako Přejít k definici , aniž byste museli najít použití identifikátoru.

Pokud chcete přejít k definici tohoto identifikátoru, poklikejte na libovolný název nebo vyberte název pomocí kláves se šipkami a enter.

Snímek obrazovky znázorňující příkaz Přejít na v sadě Visual Studio

Najít všechny odkazy

Funkce Najít všechny odkazy je užitečný způsob, jak zjistit, kde je definovaný i použitý libovolný identifikátor, včetně importů a přiřazení. Pokud chcete vyvolat příkaz, klikněte pravým tlačítkem myši na identifikátor a vyberte Najít všechny odkazy nebo umístěte stříšku do identifikátoru a vyberte Shift+F12. Poklikáním na položku v seznamu přejdete na jeho umístění.

Snímek obrazovky znázorňující výsledky Hledání všech odkazů v sadě Visual Studio