Megosztás a következőn keresztül:


Python-kód szerkesztése és az Intellisense használata

Mivel a fejlesztési idő nagy részét a kódszerkesztőben tölti, a Visual Studio Python-támogatása funkcióval segíti a hatékonyabb munkavégzést. A funkciók közé tartozik az IntelliSense szintaxisának kiemelése, az automatikus kiegészítés, az aláírás súgója, a metódus felülbírálása, a keresés és a navigáció.

A kódszerkesztő integrálva van a Visual Studio Interaktív ablakával. Munka közben könnyű kódot cserélni a két ablak között. További információ : Oktatóanyag 3. lépés: Az Interaktív REPL ablak használata és az Interaktív ablak használata – Küldés interaktív parancsra.

A vázlat segítségével a kód egyes szakaszaira összpontosíthat. A kód Visual Studióban való szerkesztésének általános dokumentációját a kódszerkesztő funkciói című témakörben találja.

A Visual Studio Object Browser lehetővé teszi az egyes modulokban definiált Python-osztályok és az ezekben az osztályokban definiált függvények vizsgálatát. Ezt a funkciót a Nézet menüben vagy a Ctrl+Alt+J billentyűparanccsal érheti el.

IntelliSense-funkciók használata

Az IntelliSense kód kiegészítéseket, függvény szignatúra segítség, gyors információ és kódszínezés nyújt. A Visual Studio 2017 15.7-es és újabb verziói is támogatják a típustippeket.

A teljesítmény javítása érdekében a Visual Studio 2017 15.5-ös és korábbi verziójában az IntelliSense a projekt minden Python-környezetéhez létrehozott befejező adatbázistól függ. Csomagok hozzáadása, eltávolítása vagy frissítése esetén előfordulhat, hogy frissítenie kell az adatbázist. Az adatbázis állapota az IntelliSense lap Python-környezetek ablakában (a Megoldáskezelő társa) jelenik meg. További információ: Környezetek ablakhivatkozás.

A Visual Studio 2017 15.6-os és újabb verziói más eszközökkel biztosítják az IntelliSense olyan kiegészítéseit, amelyek nem függnek az adatbázistól.

Befejezések

A kiegészítések utasításokként, azonosítókként és más szavakként jelennek meg, amelyek a szerkesztő aktuális helyén megfelelően beírhatók. Az Intellisense a környezet alapján tölti ki a lehetőségek listáját, és szűri a helytelen vagy zavaró elemeket. A kiegészítések gyakran különböző utasítások (mint például import) és operátorok (beleértve a pontot is) bevitelével aktiválódnak, de bármikor megjelenhetnek a Ctrl+J +Szóköz billentyűkombináció megnyomásával.

Képernyőkép, amely mutatja a tagok automatikus kiegészítését az Intellisense által a Visual Studio szerkesztőjében.

Ha meg van nyitva a befejezési lista, a nyílbillentyűkkel, az egérrel vagy a gépelés folytatásával keresheti meg a kívánt befejezést. Amikor további betűket ír be, a lista tovább szűrve jelenik meg a valószínű befejezések megjelenítéséhez. A következő parancsikonokat is használhatja:

  • Írja be azokat a betűket, amelyek nem a név elején találhatók, például "elemzés" az "argparse" kereséséhez
  • Csak olyan betűket írjon be, amelyek a szavak elején vannak, például az "abc", hogy megkeresse az "AbstractBaseClass" vagy a "air" szót a "as_integer_ratio" kifejezés megkereséséhez.
  • A "base64" megkereséséhez hagyja ki a betűket, például a "b64"-et.

Íme néhány példa:

Képernyőkép a tag-kiegészítésről a Visual Studio szerkesztőben, szűrés alkalmazásával.

A tagkiegészítések automatikusan megjelennek, ha egy változó vagy érték utáni időszakot ír be a lehetséges típusok metódusaival és attribútumaival együtt. Ha egy változó több típust is tartalmazhat, a lista minden lehetőséget tartalmaz minden típusból. További információk jelennek meg, amelyek jelzik, hogy mely típusok támogatják az egyes befejezéseket. Ha az összes lehetséges típus támogatja a befejezést, nem jelenik meg széljegyzet.

A Visual Studio szerkesztőjében a különböző típusokhoz tartozó tagkitöltést bemutató képernyőkép.

Alapértelmezés szerint a "dunder" tagok (dupla aláhúzásjellel kezdődő és végződő tagok) nem jelennek meg. Az ilyen tagokhoz általában nem szabad közvetlenül hozzáférni. Ha dundert kell használnia, írja be a kezdő dupla aláhúzásjelet, hogy hozzáadja ezeket a kiegészítéseket a listához:

Képernyőkép a privát dunder tag befejezési típusairól a Visual Studio-szerkesztőben.

Az import és from ... import az utasítások az importálható modulok listáját jelenítik meg. Az from ... import utasítás létrehoz egy listát, amely tartalmazza a megadott modulból importálható tagokat.

Képernyőkép az importálásról és az importálás befejezéséről a Visual Studio-szerkesztőben.

Az raise és except az utasítások olyan osztályok listáját jelenítik meg, amelyek valószínűleg hibatípusok. Előfordulhat, hogy a lista nem tartalmazza az összes felhasználó által megadott kivételt, de segít gyorsan megtalálni a megfelelő beépített kivételeket:

Képernyőkép, amely a kivételkiegészítést mutatja a Visual Studio szerkesztőben.

@ szimbólum (at) kiválasztása elindítja a dekorátort, és megjeleníti a lehetséges dekorátorokat. Sok ilyen elem nem használható dekorátorként. A könyvtár dokumentációjában állapítsa meg, hogy melyik dekorátort használja.

Képernyőkép, amely a dekorátor kitöltését mutatja be a Visual Studio szerkesztőjében.

További információ: Beállítások – befejezési eredmények.

Típusjelzések

A Visual Studio 2017 15.7-es és újabb verziójában típustippek érhetők el.

A Python 3.5+-ban (PEP 484 (python.org) a függvények és osztályok jegyzetszintaxisa, amely az argumentumok típusait, a visszaadott értékeket és az osztályattribútumokat jelzi. Az IntelliSense típustippeket jelenít meg, amikor a függvényhívások, argumentumok és változók fölé viszi az egeret, amelyekhez ezek az annotációk tartoznak.

A következő példában az Vector osztály típusként List[float]van deklarálva, a scale függvény pedig típustippeket tartalmaz az argumentumaihoz és a visszatérési értékhez. Amikor az adott függvényhívásra rámutat, láthatók a típusjelzések.

Képernyőkép, amely megmutatja, hogyan láthatók a típustippek, amikor egy függvényhívás fölé viszi az egeret.

A következő példában láthatja, hogyan jelennek meg az osztály jegyzett attribútumai egy Employee attribútum IntelliSense befejezési előugró ablakában:

Képernyőkép egy osztály IntelliSense befejezéséről, típustippekkel.

Hasznos lehet a projekt során ellenőrizni a típusjelöléseket, mert a hibák általában csak futásidőben jelennek meg. Ebből a célból a Visual Studio integrálja az iparági standard Mypy eszközt a Python>Run Mypy helyi menüparancsán keresztül a Megoldáskezelőben:

A Python-projektekhez elérhető linting parancsokat bemutató képernyőkép a Megoldáskezelőben.

A parancs futtatásakor a rendszer, ha szükséges, felszólítja a Mypy-csomag telepítésére. A Visual Studio ezután futtatja a Mypyt, hogy ellenőrizze a projekt minden Python-fájljában található típustippeket. Hibák jelennek meg a Visual Studio Hibalista ablakban. Ha kiválaszt egy elemet az ablakban, a kód megfelelő sorára navigál.

Egyszerű példaként a következő függvénydefiníció egy típustippet tartalmaz, amely azt jelzi, hogy az input argumentum típus str, míg a függvény hívása egész számot kísérel meg átadni:

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

commas_to_colons(1)

A Mypy futtatása parancs használatával ezen a kódon a következő hibaüzenet jelenik meg:

Képernyőkép a Mypy-érvényesítési típusmutatók példaeredményéről.

Megjegyzés:

A Python 3.5 előtti verziói esetében a Visual Studio a Typehed stub fájlokon (.pyi) keresztül megadott típustippeket is megjeleníti. Csonkfájlokat akkor használhat, ha nem szeretne közvetlenül a kódba befoglalni szövegtippeket, vagy olyan kódtárhoz szeretne típustippeket létrehozni, amelyek nem közvetlenül használják őket. További információt a Python-modulokhoz készült csonkok létrehozása a Mypy-projekt wikijében talál.

A Visual Studio jelenleg nem támogatja a megjegyzésekben szereplő típustippeket.

Aláírás segítség

Függvényt hívó kód írásakor az aláírási súgó jelenik meg a nyitó zárójel (beírásakor. Megjeleníti a rendelkezésre álló dokumentációt és paraméteradatokat. Az aláírási súgót a Ctrl+Shift+Space billentyűkombinációval érheti el egy függvényhívásban. A megjelenített információk a függvény forráskódjában szereplő dokumentációs sztringektől függnek, de az alapértelmezett értékeket is tartalmazzák.

Képernyőkép az aláírási súgóról a Visual Studio szerkesztőjében.

Jótanács

Az aláírási súgó letiltásához nyissa meg az Eszközök>beállításai>szövegszerkesztő>python>általános lapját. Törölje az utasításkiegészítés>paraméter adatai jelölőnégyzetet.

Gyors információ

Ha az egérmutatót egy azonosító fölé viszi, megjelenik egy gyorsinfó buborék. Az azonosítótól függően a gyors információ megjelenítheti a lehetséges értékeket vagy típusokat, az elérhető dokumentációt, a visszatérési típusokat és a definíció helyét:

Képernyőkép a Gyors Infó információinak megjelenítéséről a Visual Studio szerkesztőjében.

Kódszínezés

A kódszínezés a kódelemzéstől a színváltozókig, utasításokig és a kód egyéb részeiig használ információkat. A modulokra vagy osztályokra hivatkozó változók más színben jelenhetnek meg, mint a függvények vagy más értékek. A paraméternevek más színben jelenhetnek meg, mint a helyi vagy globális változók. Alapértelmezés szerint a függvények nem jelennek meg félkövér betűvel.

A Visual Studio-szerkesztő kód- és szintaxisszínezését bemutató képernyőkép.

Kódrészletek beszúrása

A kódrészletek olyan kódtöredékek, amelyek billentyűparancsokkal és a Tab billentyűkombinációval szúrhatók be a fájlokba. Használhatja az>Edit IntelliSense>Insert Snippet and Surround With parancsokat, válassza a Pythont, majd válassza ki a kívánt kódrészletet.

Például class egy osztálydefiníciót beszúró kódrészlet parancsikonja. Beíráskor classa kódrészlet megjelenik az automatikus kiegészítési listában:

Képernyőkép az osztályikon kódrészletéről.

A Tab billentyű megnyomásával generálódik az osztály többi része. Ezután beírhatja a nevet és az alaplistát, mozoghat a kiemelt mezők között a Tab billentyűvel, majd az Enter gombra kattintva elkezdheti beírni a törzset.

Képernyőkép egy kódrészlet azon területeinek kiemeléséről, amelyeket el szeretne végezni.

Amikor az Edit>IntelliSense>Kódrészlet beszúrása parancsot használja, először válassza a Pythont, majd válassza ki a kívánt kódrészletet:

Képernyőkép egy kódrészlet kiválasztásáról a Kódrészlet beszúrása paranccsal.

Az Edit>IntelliSense>Surround With parancs az aktuális kijelölést a szövegszerkesztőben egy kiválasztott szerkezeti elembe helyezi. Tegyük fel, hogy a következő példához hasonló kódrészletet kapott:

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

Ha kijelöli ezt a kódot, és a Surround With parancsot választja, megjelenik az elérhető kódrészletek listája. Ha a kódrészletek listájából választja a def elemet, a kijelölt kódot egy függvénydefinícióba helyezi. A Tab billentyűvel navigálhat a kiemelt függvény neve és argumentumai között:

Képernyőkép, amely bemutatja, hogyan használható a kódrészletek „Körülvesz” (Surround With) parancsa.

Az elérhető kódrészletek vizsgálata

Az elérhető kódrészleteket a Kódrészletek kezelőjében tekintheti meg. Ehhez a funkcióhoz az Tools>Code Kódrészletek kezelőjében férhet hozzá, és nyelvként válassza a Pythont :

Képernyőkép a Code Snippets Managerről a Visual Studióban.

Saját kódrészletek létrehozásához lásd : Útmutató: Kódrészlet létrehozása.

Ha egy nagyszerű kódrészletet ír, amelyet meg szeretne osztani, nyugodtan tegye közzé egy gistben, és tudassa velünk. Előfordulhat, hogy a Visual Studio egy későbbi kiadásában is fel tudjuk venni.

A Visual Studio Python-támogatása számos lehetőséget kínál a kódon belüli gyors navigálásra, beleértve azokat a kódtárakat is, amelyekhez a forráskód elérhető. A navigációs sáv forráskódját, a Definíció megnyitása, a Ugrás és a Minden hivatkozás keresése parancsot tartalmazó kódtárakat is megtalálhatja. A Visual Studio Object Browsert is használhatja.

A navigációs sáv az egyes szerkesztőablakok tetején jelenik meg, és a definíciók kétszintű listáját tartalmazza. A bal oldali legördülő lista az aktuális fájl legfelső szintű osztály- és függvénydefinícióit tartalmazza. A jobb oldali legördülő menüben a bal oldalon látható hatókörben lévő definíciók listája látható. Amint mozog a szerkesztőben, a listák frissülnek, hogy megjelenítsék az aktuális környezetet, és ezekből a listákból is kiválaszthat egy bejegyzést, amelyre közvetlenül ugorhat.

a Visual Studio szerkesztő navigációs sávjának képernyőképe.

Jótanács

A navigációs sáv elrejtéséhez nyissa meg az Eszközök>beállításai>szövegszerkesztő>python>általános elemét, és törölje a beállítások>navigációs sávjának jelölését.

Ugrás a definícióra

Az Ugrás definícióra parancs gyorsan átugrik egy azonosító (például függvénynév, osztály vagy változó) használatáról a forráskóddefiníció helyére. A parancs meghívásához kattintson a jobb gombbal egy azonosítóra, és válassza az Ugrás a definícióra lehetőséget, vagy helyezze a kurzort az azonosítóra, és válassza az F12 lehetőséget. A parancs a kódban és a külső kódtárakban működik, ahol a forráskód elérhető. Ha a kódtár forráskódja nem érhető el, a Go To Definition a modulhivatkozás megfelelő import utasítására ugrik, vagy hibát jelenít meg.

Képernyőkép a Visual Studióban található Go To Definition parancsról.

Odamegy

Az Szerkesztés>Ugrás parancs (Ctrl+,) egy keresőmezőt jelenít meg a szerkesztőben, ahol bármilyen karakterláncot beírhat, és megtekintheti azokat a lehetséges találatokat a kódban, amelyek meghatároznak egy az adott karakterláncot tartalmazó függvényt, osztályt vagy változót. Ez a funkció hasonló képességet biztosít, mint a Go To Definition , de anélkül, hogy azonosítót kellene keresnie.

Az azonosító definíciójára való navigáláshoz kattintson duplán bármelyik névre, vagy válassza ki a nevet nyílbillentyűkkel, majd az Enter billentyűt.

Képernyőkép a Visual Studióban az Ugrás parancsról.

Az összes hivatkozás megkeresése

Az Összes hivatkozás keresése funkció segítségével felderítheti, hogy hol van definiálva és használva egy adott azonosító, beleértve az importálást és a hozzárendeléseket is. A parancs meghívásához kattintson a jobb gombbal egy azonosítóra, és válassza az Összes hivatkozás keresése lehetőséget, vagy helyezze a kurzort az azonosítóra, és válassza a Shift+F12 lehetőséget. Ha duplán kattint egy elemet a listában, a helyére navigál.

Képernyőkép a Visual Studióban az Összes hivatkozás keresése eredményről.