Sdílet prostřednictvím


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

Outlinování vám pomůže soustředit se na určité čá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 (doprovodné okno Průzkumníka řešení) na kartě IntelliSense. Další informace naleznete v Referenční příručce okna Prostředí.

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 ve své aktuální pozici v 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 zadáním různých příkazů (například import) a operátorů (včetně tečky), ale mohou se kdykoliv zobrazit po výběru klávesové zkratky 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í. Když píšete více písmen, seznam se dále filtruje, aby zobrazoval pravděpodobné možnosti dokončení. Můžete také použít klávesové zkratky, například:

  • Zadejte písmena, která nejsou na začátku názvu, například „parse“ pro nalezení „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".

Tady je 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, abyste přidali tato dokončení do seznamu:

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

import Příkazy from ... 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

raise a except příkazy zobrazují seznamy tříd, které pravděpodobně budou 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. Podívejte se do dokumentace knihovny a zjistěte, který dekorátor použít.

Snímek obrazovky ukazující dokončení dekorátoru v editoru Visual Studio

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

Typové anotace

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

"Rady 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 zobrazuje tipy typu, když najedete myší na volání funkcí, argumenty a proměnné, které mají tyto anotace.

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 ukazující, jak najetím myší na volání funkce zobrazíte typové nápovědy

V následujícím příkladu můžete vidět, jak se anotované atributy třídy Employee zobrazují v IntelliSense výběrovém okně pro atributy.

Snímek obrazovky znázorňující dokončení IntelliSense pro třídu s typovými nápovědami

Je také užitečné ověřit typové nápovědy v celém projektu, protože chyby se obvykle nezobrazují až po spuštění. 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íku řešení:

Snímek obrazovky znázorňující dostupné příkazy pro lintování pro projekty Pythonu v Průzkumníku ř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, který ukazuje příklad výsledku ověřování nápověd typu pomocí Mypy.

Poznámka:

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

Visual Studio v komentářích v současné době nepodporuje typové nápovědy.

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

Návod

Chcete-li zakázat nápovědu ke správě podpisů, přejděte na Nástroje>Možnosti>Textového editoru>Python>Obecné. Zrušte zaškrtnutí políčka dokončení příkazu>Informace o parametru.

Rychlé informace

Když najedete myší na identifikátor, zobrazí se tooltip s rychlou informací. 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 Nástroje>Možnosti>Prostředí>Písma a barvy. V seznamu Zobrazit položky upravte požadované položky Pythonu :

Snímek obrazovky, který ukazuje možnosti písma a barev v sadě Visual Studio.

Vložení fragmentů kódu

Fragmenty kódu jsou úryvky, které lze do souborů vložit pomocí klávesové zkratky a výběrem klávesy Tab. Můžete také použít příkazy Edit>IntelliSense>Insert Snippet a Surround With, vybrat Python a pak zvolit požadovaný fragment.

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

Snímek obrazovky zobrazující úryvek kódu pro zkratku třídy

Výběr Tab 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>IntelliSense>Obklopit umístí aktuální výběr v textovém editoru 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 úryvků. 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 Obal pro 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 z nástrojů>Správce fragmentů kódu 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 příkazy navigační panel, Přejít k definici, Přejít na a Najít všechny odkazy můžete najít. 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

Návod

Navigační panel skryjete tak, že přejdete do Nástroje,>,>Python>Obecné>zrušíte nastavení navigačního paneluNastavení>.

Přejít na 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 kurzor na identifikátor 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 na

Příkaz UpravitPř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

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 na identifikátor a vyberte Najít všechny odkazy, nebo umístěte kurzor na identifikátor a vyberte Shift+F12. Poklikáním na položku v seznamu přejdete na jeho umístění.

Snímek obrazovky, který ukazuje výsledky funkce Najít všechny odkazy v aplikaci Visual Studio