Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł zawiera informacje o funkcjach programu Visual Studio na potrzeby programowania w języku F#.
Instalowanie obsługi języka F#
Aby programować za pomocą języka F# w programie Visual Studio, najpierw zainstaluj obciążenie programowanie aplikacji klasycznych .NET , jeśli jeszcze tego nie zrobiono. Pakiety robocze programu Visual Studio są instalowane za pomocą Instalatora programu Visual Studio, który można otworzyć, wybierając pozycję Narzędzia>Pobierz narzędzia i funkcje.
Funkcje projektu języka F#
Różne szablony projektów i elementów są dostępne dla języka F# w programie Visual Studio. Na poniższej ilustracji przedstawiono niektóre szablony projektów języka F# dla platform .NET Core i .NET Standard:
Na poniższej ilustracji przedstawiono niektóre szablony elementów języka F#:
Aby uzyskać więcej informacji na temat szablonów elementów na potrzeby dostępu do danych, zobacz Dostawcy typów języka F#.
Poniższa tabela zawiera podsumowanie funkcji we właściwościach projektu dla języka F#:
| Ustawienie projektu | Obsługiwane w języku F#? | Notatki |
|---|---|---|
| Pliki zasobów | Tak | |
| Ustawienia kompilacji, debugowania i odwołania | Tak | |
| Wielotargetowanie | Tak | |
| Ikona i manifest | Nie. | Dostępne za pośrednictwem opcji wiersza polecenia kompilatora. |
| usługi klienckie ASP.NET | Nie. | |
| ClickOnce | Nie. | Użyj projektu klienta w innym języku platformy .NET, jeśli ma to zastosowanie. |
| Silne nazewnictwo | Nie. | Dostępne za pośrednictwem opcji wiersza polecenia kompilatora. |
| Publikowanie zestawów i przechowywanie wersji | Nie. | |
| analiza kodu | Nie. | Narzędzia do analizy kodu można uruchamiać ręcznie lub w ramach polecenia po kompilacji. |
| Zabezpieczenia (zmienianie poziomów zaufania) | Nie. |
Projektant projektu
Projektant projektu składa się z kilku stron właściwości projektu pogrupowanych według powiązanych funkcji. Strony dostępne dla projektów języka F# są głównie podzbiorem tych, które są dostępne dla innych języków i zostały opisane w poniższej tabeli. Linki są dostarczane do odpowiedniej strony projektanta projektów w języku C#.
| Strona Projektanta projektów | Powiązane linki | Opis |
|---|---|---|
| Aplikacja | Strona aplikacji, Projektant projektu | Umożliwia określenie ustawień i właściwości na poziomie aplikacji, takich jak tworzenie biblioteki lub pliku wykonywalnego, wersja platformy .NET przeznaczona dla aplikacji oraz informacje o tym, gdzie są przechowywane pliki zasobów używane przez aplikację. |
| Zbuduj | Strona kompilacji, Projektant projektu | Umożliwia kontrolowanie sposobu kompilowania kodu. |
| Zdarzenia kompilacji | Strona zdarzeń kompilacji, Projektant projektu | Umożliwia określenie poleceń do uruchomienia przed kompilacją lub po jej zakończeniu. |
| Debugowanie | strona debugowania , projektant projektu | Umożliwia kontrolowanie sposobu działania aplikacji podczas debugowania. Obejmuje to polecenia, które mają być używane i jakie jest katalog początkowy aplikacji, oraz wszelkie specjalne tryby debugowania, które chcesz włączyć, takie jak kod natywny i sql. |
| Pakiet (tylko zestaw SDK platformy.NET) | N/A | Umożliwia definiowanie metadanych pakietu NuGet podczas publikowania jako pakietu NuGet. |
| Ścieżki odwołania | Zarządzanie referencjami w projekcie | Umożliwia określenie miejsca wyszukiwania zestawów, od których zależy kod. |
| Zasoby (tylko zestaw SDK platformy.NET) | N/A | Umożliwia generowanie domyślnego pliku zasobów i zarządzanie nim. |
Ustawienia specyficzne dla języka F#
Poniższa tabela zawiera podsumowanie ustawień specyficznych dla języka F#:
| Strona Projektanta projektów | Ustawienia | Opis |
|---|---|---|
| Zbuduj | Generowanie wywołań końcowych | W przypadku wybrania tej opcji włącza korzystanie z instrukcji języka Microsoft Intermediate Language (MSIL). Powoduje to ponowne użycie ramki stosu dla funkcji cyklicznych tail. Odpowiednik opcji kompilatora --tailcalls . |
| Zbuduj | Inne flagi | Umożliwia określenie dodatkowych opcji wiersza polecenia kompilatora. |
Funkcje edytora kodu i tekstu
Następujące funkcje programu Visual Studio Code i edytorów tekstów są obsługiwane w języku F#:
| Funkcja | Opis | Obsługiwane w języku F#? |
|---|---|---|
| Automatyczne komentowanie | Umożliwia komentowanie lub usuwanie komentarza sekcji kodu. | Tak |
| Automatyczne formatowanie | Formatuje kod ze standardowym wcięciem i stylem. | Nie. |
| Zakładki | Umożliwia zapisywanie miejsc w edytorze. | Tak |
| Zmienianie wcięcia | Wcięcia lub niezidenty zaznaczone wiersze. | Tak |
| Inteligentne wcięcie | Automatycznie wcięcie i de-wcięcie kursora zgodnie z regułami określania zakresu języka F#. | Tak |
| Znajdź i zamień tekst | Umożliwia wyszukiwanie w pliku, projekcie lub rozwiązaniu oraz potencjalnie zmianę tekstu. | Tak |
| Przejdź do definicji interfejsu API platformy .NET | Gdy kursor jest umieszczony w interfejsie API platformy .NET, pokazuje kod wygenerowany na podstawie metadanych platformy .NET. | Nie. |
| Przejdź do definicji interfejsu API zdefiniowanego przez użytkownika | Gdy kursor znajduje się na zdefiniowanej jednostce programu, przenosi kursor do lokalizacji w kodzie, w którym zdefiniowano jednostkę. | Tak |
| Przejdź do wiersza | Umożliwia przejście do określonego wiersza w pliku według numeru wiersza. | Tak |
| Paski nawigacji w górnej części pliku | Umożliwia przechodzenie do lokalizacji w kodzie, na przykład przez nazwę funkcji. | Tak |
| Wskazówki dotyczące struktury bloków | Pokazuje wytyczne wskazujące zakresy języka F#, które można umieścić na wskaźniku myszy dla wersji zapoznawczej. | Tak |
| Tworzenie konspektu | Umożliwia zwinięcie sekcji kodu w celu utworzenia bardziej kompaktowego widoku. | Tak |
| Tabify | Konwertuje spacje na karty. | Tak |
| Kolorowanie typów | Pokazuje zdefiniowane nazwy typów w specjalnym kolorze. | Tak |
| Szybkie znajdowanie. Zobacz Szybkie znajdowanie, znajdowanie i zastępowanie okna. | Umożliwia wyszukiwanie w pliku lub projekcie. | Tak |
| Ctrl+kliknij, aby przejść do definicji | Umożliwia przytrzymanie Ctrl i kliknięcie symbolu F#w celu wywołania funkcji Przejdź do definicji. | Tak |
| Przejdź do definicji z funkcji QuickInfo | Symbole z możliwością klikania wewnątrz etykietek narzędzi, które wywołują pozycję Przejdź do definicji. | Tak |
| Przejdź do wszystkich | Włącza globalną, rozmytą nawigację dla wszystkich konstrukcji języka F# za pomocą Ctrl+T. | Tak |
| Zmiana nazwy wbudowanej | Zmienia nazwę wszystkich wystąpień symbolu wbudowanego. | Tak |
| Znajdź wszystkie odwołania | Znajduje wszystkie wystąpienia symbolu w bazie kodu. | Tak |
| Uprość poprawkę kodu nazwy | Usuwa niepotrzebne kwalifikatory dla symboli języka F#. | Tak |
Usuń poprawkę kodu instrukcji nieużywanej open |
Usuwa wszystkie niepotrzebne instrukcje open w dokumencie. |
Tak |
| Poprawka kodu nieużywanej wartości | Sugeruje zmianę nazwy nieużywanego identyfikatora na podkreślenie. | Tak |
Aby uzyskać ogólne informacje na temat edytowania kodu w programie Visual Studio i funkcji edytora tekstów, zobacz Pisanie kodu w edytorze.
Funkcje IntelliSense
Poniższa tabela zawiera podsumowanie obsługiwanych funkcji IntelliSense i nieobsługiwanych w języku F#:
| Funkcja | Opis | Obsługiwane w języku F#? |
|---|---|---|
| Automatyczne implementowanie interfejsów | Generuje wycinki kodu dla metod interfejsu. | Tak |
| Fragmenty kodu | Wprowadza kod z biblioteki typowych konstrukcji kodowania do tematów. | Nie. |
| Ukończ wyraz | Zapisuje wpisywanie, kończąc wyrazy i nazwy podczas wpisywania. | Tak |
| Automatyczne uzupełnianie | Po włączeniu powoduje, że uzupełnianie wyrazów wybiera pierwsze dopasowanie podczas wpisywania, zamiast czekać na wybranie jednego lub naciśnięcie Ctrl+Spacja. | Tak |
| Uzupełnianie oferty dla symboli w nieotwartych przestrzeniach nazw | W przypadku automatycznego uzupełniania sugerowany jest pasujący symbol, który znajduje się w nieotwartej przestrzeni nazw, oferując ukończenie z odpowiednią open instrukcją po wybraniu. |
Tak |
| Generowanie elementów kodu | Umożliwia generowanie kodu wycinkowego dla różnych konstrukcji. | Nie. |
| Lista członków | Podczas wpisywania operatora dostępu do składowych (.) są wyświetlane elementy członkowskie dla typu. | Tak |
| Organizowanie przy użyciu/otwieranie | Organizuje przestrzenie nazw przywoływalne przy użyciu instrukcji w języku C# lub otwartych dyrektyw w języku F#. | Nie. |
| Informacje o parametrach | Przedstawia przydatne informacje o parametrach podczas pisania wywołania funkcji. | Tak |
| Szybkie informacje | Wyświetla pełną deklarację dla dowolnego identyfikatora w kodzie. | Tak |
| Automatyczne uzupełnianie nawiasów klamrowych | Automatycznie wykonuje konstrukcje składni podobne do nawiasów klamrowych języka F# w sposób transakcyjny. | Tak |
Aby uzyskać ogólne informacje na temat funkcji IntelliSense, zobacz Używanie funkcji IntelliSense.
Funkcje debugowania
Poniższa tabela zawiera podsumowanie funkcji, które są dostępne podczas debugowania kodu języka F#:
| Funkcja | Opis | Obsługiwane w języku F#? |
|---|---|---|
| Okno autos | Pokazuje zmienne automatyczne lub tymczasowe. | Nie. |
| Punkty przerwania | Umożliwia wstrzymanie wykonywania kodu w określonych punktach podczas debugowania. | Tak |
| Warunkowe punkty przerwania | Włącza punkty przerwania, które testują warunek określający, czy wykonanie powinno zostać wstrzymane. | Tak |
| Edytuj i kontynuuj | Umożliwia modyfikowanie i kompilowanie kodu podczas debugowania uruchomionego programu bez zatrzymywania i ponownego uruchamiania debugera. | Nie. |
| Wyrażenie | Ocenia i wykonuje kod w czasie wykonywania. | Nie, ale można użyć ewaluatora wyrażeń języka C#, chociaż należy użyć składni języka C#. |
| Debugowanie historyczne | Umożliwia przejście do wcześniej wykonanego kodu. | Tak |
| Okno Ustawienia lokalne | Pokazuje wartości i zmienne zdefiniowane lokalnie. | Tak |
| Uruchamianie do kursora | Umożliwia wykonywanie kodu do momentu osiągnięcia wiersza zawierającego kursor. | Tak |
| Przechodzenie do | Umożliwia zaawansowane wykonywanie i przechodzenie do dowolnego wywołania funkcji. | Tak |
| Przechodzenie do kroku | Umożliwia zaawansowane wykonywanie w bieżącej ramce stosu i przechodzenie obok dowolnego wywołania funkcji. | Tak |
Aby uzyskać ogólne informacje na temat debugera programu Visual Studio, zobacz Debugowanie w programie Visual Studio.
Dodatkowe narzędzia
Poniższa tabela zawiera podsumowanie obsługi języka F# w narzędziach programu Visual Studio.
| Narzędzie | Opis | Obsługiwane w języku F#? |
|---|---|---|
| Hierarchia wywołań | Wyświetla zagnieżdżona struktura wywołań funkcji w kodzie. | Nie. |
| Metryki kodu | Zbiera informacje o kodzie, takie jak liczba wierszy. | Nie. |
| Widok klas | Udostępnia widok kodu w projekcie oparty na typach. | Nie. |
| Okno Lista błędów | Przedstawia listę błędów w kodzie. | Tak |
| interaktywnych języka F# | Umożliwia wpisywanie (lub kopiowanie i wklejanie) kodu F# i uruchamianie go natychmiast, niezależnie od budynku projektu. Okno interaktywne języka F# to pętla odczytu, oceny, drukowania (REPL). | Tak |
| Przeglądarka obiektów | Umożliwia wyświetlanie typów w zestawie. | Typy języka F# wyświetlane w skompilowanych zestawach nie są wyświetlane dokładnie tak, jak zostały utworzone. Możesz przeglądać skompilowana reprezentację typów języka F#, ale nie można wyświetlić typów, ponieważ są one wyświetlane w języku F#. |
| okno danych wyjściowych | Wyświetla dane wyjściowe kompilacji. | Tak |
| Analiza wydajności | Udostępnia narzędzia do mierzenia wydajności kodu. | Tak |
| Okno Właściwości | Wyświetla i włącza edytowanie właściwości obiektu w środowisku deweloperów, które koncentruje się. | Tak |
| Eksplorator serwera | Udostępnia sposoby interakcji z różnymi zasobami serwera. | Tak |
| Eksplorator rozwiązań | Umożliwia wyświetlanie projektów i plików oraz zarządzanie nimi. | Tak |
| Lista zadań | Umożliwia zarządzanie elementami roboczymi odnoszącymi się do kodu. | Nie. |
| Projekty testowe | Udostępnia funkcje, które ułatwiają testowanie kodu. | Nie. |
| Skrzynka z narzędziami | Wyświetla karty zawierające przeciągalne obiekty, takie jak kontrolki i sekcje tekstu lub kodu. | Tak |