Porady i wskazówki dotyczące wydajności programu Visual Studio

Zalecenia dotyczące wydajności programu Visual Studio są przeznaczone dla sytuacji z małą ilością pamięci, które mogą wystąpić w rzadkich przypadkach. W takich sytuacjach można zoptymalizować niektóre funkcje programu Visual Studio, których możesz nie używać. Poniższe porady nie są przeznaczone jako ogólne zalecenia.

Uwaga

Jeśli masz trudności z używaniem produktu z powodu problemów z pamięcią, daj nam znać za pomocą narzędzia do przesyłania opinii.

Korzystanie z 64-bitowego systemu operacyjnego

W przypadku uaktualnienia systemu z 32-bitowej wersji systemu Windows do wersji 64-bitowej rozszerzysz ilość pamięci wirtualnej dostępnej dla programu Visual Studio z 2 GB do 4 GB. 64-bitowe uaktualnienie systemu operacyjnego umożliwia programowi Visual Studio obsługę większych obciążeń.

Aby uzyskać więcej informacji, zobacz Limity pamięci dla wersji systemu Windows i Windows Server.

Napiwek

Program Visual Studio 2022 w systemie Windows to aplikacja 64-bitowa. Starsze wersje to 32-bitowe.

Wyłączanie automatycznego przywracania plików

Program Visual Studio automatycznie ponownie otwiera dokumenty, które zostały otwarte w poprzedniej sesji. Ta automatyczna akcja przywracania plików może wydłużyć czas ładowania rozwiązania o maksymalnie 30% lub więcej, w zależności od typu projektu i otwartych dokumentów. Projektant takich jak Windows Forms i XAML, a niektóre pliki JavaScript i TypeScript mogą być otwarte powoli.

Program Visual Studio powiadamia Cię na żółtym pasku, gdy automatyczne przywracanie dokumentu powoduje wolniejsze ładowanie rozwiązania. Automatyczne ponowne otwieranie pliku można wyłączyć, wykonując następujące kroki:

  1. Wybierz pozycję Opcje narzędzi>, aby otworzyć okno dialogowe Opcje.

  2. Na stronie Projekty i ogólne rozwiązania>usuń zaznaczenie pozycji Otwórz ponownie dokumenty po załadowaniu rozwiązania.

Jeśli wyłączysz automatyczne przywracanie plików, szybkim sposobem na przejście do plików, które chcesz otworzyć, jest użycie jednego z poleceń Przejdź do :

  • Aby uzyskać ogólne funkcje Przejdź do, wybierz pozycję Edytuj>przejdź do>wszystkich lub naciśnij klawisze Ctrl+T.

  • Przejdź do ostatniej lokalizacji edycji w rozwiązaniu przy użyciu polecenia Edytuj>przejdź do>ostatniej edycji lokalizacji lub naciskając klawisze Ctrl+Shift+Backspace.

  • Użyj pozycji Przejdź do ostatniego pliku , aby wyświetlić listę ostatnio odwiedzonych plików w rozwiązaniu. Wybierz pozycję Edytuj>przejdź, aby przejść do>ostatniego pliku, lub naciśnij klawisze Ctrl+1, Ctrl+R.

Konfigurowanie opcji debugowania

Jeśli zwykle jest mało pamięci podczas sesji debugowania, możesz zoptymalizować wydajność, wprowadzając co najmniej jedną zmianę konfiguracji.

  • Włącz tylko mój kod

    Najprostszą optymalizacją jest włączenie funkcji Just My Code , która ładuje tylko symbole dla projektu. Włączenie tej funkcji może spowodować znaczne oszczędności pamięci na potrzeby debugowania aplikacji zarządzanych (.NET). Ta opcja jest już domyślnie włączona w niektórych typach projektów.

    Aby włączyć opcję Tylko mój kod, wybierz pozycję Narzędzia>Opcje>Debugowanie>ogólne, a następnie wybierz pozycję Włącz tylko mój kod.

  • Określanie symboli do załadowania

    W przypadku debugowania natywnego ładowanie plików symboli (.pdb) jest kosztowne pod względem zasobów pamięci. Ustawienia symboli debugera można skonfigurować w celu zaoszczędzenie pamięci. Zazwyczaj rozwiązanie jest konfigurowane tak, aby ładowało tylko moduły z projektu.

    Aby określić ładowanie symboli, wybierz pozycję Narzędzia>Opcje Debugowanie>>symboli.

    Ustaw opcje na Tylko określone moduły zamiast Wszystkich modułów, a następnie określ, które moduły mają być ładowane. Podczas debugowania można również kliknąć prawym przyciskiem myszy określone moduły w oknie Moduły , aby jawnie dołączyć moduł do ładowania symboli. (Aby otworzyć okno podczas debugowania, wybierz pozycję Debugowanie>modułów systemu Windows).>

    Aby uzyskać więcej informacji, zobacz Określanie symboli i plików źródłowych w debugerze.

  • Wyłączanie narzędzi diagnostycznych

    Zaleca się wyłączenie profilowania procesora CPU po użyciu. Ta funkcja może zużywać duże ilości zasobów. Po włączeniu profilowania procesora CPU ten stan jest utrwalany w kolejnych sesjach debugowania, dlatego warto jawnie wyłączyć go po zakończeniu. Niektóre zasoby można zaoszczędzić, wyłączając narzędzia diagnostyczne podczas debugowania, jeśli nie potrzebujesz podanych funkcji.

    Aby wyłączyć narzędzia diagnostyczne, uruchom sesję debugowania, wybierz pozycję Narzędzia>Opcje>Debugowanie>ogólne, a następnie usuń zaznaczenie opcji Włącz narzędzia diagnostyczne podczas debugowania.

    Aby uzyskać więcej informacji, zobacz Narzędzia profilowania.

Wyłączanie narzędzi i rozszerzeń

Niektóre narzędzia lub rozszerzenia można wyłączyć, aby zwiększyć wydajność.

Napiwek

Często można izolować problemy z wydajnością, wyłączając rozszerzenia pojedynczo i ponownie sprawdzając wydajność.

Zarządzana usługa językowa (Roslyn)

Aby uzyskać informacje o zagadnieniach dotyczących wydajności platformy kompilatora .NET ("Roslyn"), zobacz Zagadnienia dotyczące wydajności dla dużych rozwiązań.

  • Wyłączanie funkcji CodeLens

    Program Visual Studio wykonuje zadanie Znajdź wszystkie odwołania dla każdej metody, gdy jest wyświetlana. Funkcja CodeLens udostępnia funkcje, takie jak wbudowany wyświetlacz liczby odwołań. Praca jest wykonywana w osobnym procesie, takim jak ServiceHub.RoslynCodeAnalysisService32. W przypadku dużych rozwiązań lub w systemach ograniczonych zasobami ta funkcja może mieć znaczący wpływ na wydajność. Jeśli występują problemy z pamięcią, na przykład podczas ładowania dużego rozwiązania na maszynie 4 GB lub wysokiego użycia procesora CPU dla tego procesu, możesz wyłączyć funkcję CodeLens, aby zwolnić zasoby.

    Aby wyłączyć funkcję CodeLens, wybierz pozycję Narzędzia>Opcje>Edytor>tekstu Wszystkie języki>CodeLens i usuń zaznaczenie funkcji.

    Aby uzyskać więcej informacji, zobacz Znajdowanie zmian kodu i innych historii za pomocą funkcji CodeLens.

Inne narzędzia i rozszerzenia

  • Wyłączanie rozszerzeń

    Rozszerzenia to dodatkowe składniki oprogramowania dodane do programu Visual Studio, które zapewniają nowe funkcje lub rozszerzają istniejące funkcje. Rozszerzenia często mogą być źródłem problemów z zasobami pamięci. Jeśli występują problemy z zasobami pamięci, spróbuj jednocześnie wyłączyć rozszerzenia, aby zobaczyć, jak ma to wpływ na scenariusz lub przepływ pracy.

    Aby wyłączyć rozszerzenia, przejdź do pozycji Rozszerzenia>Zarządzaj rozszerzeniami i wyłącz określone rozszerzenie.

  • Wyłączanie trybu mapy

    Tryb mapy wyświetla wiersze kodu w miniaturze na pasku przewijania. Tryb mapy jest domyślnie włączony.

    Aby wyłączyć tryb mapy, przejdź do pozycji Narzędzia>Opcje>Edytor>tekstu Wszystkie paski przewijania języków>, a następnie w sekcji Zachowanie usuń zaznaczenie opcji Użyj trybu mapy dla pionowego paska przewijania.

  • Wyłączanie zawijania wyrazów

    Zawijanie programu Word wyświetla fragment długiego wiersza kodu, który wykracza poza bieżącą szerokość okna edytora kodu. Zawijanie wyrazów jest domyślnie włączone.

    Aby wyłączyć zawijanie wyrazów dla aktualnie działającego projektu, przejdź do tematu Edytuj>zaawansowane>zawijanie wyrazów. (To ustawienie można przełączać przy użyciu tych samych poleceń menu).

    Aby wyłączyć zawijanie wyrazów dla wszystkich projektów, przejdź do pozycji Narzędzia>Opcje>ogólne Edytor>tekstów Wszystkie>języki>Ogólne, a w sekcji Ustawienia usuń zaznaczenie opcji Zawijanie programu Word.

  • Wyłączanie Projektant XAML

    Projektant XAML jest domyślnie włączony, ale zużywa tylko zasoby, jeśli otworzysz plik xaml . Jeśli pracujesz z plikami XAML, ale nie chcesz korzystać z funkcji projektanta, wyłącz tę funkcję, aby zwolnić pamięć.

    Aby wyłączyć Projektant XAML, przejdź do pozycji Narzędzia>Opcje>XAML Projektant Enable XAML Projektant> i usuń zaznaczenie opcji.

  • Usuwanie obciążeń

    Możesz użyć Instalator programu Visual Studio, aby usunąć obciążenia, które nie są już używane. Ta akcja może usprawnić koszt uruchamiania i środowiska uruchomieniowego, pomijając pakiety i zestawy, które nie są już potrzebne.

  • Dodawanie nieśledzonych plików do lokalnego pliku gitignore

    Program Visual Studio uruchamia polecenie git status Git z nieślednymi plikami, aby zapewnić bezproblemowe środowisko podczas dodawania nowych plików do repozytorium. Jeśli istnieje duża liczba nieśledzonych plików, git status może zużywać dodatkową pamięć. Aby zignorować te pliki i zwiększyć wydajność git statusprogramu , możesz dodać te pliki lub foldery do lokalnego pliku gitignore. Aby uzyskać dostęp do pliku, przejdź do pozycji Git> Ustawienia> Git Repository Ustawienia. Następnie w sekcji Pliki Git wybierz pozycję Dodaj , aby utworzyć plik gitignore, lub wybierz pozycję Edytuj , jeśli już go masz.

  • Włączanie grafu zatwierdzania w narzędziu Git

    Nowość w programie Visual Studio 2022 w wersji 17.2: Jeśli występują opóźnienia podczas wyświetlania repozytorium Git lub historii gałęzi w programie Visual Studio, zintegrowaliśmy funkcję "commit graph", która może pomóc. Aby użyć grafu zatwierdzń, upewnij się, że pobrasz i zainstalujesz program Visual Studio 2022. Aby dowiedzieć się więcej na temat grafu zatwierdzń, zobacz wpis w blogu Supercharge your Git experience in Visual Studio (Ładowanie środowiska Git w programie Visual Studio ).

Wymuszanie odzyskiwania pamięci

ClR używa systemu zarządzania pamięcią odzyskiwania pamięci. W tym systemie czasami pamięć jest używana przez obiekty, które nie są już potrzebne. Ten stan jest tymczasowy; moduł odśmieceń pamięci zwalnia tę pamięć na podstawie wydajności i heurystyki użycia zasobów. ClR można wymusić zbieranie wszelkich nieużywanych pamięci przy użyciu klawisza hotkey w programie Visual Studio. Jeśli istnieje znaczna ilość pamięci oczekujących na odzyskiwanie pamięci i wymusisz odzyskiwanie pamięci, powinno zostać wyświetlone użycie pamięci procesu devenv.exe w Menedżerze zadań. Rzadko jest konieczne użycie tej metody. Jednak po zakończeniu kosztownej operacji (takiej jak pełna kompilacja, sesja debugowania lub otwarte zdarzenie rozwiązania), może to pomóc w ustaleniu, ile pamięci jest naprawdę używane przez proces. Ponieważ program Visual Studio jest mieszany (zarządzany i natywny), od czasu do czasu jest możliwe, aby natywny alokator i moduł odśmieceń pamięci konkurował o ograniczone zasoby pamięci. W warunkach wysokiego użycia pamięci może to pomóc wymusić uruchomienie modułu odśmiecenia pamięci.

Aby wymusić odzyskiwanie pamięci, użyj tego skrótu klawiaturowego: Ctrl Alt+Shift F12, Ctrl++Alt+Shift++F12 (naciśnij dwa razy).

Jeśli wymuszanie odzyskiwania pamięci niezawodnie sprawia, że scenariusz działa, zgłoś raport za pomocą narzędzia opinii programu Visual Studio, ponieważ to zachowanie może być usterką.

Aby uzyskać szczegółowy opis modułu zbierającego śmieci CLR, zobacz Podstawy odzyskiwania pamięci.