Programowanie przy użyciu języka Visual F# w programie Visual Studio
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. Obciążenia programu Visual Studio są instalowane za pomocą Instalator programu Visual Studio, które 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#? | Uwagi |
---|---|---|
Pliki zasobów | Tak | |
Ustawienia kompilacji, debugowania i odwołania | Tak | |
Wielowersyjność kodu | 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 Projektant projektu w języku C#.
Strona Projektant projektu | Pokrewne łącza | 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ę. |
Tworzenie | 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) | Nie dotyczy | Umożliwia definiowanie metadanych pakietu NuGet podczas publikowania jako pakietu NuGet. |
Ścieżki odwołania | Zarządzanie odwołaniami w projekcie | Umożliwia określenie miejsca wyszukiwania zestawów, od których zależy kod. |
Zasoby (tylko zestaw SDK platformy.NET) | Nie dotyczy | 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 Projektant projektu | Ustawienie | opis |
---|---|---|
Tworzenie | 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 . |
Tworzenie | 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 |
Znajdowanie i zastępowanie tekstu | 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 |
Obramowanie | 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 klawiszy 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ą klawisza Ctrl+T. | Tak |
Zmiana nazwy wstawionego elementu | 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 funkcji 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. |
Dokoń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 klawisza 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 składnikó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 zmiennych automatycznych | 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 zmiennych lokalnych | Pokazuje wartości i zmienne zdefiniowane lokalnie. | Tak |
Uruchom 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 kodów | 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 |
F# Interactive | 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. |
Przybornik | Wyświetla karty zawierające przeciągalne obiekty, takie jak kontrolki i sekcje tekstu lub kodu. | Tak |