Delen via


Python-code bewerken en IntelliSense gebruiken

Omdat u veel ontwikkeltijd doorbrengt in de code-editor, biedt Python-ondersteuning in Visual Studio functionaliteit om u productiever te maken. Functies omvatten intelliSense-syntaxismarkeringen, automatisch aanvullen, hulp bij handtekeningen, methodeoverschrijvingen, zoeken en navigatie.

De code-editor is geïntegreerd met het interactieve venster in Visual Studio. Terwijl u werkt, is het eenvoudig om code uit te wisselen tussen de twee vensters. Zie Zelfstudie stap 3 voor meer informatie: Het interactieve REPL-venster gebruiken en het interactieve venster Gebruiken - verzenden naar interactieve opdracht.

Overzichten helpen u gefocust te blijven op bepaalde secties van uw code. Zie Functies van de code-editor voor algemene documentatie over het bewerken van code in Visual Studio.

Met Visual Studio Object Browser kunt u Python-klassen inspecteren die zijn gedefinieerd in elke module en de functies die in deze klassen zijn gedefinieerd. U kunt deze functie openen in het menu Beeld of met de sneltoets Ctrl Alt++J.

IntelliSense-functies gebruiken

IntelliSense biedt voltooiingen, hulp bij handtekeningen, snelle informatie en codekleuring. Visual Studio 2017 versie 15.7 en hoger bieden ook ondersteuning voor typehints.

Om de prestaties te verbeteren, is IntelliSense in Visual Studio 2017 versie 15.5 en eerder afhankelijk van een voltooiingsdatabase die wordt gegenereerd voor elke Python-omgeving in uw project. Mogelijk moet u de database vernieuwen als u pakketten toevoegt, verwijdert of bijwerkt. De databasestatus wordt weergegeven in het venster Python-omgevingen (een aanvulling op Solution Explorer) op het tabblad IntelliSense . Zie de naslaginformatie over het venster Omgevingen voor meer informatie.

Visual Studio 2017 versie 15.6 en hoger gebruikt een andere manier om IntelliSense-voltooiingen te bieden die niet afhankelijk zijn van de database.

Voltooiingen

Voltooiingen worden weergegeven als uitdrukkingen, identificaties en andere woorden die op de juiste manier kunnen worden ingevoerd op de huidige locatie in de editor. Intellisense vult de lijst met opties aan op basis van context en filtert onjuiste of afleidende items weg. Voltooiingen worden vaak geactiveerd door verschillende instructies (zoals import) en operators (inclusief een punt) in te voeren, maar ze kunnen op elk gewenst moment worden weergegeven door de sneltoets Ctrl+J +Spatie te selecteren.

Schermopname van voltooiing van leden via IntelliSense in de Visual Studio-editor.

Wanneer een voltooiingslijst is geopend, kunt u zoeken naar de gewenste voltooiing met behulp van de pijltoetsen, de muis of door door te gaan met typen. Wanneer u meer letters typt, wordt de lijst verder gefilterd om waarschijnlijke voltooiingen weer te geven. U kunt ook sneltoetsen gebruiken, zoals:

  • Typ letters die niet aan het begin van de naam staan, zoals 'parse' om 'argparse' te vinden.
  • Typ alleen letters aan het begin van woorden, zoals 'abc' om 'AbstractBaseClass' of 'air' te vinden om 'as_integer_ratio' te vinden
  • Sla letters over, zoals 'b64' om 'base64' te vinden

Hieronder volgen een aantal voorbeelden:

Een schermopname van ledenvoltooiing met filteren in de Visual Studio-editor.

Voltooiingen van leden worden automatisch weergegeven wanneer u een periode na een variabele of waarde typt, samen met de methoden en kenmerken van de mogelijke typen. Als een variabele meer dan één type kan zijn, bevat de lijst alle mogelijkheden van alle typen. Er wordt extra informatie weergegeven om aan te geven welke typen elke voltooiing ondersteunen. Wanneer alle mogelijke typen een voltooiing ondersteunen, wordt er geen aantekening weergegeven.

Schermopname die ledenvoltooiing voor meerdere typen in de Visual Studio-editor toont.

Standaard worden 'dunder'-leden (leden die beginnen en eindigen met een dubbel onderstrepingsteken) niet weergegeven. Over het algemeen zouden dergelijke leden niet rechtstreeks worden benaderd. Als u een dunder wilt gebruiken, typt u het dubbele laagstreepje om deze aanvullingen aan de lijst toe te voegen.

Schermopname die toont de voltooiingsopties voor private dunder-leden in de Visual Studio-editor.

In de import en from ... import instructies wordt een lijst met modules weergegeven die kunnen worden geïmporteerd. De from ... import instructie produceert een lijst met leden die kunnen worden geïmporteerd uit de opgegeven module.

Schermopname van importeren en importeren voltooid in de Visual Studio-editor.

In de raise en except instructies worden lijsten met klassen weergegeven die waarschijnlijk fouttypen zijn. De lijst bevat mogelijk niet alle door de gebruiker gedefinieerde uitzonderingen, maar het helpt u om snel geschikte ingebouwde uitzonderingen te vinden:

Schermopname met uitzonderingsvoltooiing in de Visual Studio-editor.

Door het @-symbool (at) te selecteren, begint een decorator en worden mogelijke decorators getoond. Veel van deze items zijn niet bruikbaar als decoraties. Raadpleeg de bibliotheekdocumentatie om vast te stellen welke decorator moet worden gebruikt.

Schermopname van de voltooiing van de decorator in de Visual Studio-editor.

Zie Opties - voltooiingsresultaten voor meer informatie.

Type-aanduidingen

Typehints zijn beschikbaar in Visual Studio 2017 versie 15.7 en hoger.

'Type hints' in Python 3.5+ (PEP 484 (python.org) is een aantekeningsyntaxis voor functies en klassen die de typen argumenten, retourwaarden en klassekenmerken aangeven. IntelliSense geeft typehints weer wanneer u de muisaanwijzer op functiesaanroepen, argumenten en variabelen plaatst die deze aantekeningen bevatten.

In het volgende voorbeeld wordt de Vector klasse gedeclareerd als het type List[float]en bevat de scale functie typehints voor zowel de argumenten als de retourwaarde. Als u met uw muis over een aanroep naar die functie beweegt, worden de typehints weergegeven.

Schermopname die laat zien hoe je de muis over een functieaanroep beweegt om typehints te onthullen.

In het volgende voorbeeld ziet u hoe de geannoteerde kenmerken van de Employee klasse worden weergegeven in de intelliSense-voltooiingspop-up voor een kenmerk:

Schermopname die de IntelliSense-aanvulling voor een klasse met typehints toont.

Het is ook nuttig om type hints in uw project te valideren, omdat fouten doorgaans pas tijdens de uitvoering zichtbaar worden. Voor dit doel integreert Visual Studio het industriestandaard Hulpprogramma Mypy via de contextmenuopdracht Python>Mypy uitvoeren in Solution Explorer:

Schermopname van de beschikbare linting-opdrachten voor Python-projecten in Solution Explorer.

Als u de opdracht uitvoert, wordt u gevraagd het Mypy-pakket te installeren, indien nodig. Visual Studio voert vervolgens Mypy uit om typehints te valideren in elk Python-bestand in het project. Fouten worden weergegeven in het venster Foutenlijst van Visual Studio. Als u een item in het venster selecteert, gaat u naar de juiste regel in uw code.

Als eenvoudig voorbeeld bevat de volgende functiedefinitie een typehint om aan te geven dat het input argument type stris, terwijl de aanroep naar die functie probeert een geheel getal door te geven:

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

commas_to_colons(1)

Als u de opdracht Mypy uitvoeren op deze code gebruikt, wordt de volgende fout gegenereerd:

Schermopname van het voorbeeldresultaat van Mypy-hints voor het valideren van het type.

Opmerking

Voor versies van Python vóór 3.5 geeft Visual Studio ook typehints weer die u opgeeft via Typeshed stub-bestanden (.pyi). U kunt stub-bestanden gebruiken wanneer u geen typehints rechtstreeks in uw code wilt opnemen of typehints wilt maken voor een bibliotheek die deze niet rechtstreeks gebruikt. Zie Stubs maken voor Python-modules in de wiki van het Mypy-project voor meer informatie.

Visual Studio biedt momenteel geen ondersteuning voor type-hints in opmerkingen.

Help bij handtekeningen

Bij het schrijven van code die een functie aanroept, wordt de functiesignatuurhulp weergegeven wanneer u het openende haakje typt (. Er worden beschikbare documentatie- en parametergegevens weergegeven. U hebt toegang tot handtekeninghulp met de sneltoets Ctrl+Shift-spatie+ in een functie-aanroep. De weergegeven informatie is afhankelijk van de documentatietekenreeksen in de broncode van de functie, maar bevat eventuele standaardwaarden.

Schermopname van de help voor handtekeningen in de Visual Studio-editor.

Aanbeveling

Als u handtekeninghulp wilt uitschakelen, gaat u naar Extra>Opties>Teksteditor>Python>Algemeen. Schakel het selectievakje Voltooien van instructie>Parameterinformatie uit.

Snelle informatie

Als u de muisaanwijzer boven een identificator beweegt, wordt een Quick Info-venster weergegeven. Afhankelijk van de identificator kan Quick Info de mogelijke waarden of typen weergeven, beschikbare documentatie, retourtypen en locaties van definities.

Schermopname waarin het Quick Info-display in de Visual Studio-editor wordt getoond.

Codekleuring

Codekleuring maakt gebruik van informatie uit codeanalyse tot kleurvariabelen, instructies en andere onderdelen van uw code. Variabelen die verwijzen naar modules of klassen, kunnen worden weergegeven in een andere kleur dan functies of andere waarden. Parameternamen kunnen in een andere kleur worden weergegeven dan lokale of globale variabelen. Standaard worden functies niet vetgedrukt weergegeven.

Schermopname van het kleuren van code en syntaxis in de Visual Studio-editor.

Als u de kleuren wilt aanpassen, gaat u naar Opties>>voor omgevingslettertypen>en -kleuren. Wijzig de gewenste Python-vermeldingen in de lijst Weergegeven items.

Schermopname van de opties Lettertypen en kleuren in Visual Studio.

Codefragmenten invoegen

Codefragmenten zijn stukjes code die in uw bestanden kunnen worden ingevoegd met behulp van een sneltoets en het selecteren van Tab. U kunt ook de Edit>IntelliSense>Insert Snippet en "Surround With"-opdrachten gebruiken, Python selecteren en vervolgens het gewenste fragment selecteren.

Dit is bijvoorbeeld class een snelkoppeling voor een codefragment waarmee een klassedefinitie wordt ingevoegd. Het fragment ziet u verschijnen in de lijst met automatisch aanvullen wanneer u het volgende typt class:

Schermopname van een codefragment voor de snelkoppeling naar de klasse.

Als u Tab selecteert, wordt de rest van de klasse gegenereerd. U kunt vervolgens over de naam en basislijst typen, schakelen tussen de gemarkeerde velden met Tab en Enter selecteren om de hoofdtekst te typen.

Schermopname met markeringen op gebieden van een codefragment die u kunt voltooien.

Wanneer u de menuopdracht Bewerken>IntelliSense>Codefragment invoegen gebruikt, selecteert u eerst Python en selecteert u vervolgens het gewenste fragment:

Schermopname die laat zien hoe u een codefragment selecteert via de opdracht Codefragment invoegen.

De opdracht Bewerken>IntelliSense>Surround With plaatst de huidige selectie in de teksteditor binnen een gekozen structureel element. Stel dat u een stukje code hebt, zoals in het volgende voorbeeld:

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

Als u deze code selecteert en de opdracht Surround With kiest, wordt een lijst met beschikbare fragmenten weergegeven. Als u def in de lijst met fragmenten kiest, wordt de geselecteerde code binnen een functiedefinitie geplaatst. U kunt de Tab-toets gebruiken om te navigeren tussen de gemarkeerde functienaam en argumenten:

Schermopname van het gebruik van de opdracht Surround With voor codefragmenten.

Beschikbare fragmenten onderzoeken

U kunt de beschikbare codefragmenten zien in codefragmentenbeheer. Open deze functie vanuit Hulpprogramma's>codefragmentenbeheer en selecteer Python als de taal:

Schermopname van codefragmentenbeheer in Visual Studio.

Als u uw eigen fragmenten wilt maken, raadpleegt u Walkthrough: Een codefragment maken.

Als u een geweldig codefragment schrijft dat u wilt delen, kunt u het in een gist posten en ons hiervan op de hoogte stellen. Mogelijk kunnen we deze opnemen in een toekomstige versie van Visual Studio.

Python-ondersteuning in Visual Studio biedt verschillende manieren om snel in uw code te navigeren, inclusief bibliotheken waarvoor de broncode beschikbaar is. U vindt bibliotheken met broncode voor de navigatiebalk, Go To Definition, Go To en Find All References-opdrachten . U kunt ook de Visual Studio Object Browser gebruiken.

De navigatiebalk wordt boven aan elk editorvenster weergegeven en bevat een lijst met definities op twee niveaus. De vervolgkeuzelijst links bevat klasse- en functiedefinities op het hoogste niveau in het huidige bestand. In de rechtervervolgkeuzelijst wordt een lijst met definities weergegeven binnen het aan de linkerkant weergegeven bereik. Terwijl u door de editor navigeert, worden de lijsten bijgewerkt om uw huidige context weer te geven en kunt u ook een vermelding in deze lijsten selecteren om rechtstreeks naartoe te gaan.

schermopname van de navigatiebalk in de Visual Studio-editor.

Aanbeveling

Als u de navigatiebalk wilt verbergen, gaat u naar Extra>Opties>Teksteditor>Python>Algemeen en wist u deInstellingen>navigatiebalk.

Naar definitie gaan

De opdracht Ga naar definitie springt snel van het gebruik van een id (zoals een functienaam, klasse of variabele) naar de locatie van de broncodedefinitie. Als u de opdracht wilt aanroepen, klikt u met de rechtermuisknop op een id en selecteert u Ga naar definitie of plaatst u de caret in de id en selecteert u F12. De opdracht werkt in uw code en externe bibliotheken waar de broncode beschikbaar is. Als bibliotheekbroncode niet beschikbaar is, springt Ga naar definitie naar de relevante import instructie voor een moduleverwijzing of wordt er een fout weergegeven.

Schermopname van de opdracht Go To Definition in Visual Studio.

Ga naar

Met de opdrachtGa naar> (Ctrl+,) wordt een zoekvak weergegeven in de editor waarin u een willekeurige tekenreeks kunt typen en mogelijke overeenkomsten in uw code kunt zien waarmee een functie, klasse of variabele met die tekenreeks wordt gedefinieerd. Deze functie biedt een vergelijkbare mogelijkheid als Go To Definition maar zonder een gebruik van een identifier te hoeven lokaliseren.

Als u naar de definitie van die id wilt navigeren, dubbelklikt u op een naam of selecteert u de naam met pijltoetsen gevolgd door Enter.

Schermopname van de opdracht Ga naar in Visual Studio.

Alle verwijzingen zoeken

De functie Alle verwijzingen zoeken is een handige manier om te ontdekken waar een bepaalde id is gedefinieerd en gebruikt, inclusief import- en toewijzingen. Als u de opdracht wilt aanroepen, klikt u met de rechtermuisknop op een id en selecteert u Alle verwijzingen zoeken, of plaatst u de caret in de id en selecteert u Shift+F12. Als u dubbelklikt op een item in de lijst, gaat u naar de locatie.

Schermopname die de resultaten van Alle Verwijzingen Zoeken in Visual Studio toont.