Program wczesnego dostępu ReSharper 2024.2 rozpoczęty!


Z przyjemnością ogłaszamy uruchomienie programu wczesnego dostępu (EAP) dla ReSharper 2024.2! Wstępna wersja EAP jest już dostępna do pobrania i oferuje podgląd nadchodzących funkcji i ulepszeń.

ReSharper C++

Ulepszenia refaktoryzacji Rename:

  • Zmiana nazwy powiązanych plików: Podczas zmiany nazwy pliku można teraz wybrać również zmianę nazwy odpowiadającego mu pliku nagłówkowego lub źródłowego (RSCPP-35756).
  • Zmiana nazwy powiązanego typu: Jeśli plik zawiera typ o podobnej nazwie, refaktoryzacja Rename może zaktualizować nazwę typu podczas zmiany nazwy pliku zawierającego (RSCPP-34045).
  • Zmiana nazwy przestrzeni nazw: Zmiana nazwy przestrzeni nazw może teraz wywołać opcję zmiany nazwy pliku zawierającego, zapewniając, że nazwy plików odzwierciedlają ich zawartość (RSCPP-35743).

Inne:

  • Clang-tidy 18: Dołączony clang-tidy został zaktualizowany do wersji 18, zawierającej najnowsze kontrole i ulepszenia z projektu LLVM (RSCPP-35656).
  • Filtr wywołań metod bazowych: Można teraz użyć opcji Filter Usages w oknie narzędzia Find Results, aby ukryć wywołania metod bazowych, co ułatwia sprawdzanie innych rodzajów użycia (RSCPP-35792).
  • Dodano poprawkę reinterpret_cast: ReSharper zapewnia teraz szybką poprawkę, aby dodać reinterpret_cast, upraszczając rozwiązywanie problemów z konwersją typów. Poprawka jest sugerowana tylko dla konwersji, w których typ źródłowy lub docelowy jest wskaźnikiem do char, unsigned char lub std::byte (RSCPP-35763).
  • Atrybut C++23 [[assume]]: Poprawiliśmy obsługę atrybutu C++23 [[assume]]. Wyrażenie argumentu w atrybucie jest teraz analizowane i używane przez analizę kodu i podświetlanie składni (RSCPP-35820, RSCPP-35762, RSCPP-35822).

dotMemory

Samodzielna wersja dotMemory oferuje teraz opcję filtrowania instancji obiektów według wartości ciągu znaków. Oto najważniejsze kwestie warte uwagi:

  • Teraz po wprowadzeniu dowolnej wartości ciągu znaków w polu filtra w widoku Instancje zestawu obiektów, znalezione wartości zostaną podświetlone w kolumnie Wartość.
  • Teraz możliwe jest również wyszukiwanie instancji obiektów według adresu w widoku Instancje.
  • Filtr pozwala na użycie wyrażeń regularnych, np. ^nAsso.{5,}ID$ pasuje do nAssociatedObjectID.

dotTrace

Przetwarzanie zrzutów z osi czasu za pomocą profilera wydajności dotTrace jest teraz szybsze niż kiedykolwiek. W najnowszej wersji zapoznawczej poprawiono również wydajność filtrowania, drzewa wywołań i obliczeń hotspotów.

Decompiler / dotPeek

Poniższe zmiany są dostępne w oprogramowaniu ReSharper, Rider i samodzielnej wersji dotPeek:

  • Parametry lambda: Wprowadziliśmy obsługę dekompilacji lambd z parametrami opcjonalnymi i parametrami tablicy parametrów, zwiększając czytelność i dokładność dekompilowanego kodu (DOTP-8042).
  • Atrybuty w lambdach: Narzędzie oferuje teraz ulepszoną obsługę atrybutów w wyrażeniach lambda, aby zapewnić, że wszystkie istotne metadane są dokładnie odzwierciedlone w zdekompilowanych danych wyjściowych.
  • Chronione zestawy: Wprowadziliśmy możliwość określenia, czy chcesz dekompilować chronione zestawy, umożliwiając bardziej wszechstronną eksplorację kodu (RSRP-481584).

Obsługa zewnętrznych źródeł:

  • PDB z SrcSrv i SourceLink: dotPeek obsługuje teraz nawigację do źródeł z plików PDB zawierających zarówno SrcSrv, jak i SourceLink, ułatwiając lepszą integrację i debugowanie przepływów pracy (RSRP-496292).
  • Dyrektywy preprocesora: Dekompilator poprawnie rozpoznaje teraz dyrektywy preprocesora (takie jak NET6_0_OR_GREATER) z docelowego frameworka lub przenośnego PDB powiązanego zestawu, zapewniając dokładną reprezentację kodu (RIDER-106794).

Okno narzędzia Assembly Explorer:

Wykrywanie konfiguracji kompilacji: Assembly Explorer wykrywa teraz i prezentuje konfigurację kompilacji (Release lub Debug) zestawów, zapewniając jaśniejszy wgląd w kontekst kompilacji zestawu (DOTP-8100).