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.
Notatka
Jeśli masz trudności z używaniem produktu z powodu problemów z pamięcią, skontaktuj się z nami za pośrednictwem narzędzia do 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 sekcję 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 przez maksymalnie 30% lub więcej, w zależności od typu projektu i otwartych dokumentów. Narzędzia projektowe, takie jak Windows Forms i XAML, oraz niektóre pliki JavaScript i TypeScript, mogą się wolno otwierać.
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:
Wybierz Narzędzia>Opcje, aby otworzyć okno dialogowe Opcje .
Na stronie Projekty i rozwiązania >General, usuń zaznaczenie przy opcji Ponownie otwórz dokumenty podczas ładowania 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>Przejdź do wszystkichlub naciśnij Ctrl+T.
Przejdź do ostatniej pozycji edycji w rozwiązaniu przy użyciu Edytuj>Przejdź do>Przejdź do ostatniej edycjilub naciskając Ctrl+Shift+Backspace.
Użyj Przejdź do najnowszego pliku, aby wyświetlić listę ostatnio odwiedzonych plików w projekcie. Wybierz edytuj>Przejdź do>Przejdź do ostatniego plikulub naciśnij 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łączyć 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ć Just My Code, wybierz pozycję Narzędzia Tools>Options>Debugowanie>Ogólne, a następnie wybierz pozycję Włącz tylko mój kod.
Określ symbole 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>Symbole.
Ustaw opcje Załaduj tylko określone moduły zamiast Załaduj wszystkie moduły, a następnie określ moduły, które chcesz załadować. Podczas debugowania można również kliknąć prawym przyciskiem myszy określone moduły w oknie modułów, aby jawnie dołączyć moduł do ładowania symboli. (Aby otworzyć okno podczas debugowania, wybierz pozycję Debuguj moduły>Windows>.
Aby uzyskać więcej informacji, zobacz Określanie symboli i plików źródłowych w debugerze.
wyłącz narzędzia diagnostyczne
Zaleca się wyłączenie profilowania procesora 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łącz CodeLens
Program Visual Studio wykonuje zadanie Znajdź wszystkie odwołania dla każdej z metod podczas jej wyświetlania. CodeLens udostępnia funkcje, takie jak wyświetlanie liczby odwołań bezpośrednio w kodzie. 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ć CodeLens, wybierz pozycję Tools>Options>Text Editor>All Languages>CodeLensi usuń zaznaczenie tej funkcji.
Aby uzyskać więcej informacji, zobacz Znajdowanie zmian kodu i inną historię za pomocą funkcji CodeLens.
Inne narzędzia i rozszerzenia
wyłącz rozszerzenia
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 Extensions>Manage Extensionsi wyłącz określone rozszerzenie.
Wyłącz tryb 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 Narzędzia>Opcje>Edytor tekstu>Wszystkie języki>Paski przewijania, a następnie w sekcji zachowanie usuń zaznaczenie opcji Użyj trybu mapy dla pionowego paska przewijania.
Wyłącz zawijanie wyrazów
zawijanie wierszy wyświetla część długiego wiersza kodu, która wykracza poza bieżącą szerokość okna edytora kodu. Zawijanie wyrazów jest domyślnie włączone.
Aby wyłączyć zawijanie wierszy dla projektu, nad którym obecnie pracujesz, przejdź do Edytuj>Zaawansowane>Zawijanie wierszy. (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 Tools>Options>General>Text Editor>All Languages>General, i w sekcji Ustawień usuń zaznaczenie opcji zawijania wyrazów .
Wyłącz Projektanta 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ć projektanta XAML, przejdź do Tools>Options>XAML Designer>Enable XAML Designeri usuń zaznaczenie opcji.
Usuwanie obciążeń
Możesz użyć Instalatora 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
git status
z niezaśledzonymi plikami, aby zapewnić płynną integrację 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 status
, możesz dodać te pliki lub foldery do lokalnego pliku gitignore. Aby uzyskać dostęp do pliku, przejdź do Git>Ustawienia>Ustawienia repozytorium Git. Następnie w sekcji pliki Git wybierz pozycję Dodaj, aby utworzyć plik gitignore, lub wybierz pozycję Edytuj, jeśli masz już plik.Włącz graf 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 zatwierdzeń, upewnij się, że pobierasz i instalujesz program Visual Studio 2022. Aby dowiedzieć się więcej na temat wykresu zatwierdzeń, zobacz wpis na blogu Supercharge your Git experience in Visual Studio.
Wymuszanie odzyskiwania pamięci
CLR używa systemu zarządzania pamięcią poprzez zbieranie śmieci. W tym systemie czasami pamięć jest używana przez obiekty, które nie są już potrzebne. Ten stan jest tymczasowy; kolektor śmieci zwalnia tę pamięć na podstawie heurystyk użycia zasobów i jego wydajności. Możesz wymusić na CLR zebranie nieużywanej pamięci za pomocą skrótu klawiaturowego 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 spadek Menedżer 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 & natywny), od czasu do czasu jest możliwe, aby natywny alokator i moduł odśmieceń pamięci konkurowały o ograniczone zasoby pamięci. W warunkach wysokiego użycia pamięci, może pomóc wymuszenie uruchomienia zbieracza śmieci.
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 Visual Studio, ponieważ to zachowanie może być usterką.
Aby uzyskać szczegółowy opis modułu zbierającego elementy bezużyteczne CLR, zobacz Podstawy odzyskiwania pamięci.