Share via


Python-code herstructureren in Visual Studio

Het hergebruik van bestaande code en het vernieuwen van code zijn algemene taken voor ontwikkelaars. U kunt bestaande code voor een ander doel herstructureren en tijd besparen door niet alle nieuwe code te schrijven. Mogelijk wilt u uw code opschonen om ongebruikte items te verwijderen of import- en methoden te vernieuwen, zodat ze actueel zijn met recente versies.

Visual Studio biedt verschillende opdrachten om u te helpen uw Python-broncode automatisch te transformeren en op te schonen:

Vereiste voorwaarden

  • Visual Studio. Volg de stappen in Visual Studio installeren om het product te installeren.
  • Toegang tot een Python-codeproject met bestaande code.

De naam van een klasse, methode of variabele wijzigen

U kunt de opdracht Naam wijzigen gebruiken om de naam voor een specifieke id te wijzigen, inclusief een klasse, methode of variabele. Visual Studio ondersteunt het bijwerken van alle exemplaren van de id of alleen de specifieke exemplaren die u aangeeft.

In de volgende stappen ziet u hoe u de opdracht Naam wijzigen gebruikt in uw code.

  1. Klik in uw code met de rechtermuisknop op de id die u wilt wijzigen en selecteer Naam wijzigen. U kunt de cursor ook op een identifier plaatsen en bewerken>herstructureren>hernoemen in het menu selecteren, of de sneltoets Ctrl+R gebruiken.

  2. Typ in de Naam wijzigen dialoogvenster de nieuwe naam voor de identifier en druk op Enter.

    Schermopname van het opgeven van een andere naam voor een id in Visual Studio 2022.

Een importstatement toevoegen

Als u id's in uw code hebt die ontbrekende definities of ondersteunende typegegevens bevatten, kan Visual Studio u helpen het probleem op te lossen. Wanneer u de cursor op een identifier plaatst die geen informatie bevat, verschijnt er in Visual Studio links van de code een smart tag (gloeilamp). De tag bevat commando's om de benodigde import of from ... import instructies toe te voegen voor de bijbehorende identificator.

In de volgende stappen ziet u hoe u met de infotag kunt werken om importbewerkingen toe te voegen in uw code.

  1. Plaats de cursor in uw code op een identificator waarvoor Visual Studio de slimme tag (gloeilamp) weergeeft. In dit voorbeeld wordt het infolabel weergegeven voor de aanroep naar de wiskundige module:

    Schermopname die de smart tag toont voor een identifier waarvoor een importinstructie moet worden toegevoegd in Visual Studio 2022.

  2. Selecteer in het infolabelmenu de opdracht om de benodigde module toe te voegen of typ informatie aan uw codebestand. In dit voorbeeld is de opdracht om de import math instructie toe te voegen geselecteerd.

    Visual Studio biedt import voltooiingen voor pakketten en modules op het hoogste niveau in het huidige project en de standaardbibliotheek. Visual Studio biedt ook from ... import aanvullingen voor submodules, subpakketten en moduleleden. Voltooiingen zijn functies, klassen of geëxporteerde gegevens.

  3. Nadat u een optie hebt geselecteerd, bevestigt u dat de verwachte wijziging in uw bestand is aangebracht.

    Visual Studio voegt de import instructie boven aan het codebestand toe na andere importbewerkingen of in een bestaande from ... import instructie als dezelfde module al is geïmporteerd. In dit voorbeeld wordt de import math instructie boven aan het bestand toegevoegd na de andere importbewerkingen:

    Schermopname van de importinstructie die is toegevoegd na het uitvoeren van de opdracht vanuit de infotag in Visual Studio 2022.

Visual Studio probeert leden te filteren die niet zijn gedefinieerd in een module. Een voorbeeld is een module die is geïmporteerd in een andere module die geen onderdeel is van de importerende module. Veel modules gebruiken de import sys statement in plaats van from xyz import sys. U ziet geen voltooiing voor het importeren van de sys module uit andere modules, zelfs als de modules een __all__ lid missen dat de sys module uitsluit.

Op dezelfde manier filtert Visual Studio functies die worden geïmporteerd uit andere modules of de ingebouwde naamruimte. Als een module de settrace functie importeert uit de sys module, kunt u in theorie de functie uit die module importeren. De beste aanpak is echter om de import settrace from sys instructie rechtstreeks te gebruiken, dus Visual Studio biedt die instructie specifiek aan.

Stel dat een module normaal gesproken wordt uitgesloten, maar dat deze andere waarden bevat, zoals een naam die is toegewezen aan een waarde in de module. Visual Studio sluit de import nog steeds uit. Bij dit gedrag wordt ervan uitgegaan dat de waarde niet mag worden geëxporteerd omdat deze door een andere module wordt gedefinieerd. Een andere toewijzing is waarschijnlijk een dummywaarde die ook niet wordt geëxporteerd.

Ongebruikte importbewerkingen verwijderen

Wanneer u code schrijft, is het eenvoudig om te eindigen met import instructies voor modules die helemaal niet worden gebruikt. Omdat Visual Studio uw code analyseert, kan deze automatisch bepalen of een import instructie nodig is door te kijken of de geïmporteerde naam binnen het bereik wordt gebruikt nadat de instructie is uitgevoerd.

De volgende stappen laten zien hoe u ongebruikte importbewerkingen in uw code verwijdert.

  1. Plaats de caret in uw code op een import instructie waarvoor Visual Studio het infolabel (gloeilamp) weergeeft. In dit voorbeeld wordt het infolabel weergegeven voor de ongebruikte modules binascii, matrix en glob:

    Schermopname van het openen van opties voor het verwijderen van ongebruikte importbewerkingen in Visual Studio 2022.

  2. Selecteer de optie Alle ongebruikte importbewerkingen verwijderen of De optie niet-gebruikte import verwijderen om alleen de geselecteerde module te verwijderen.

  3. Nadat u een optie hebt geselecteerd, bevestigt u dat de wijzigingen in het bestand zijn aangebracht. In dit voorbeeld verwijdert Visual Studio de drie ongebruikte modules: binascii, matrix en glob.

    Schermopname van de resultaten van het gebruik van de opdracht Alle ongebruikte importbewerkingen verwijderen in Visual Studio 2022.

Overwegingen bij het gebruik van herstructureringsopdrachten

Bekijk de volgende overwegingen voordat u de herstructureringsopdrachten gebruikt.

  • Nadat u een opdracht voor herstructureren hebt uitgevoerd, kunt u de wijzigingen herstellen met behulp van de opdracht Bewerken Ongedaan maken. De opdracht Naam wijzigen biedt een preview-functie , zodat u wijzigingen kunt zien voordat ze worden toegepast.

  • Visual Studio houdt geen rekening met de controlestroom in uw code. Als u een id gebruikt voordat de ondersteunende definitie aanwezig is in de code, zoals een import instructie, verwerkt Visual Studio nog steeds de id zoals gebruikt. Visual Studio verwacht ondersteunende definities voor id's te vinden voordat u aanroepen en toewijzingen uitvoert.

  • Visual Studio negeert alle from __future__ importinstructies. Deze instructies zijn importbewerkingen die worden uitgevoerd in een klassedefinitie of met behulp van instructies from ... import * .