Edytowanie kodu w języku Python i używanie funkcji IntelliSense

Ponieważ większość czasu programowania spędzasz w edytorze kodu, obsługa języka Python w programie Visual Studio zapewnia funkcje ułatwiające zwiększenie produktywności. Funkcje obejmują wyróżnianie składni funkcji IntelliSense, autouzupełnianie, pomoc w podpisie, zastępowanie metod, wyszukiwanie i nawigację.

Edytor kodu jest zintegrowany z oknem interaktywnym w programie Visual Studio. Podczas pracy można łatwo wymieniać kod między dwoma oknami. Aby uzyskać więcej informacji, zobacz Samouczek Krok 3: Używanie okna interaktywnego REPL i Używanie okna interakcyjnego — Wysyłanie do interakcyjnego polecenia.

Tworzenie konspektowania pomaga skoncentrować się na konkretnych sekcjach kodu. Aby uzyskać ogólną dokumentację dotyczącą edytowania kodu w programie Visual Studio, zobacz Funkcje edytora kodu.

Przeglądarka obiektów programu Visual Studio umożliwia inspekcję klas języka Python zdefiniowanych w każdym module i funkcji zdefiniowanych w tych klasach. Dostęp do tej funkcji można uzyskać w menu Widok lub za pomocą skrótu klawiaturowego Ctrl+Alt+J.

Korzystanie z funkcji IntelliSense

Funkcja IntelliSense zapewnia uzupełnianie, pomoc w podpisie, szybkie informacje i kolorowanie kodu. Program Visual Studio 2017 w wersji 15.7 lub nowszej również obsługuje wskazówki dotyczące typów.

Aby zwiększyć wydajność, funkcja IntelliSense w programie Visual Studio 2017 w wersji 15.5 lub starszej zależy od bazy danych uzupełniania wygenerowanej dla każdego środowiska języka Python w projekcie. Może być konieczne odświeżenie bazy danych, jeśli dodasz, usuniesz lub zaktualizujesz pakiety. Stan bazy danych jest wyświetlany w oknie Środowiska języka Python (towarzyszem Eksplorator rozwiązań) na karcie IntelliSense. Aby uzyskać więcej informacji, zobacz Dokumentacja okna środowiska.

Program Visual Studio 2017 w wersji 15.6 lub nowszej używa innego środka w celu zapewnienia uzupełniania funkcji IntelliSense, które nie są zależne od bazy danych.

Uzupełnień

Uzupełnienia są wyświetlane jako instrukcje, identyfikatory i inne słowa, które można odpowiednio wprowadzić w bieżącej lokalizacji w edytorze. Funkcja IntelliSense wypełnia listę opcji na podstawie kontekstu i filtrów niepoprawnych lub rozpraszających uwagę elementów. Ukończenia są często wyzwalane przez wprowadzenie różnych instrukcji (takich jak import) i operatorów (w tym kropkę), ale mogą być wyświetlane w dowolnym momencie, wybierając skrót klawiaturowy Ctrl+J +Spacja.

Zrzut ekranu przedstawiający uzupełnianie składowych za pomocą funkcji IntelliSense w edytorze programu Visual Studio.

Po otwarciu listy uzupełniania możesz wyszukać ukończenie, używając klawiszy strzałek, myszy lub kontynuując wpisywanie. Podczas wpisywania większej liczby liter lista jest dodatkowo filtrowana w celu wyświetlenia prawdopodobnych uzupełnień. Możesz również użyć skrótów, takich jak:

  • Wpisz litery, które nie znajdują się na początku nazwy, takie jak "analizowanie", aby znaleźć "argparse"
  • Wpisz tylko litery, które znajdują się na początku słów, takich jak "abc", aby znaleźć "AbstractBaseClass" lub "air", aby znaleźć "as_integer_ratio"
  • Pomiń litery, takie jak "b64", aby znaleźć "base64"

Oto kilka przykładów:

Zrzut ekranu przedstawiający uzupełnianie składowych z filtrowaniem w edytorze programu Visual Studio.

Uzupełnianie składowych jest wyświetlane automatycznie po wpisaniu kropki po zmiennej lub wartości wraz z metodami i atrybutami potencjalnych typów. Jeśli zmienna może być więcej niż jednym typem, lista zawiera wszystkie możliwości ze wszystkich typów. Dodatkowe informacje są wyświetlane, aby wskazać, które typy obsługują każde ukończenie. Jeśli wszystkie możliwe typy obsługują uzupełnianie, nie jest wyświetlana adnotacja.

Zrzut ekranu przedstawiający uzupełnianie elementów członkowskich w wielu typach w edytorze programu Visual Studio.

Domyślnie członkowie "dunder" (elementy członkowskie rozpoczynające się i kończące się podwójnym podkreśleniem) nie są wyświetlane. Ogólnie rzecz biorąc, dostęp do takich członków nie powinien być uzyskiwany bezpośrednio. Jeśli musisz użyć dunder, wpisz wiodące podwójne podkreślenie, aby dodać te uzupełnienia do listy:

Zrzut ekranu przedstawiający typy uzupełniania prywatnych składowych dunder w edytorze programu Visual Studio.

Instrukcje import i from ... import zawierają listę modułów, które można zaimportować. Instrukcja from ... import tworzy listę zawierającą elementy członkowskie, które można zaimportować z określonego modułu.

Zrzut ekranu przedstawiający importowanie i kończenie importu w edytorze programu Visual Studio.

Instrukcje raise i except wyświetlają listy klas, które mogą być typami błędów. Lista może nie zawierać wszystkich wyjątków zdefiniowanych przez użytkownika, ale ułatwia szybkie znajdowanie odpowiednich wbudowanych wyjątków:

Zrzut ekranu przedstawiający uzupełnianie wyjątków w edytorze programu Visual Studio.

Wybranie @ symbolu (na) powoduje uruchomienie dekoratora i wyświetlenie potencjalnych dekoratorów. Wiele z tych elementów nie można używać jako dekoratorów. Zapoznaj się z dokumentacją biblioteki, aby określić, który dekorator ma być używany.

Zrzut ekranu przedstawiający uzupełnianie dekoratora w edytorze programu Visual Studio.

Aby uzyskać więcej informacji, zobacz Opcje — wyniki ukończenia.

Wskazówki dotyczące typów

Wskazówki dotyczące typów są dostępne w programie Visual Studio 2017 w wersji 15.7 lub nowszej.

"Wskazówki dotyczące typów" w języku Python 3.5+ (PEP 484 (python.org) to składnia adnotacji dla funkcji i klas, które wskazują typy argumentów, zwracane wartości i atrybuty klasy. Funkcja IntelliSense wyświetla wskazówki dotyczące typów po umieszczeniu wskaźnika myszy na wywołaniach funkcji, argumentach i zmiennych, które mają te adnotacje.

W poniższym przykładzie Vector klasa jest zadeklarowana jako typ List[float], a scale funkcja zawiera wskazówki dotyczące typu zarówno dla argumentów, jak i wartości zwracanej. Zatrzymanie wskaźnika myszy na wywołaniu funkcji spowoduje wyświetlenie wskazówek dotyczących typów:

Zrzut ekranu przedstawiający sposób umieszczania wskaźnika myszy na wywołaniu funkcji w celu wyświetlenia wskazówek dotyczących typów.

W następnym przykładzie zobaczysz, jak atrybuty Employee adnotacji klasy są wyświetlane w oknie podręcznym uzupełniania funkcji IntelliSense dla atrybutu:

Zrzut ekranu przedstawiający uzupełnianie funkcji IntelliSense dla klasy z wskazówkami dotyczącymi typów.

Warto również zweryfikować wskazówki dotyczące typów w całym projekcie, ponieważ błędy zwykle nie pojawiają się do czasu wykonywania. W tym celu program Visual Studio integruje standardowe narzędzie Mypy w branży za pomocą polecenia menu kontekstowego Python>Run Mypy w Eksplorator rozwiązań:

Zrzut ekranu przedstawiający dostępne polecenia linting dla projektów języka Python w Eksplorator rozwiązań.

Uruchomienie polecenia powoduje zainstalowanie pakietu Mypy w razie potrzeby. Następnie program Visual Studio uruchamia narzędzie Mypy, aby zweryfikować wskazówki dotyczące typów w każdym pliku języka Python w projekcie. Błędy są wyświetlane w oknie Lista błędów programu Visual Studio. Wybranie elementu w oknie powoduje przejście do odpowiedniego wiersza w kodzie.

W prostym przykładzie poniższa definicja funkcji zawiera wskazówkę typu wskazującą, że input argument jest typem str, natomiast wywołanie tej funkcji próbuje przekazać liczbę całkowitą:

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

commas_to_colons(1)

Za pomocą polecenia Uruchom plik Mypy w tym kodzie generuje następujący błąd:

Zrzut ekranu przedstawiający przykładowy wynik wskazówek dotyczących sprawdzania poprawności typu Mypy.

Uwaga

W przypadku wersji języka Python wcześniejszych niż 3.5 program Visual Studio wyświetla również wskazówki dotyczące typów dostarczane za pośrednictwem plików wycinków Typeshed (pyi). Możesz użyć plików wycinków, jeśli nie chcesz dołączać wskazówek dotyczących typów bezpośrednio w kodzie lub tworzyć wskazówki dotyczące typów dla biblioteki, która nie używa ich bezpośrednio. Aby uzyskać więcej informacji, zobacz Tworzenie wycinków dla modułów języka Python w witrynie typu wiki projektu Mypy.

Program Visual Studio nie obsługuje obecnie wskazówek dotyczących typów w komentarzach.

Pomoc dotycząca podpisu

Podczas pisania kodu, który wywołuje funkcję, pomoc dotycząca podpisu jest wyświetlana podczas wpisywania nawiasu (otwierającego . Wyświetla on dostępną dokumentację i informacje o parametrach. Możesz uzyskać dostęp do pomocy dotyczącej podpisu za pomocą skrótu klawiaturowego Ctrl+Shift+Spacja wewnątrz wywołania funkcji. Wyświetlane informacje zależą od ciągów dokumentacji w kodzie źródłowym funkcji, ale zawierają wszystkie wartości domyślne.

Zrzut ekranu przedstawiający pomoc dotyczącą podpisu w edytorze programu Visual Studio.

Napiwek

Aby wyłączyć pomoc dotyczącą podpisu, przejdź do pozycji Narzędzia>Opcje>Edytor>tekstu w języku Python>Ogólne. Wyczyść pole wyboru Informacje o parametrze uzupełniania instrukcji>.

Szybkie informacje

Umieszczenie wskaźnika myszy na identyfikatorze powoduje wyświetlenie etykietki narzędzia Szybkie informacje. W zależności od identyfikatora szybkie informacje mogą wyświetlać potencjalne wartości lub typy, dowolną dostępną dokumentację, typy zwracane i lokalizacje definicji:

Zrzut ekranu przedstawiający informacje o wyświetlaniu szybkich informacji w edytorze programu Visual Studio.

Kolorowanie kodu

Kolorowanie kodu używa informacji z analizy kodu do zmiennych kolorów, instrukcji i innych części kodu. Zmienne odwołujące się do modułów lub klas mogą być wyświetlane w innym kolorze niż funkcje lub inne wartości. Nazwy parametrów mogą być wyświetlane w innym kolorze niż zmienne lokalne lub globalne. Domyślnie funkcje nie są wyświetlane pogrubioną.

Zrzut ekranu przedstawiający kolorowanie kodu i składni w edytorze programu Visual Studio.

Aby dostosować kolory, przejdź do pozycji Narzędzia>Opcje>Czcionki i kolory środowiska.> Na liście Wyświetl elementy zmodyfikuj żądane wpisy języka Python:

Zrzut ekranu przedstawiający opcje Czcionki i kolory w programie Visual Studio.

Wstaw fragmenty kodu

Fragmenty kodu to fragmenty kodu, które można wstawić do plików za pomocą skrótu klawiaturowego i wybierając kartę. Możesz również użyć poleceń Edit>IntelliSense>Insert Snippet i Surround With, wybierz pozycję Python, a następnie wybierz odpowiedni fragment kodu.

Na przykład class to skrót do fragmentu kodu, który wstawia definicję klasy. Podczas wpisywania classkodu zostanie wyświetlony fragment kodu na liście autouzupełniania:

Zrzut ekranu przedstawiający fragment kodu skrótu do klasy.

Wybranie karty powoduje wygenerowanie pozostałej części klasy. Następnie możesz wpisać nazwę i listę baz, przejść między wyróżnionymi polami z kartą, a następnie wybrać klawisz Enter, aby rozpocząć wpisywanie treści.

Zrzut ekranu przedstawiający wyróżnione obszary fragmentu kodu, które można ukończyć.

Gdy używasz polecenia menu Edytuj>wstaw fragment kodu IntelliSense>, najpierw wybierz pozycję Python, a następnie wybierz odpowiedni fragment kodu:

Zrzut ekranu przedstawiający sposób wybierania fragmentu kodu za pomocą polecenia Wstaw fragment kodu.

Polecenie Edit IntelliSense Surround With (Edytuj>funkcję IntelliSense>Otocz za pomocą) umieszcza bieżące zaznaczenie w edytorze tekstów wewnątrz wybranego elementu strukturalnego. Załóżmy, że masz fragment kodu podobny do następującego przykładu:

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

Wybranie tego kodu i wybranie polecenia Surround With powoduje wyświetlenie listy dostępnych fragmentów kodu. Wybranie opcji def z listy fragmentów kodu powoduje umieszczenie wybranego kodu w definicji funkcji. Możesz użyć klawisza Tab , aby przejść między wyróżnioną nazwą funkcji i argumentami:

Zrzut ekranu przedstawiający sposób użycia polecenia Surround With dla fragmentów kodu.

Sprawdzanie dostępnych fragmentów kodu

Dostępne fragmenty kodu są widoczne w Menedżerze fragmentów kodu. Uzyskaj dostęp do tej funkcji w Menedżerze fragmentów kodu narzędzi>i wybierz język Python jako język:

Zrzut ekranu przedstawiający Menedżera fragmentów kodu w programie Visual Studio.

Aby utworzyć własne fragmenty kodu, zobacz Przewodnik: tworzenie fragmentu kodu.

Jeśli piszesz świetny fragment kodu, który chcesz udostępnić, możesz opublikować go w gist i daj nam znać. Możemy ją uwzględnić w przyszłej wersji programu Visual Studio.

Obsługa języka Python w programie Visual Studio umożliwia szybkie nawigowanie w kodzie, w tym biblioteki, dla których jest dostępny kod źródłowy. Biblioteki z kodem źródłowym paska nawigacyjnego, przejdź do definicji, przejdź do i znajdź wszystkie odwołania polecenia. Możesz również użyć przeglądarki obiektów programu Visual Studio.

Pasek nawigacyjny jest wyświetlany w górnej części każdego okna edytora i zawiera listę dwóch poziomów definicji. Lista rozwijana po lewej stronie zawiera definicje klas najwyższego poziomu i funkcji w bieżącym pliku. Na prawej liście rozwijanej jest wyświetlana lista definicji w zakresie widocznym po lewej stronie. W miarę poruszania się po edytorze listy są aktualizowane w celu wyświetlenia bieżącego kontekstu, a także możesz wybrać wpis z tych list, aby przejść bezpośrednio do.

zrzut ekranu przedstawiający pasek nawigacyjny w edytorze programu Visual Studio.

Napiwek

Aby ukryć pasek nawigacyjny, przejdź do pozycji Narzędzia>Opcje>Edytor>tekstu Języka Python>Ogólne i wyczyść pasek Ustawienia> Navigation.

Przejdź do definicji

Polecenie Przejdź do definicji szybko przechodzi z użycia identyfikatora (takiego jak nazwa funkcji, klasa lub zmienna) do lokalizacji definicji kodu źródłowego. Aby wywołać polecenie, kliknij prawym przyciskiem myszy identyfikator i wybierz polecenie Przejdź do definicji lub umieść daszek w identyfikatorze i wybierz klawisz F12. Polecenie działa w kodzie i bibliotekach zewnętrznych, w których jest dostępny kod źródłowy. Jeśli kod źródłowy biblioteki jest niedostępny, funkcja Przejdź do definicji przechodzi do odpowiedniej import instrukcji odwołania do modułu lub wyświetla błąd.

Zrzut ekranu przedstawiający polecenie Przejdź do definicji w programie Visual Studio.

Przejdź do

Polecenie Edytuj>przejdź do (Ctrl+,) wyświetla pole wyszukiwania w edytorze, w którym można wpisać dowolny ciąg i zobaczyć możliwe dopasowania w kodzie definiującym funkcję, klasę lub zmienną zawierającą ten ciąg. Ta funkcja zapewnia podobną funkcję jak Przejdź do definicji , ale bez konieczności lokalizowania użycia identyfikatora.

Aby przejść do definicji tego identyfikatora, kliknij dwukrotnie dowolną nazwę lub wybierz nazwę za pomocą klawiszy strzałek, a następnie wprowadź.

Zrzut ekranu przedstawiający polecenie Przejdź do w programie Visual Studio.

Znajdź wszystkie odwołania

Funkcja Znajdź wszystkie odwołania jest pomocnym sposobem odnajdywania, gdzie dowolny identyfikator jest zdefiniowany i używany, w tym importów i przypisań. Aby wywołać polecenie, kliknij prawym przyciskiem myszy identyfikator i wybierz polecenie Znajdź wszystkie odwołania lub umieść daszek w identyfikatorze i wybierz klawisze Shift+F12. Dwukrotne kliknięcie elementu na liście powoduje przejście do jego lokalizacji.

Zrzut ekranu przedstawiający wyniki znajdź wszystkie odwołania w programie Visual Studio.