Sdílet prostřednictvím


Vývoj v sadě Visual F# v sadě Visual Studio

Tento článek obsahuje informace o funkcích sady Visual Studio pro vývoj v jazyce F#.

Instalace podpory jazyka F#

Pokud chcete vyvíjet pomocí jazyka F# v sadě Visual Studio, nejprve nainstalujte úlohu vývoje desktopových aplikací .NET, pokud jste to ještě neudělali. Úlohy sady Visual Studio nainstalujete prostřednictvím Instalační program pro Visual Studio, které můžete otevřít výběrem nástrojů Získat nástroje>a funkce.

.NET desktop development workload in Visual Studio

Funkce projektu F#

Různé šablony projektů a položek jsou k dispozici pro jazyk F# v sadě Visual Studio. Následující obrázek ukazuje některé šablony projektů F# pro .NET Core a .NET Standard:

F# project templates in Visual Studio

Následující obrázek ukazuje některé šablony položek jazyka F#:

F# item templates in Visual Studio

Další informace o šablonách položek pro přístup k datům najdete v tématu Zprostředkovatelé typů jazyka F#.

Následující tabulka shrnuje funkce ve vlastnostech projektu pro jazyk F#:

Nastavení projektu Podporuje se v jazyce F#? Notes
Soubory prostředků Ano
Nastavení sestavení, ladění a odkazu Ano
Cílení na více verzí Ano
Ikona a manifest No K dispozici prostřednictvím možností příkazového řádku kompilátoru.
klientské služby ASP.NET No
ClickOnce No Pokud je to možné, použijte klientský projekt v jiném jazyce .NET.
Vytváření silných názvů No K dispozici prostřednictvím možností příkazového řádku kompilátoru.
Publikování sestavení a správa verzí No
Analýza kódu No Nástroje pro analýzu kódu je možné spouštět ručně nebo jako součást příkazu po sestavení.
Zabezpečení (změna úrovní důvěryhodnosti) No

návrhář projektu

Návrhář projektu se skládá z několika stránek vlastností projektu seskupených podle souvisejících funkcí. Stránky dostupné pro projekty F# jsou většinou podmnožinou těch, které jsou k dispozici pro jiné jazyky, a jsou popsány v následující tabulce. Odkazy jsou k dispozici na odpovídající stránce návrháře projektu jazyka C#.

Stránka Návrhář projektu Související odkazy Popis
Aplikace Stránka aplikace, návrhář projektu Umožňuje určit nastavení a vlastnosti na úrovni aplikace, jako je například to, jestli vytváříte knihovnu nebo spustitelný soubor, jakou verzi .NET aplikace cílí, a informace o tom, kde se ukládají soubory prostředků, které aplikace používá.
Sestavit Stránka Sestavení, Návrhář projektu Umožňuje řídit, jak se kód zkompiluje.
Události sestavení Stránka Události sestavení, Návrhář projektu Umožňuje zadat příkazy, které se mají spustit před kompilací nebo po kompilaci.
Ladění Stránka Ladění, Návrhář projektu Umožňuje řídit, jak se aplikace spouští během ladění. To zahrnuje příkazy, které se mají použít a co je spouštěcí adresář vaší aplikace, a všechny speciální režimy ladění, které chcete povolit, například nativní kód a SQL.
Balíček (pouze sada .NET SDK) Umožňuje definovat metadata balíčku NuGet při publikování jako balíček NuGet.
Referenční cesty Správa odkazů v projektu Umožňuje určit, kde se mají hledat sestavení, na kterých kód závisí.
Prostředky (pouze sada .NET SDK) Umožňuje vygenerovat a spravovat výchozí soubor prostředků.

Nastavení specifické pro jazyk F#

Následující tabulka shrnuje nastavení specifická pro jazyk F#:

Stránka Návrhář projektu Nastavení Popis
Sestavit Generování chvostových volání Pokud je tato možnost vybrána, povolí použití koncové instrukce jazyka MSIL (Microsoft Intermediate Language). To způsobí opětovné použití rámce zásobníku pro koncové rekurzivní funkce. Ekvivalent možnosti kompilátoru --tailcalls .
Sestavit Další příznaky Umožňuje zadat další možnosti příkazového řádku kompilátoru.

Funkce kódu a textového editoru

Jazyk F# podporuje následující funkce editoru Visual Studio Code a text:

Funkce Popis Podporuje se v jazyce F#?
Automaticky okomentovat Umožňuje okomentovat nebo odkomentovat oddíly kódu. Ano
Automatické formátování Přeformátuje kód se standardním odsazením a stylem. No
Záložky Umožňuje ukládat místa v editoru. Ano
Změna odsazení Odsadí nebo odsadí vybrané řádky. Ano
Inteligentní odsazení Automaticky odsadí a odsadí kurzor podle pravidel oborů jazyka F#. Ano
Vyhledání a nahrazení textu Umožňuje vyhledávat v souboru, projektu nebo řešení a potenciálně změnit text. Ano
Přechod na definici rozhraní .NET API Když je kurzor umístěn v rozhraní .NET API, zobrazí kód vygenerovaný z metadat .NET. No
Přejít k definici pro uživatelem definované rozhraní API Pokud je kurzor na entitě programu, kterou jste definovali, přesune kurzor do umístění v kódu, kde je entita definována. Ano
Přechod na řádek Umožňuje přejít na konkrétní řádek v souboru podle čísla řádku. Ano
Navigační panely v horní části souboru Umožňuje přejít na umístění v kódu, například podle názvu funkce. Ano
Pokyny pro strukturu bloků Zobrazuje pokyny označující obory jazyka F#, které je možné najet myší na náhled. Ano
Sbalení Umožňuje sbalit části kódu a vytvořit kompaktnější zobrazení. Ano
Tabify Převede mezery na tabulátory. Ano
Zabarvení typu Zobrazuje definované názvy typů ve speciální barvě. Ano
Rychlé hledání Podívejte se na rychlé hledání, hledání a nahrazení okna. Umožňuje vyhledávat v souboru nebo projektu. Ano
Stisknutím klávesy Ctrl+přejděte na definici. Umožňuje podržte klávesu Ctrl a kliknutím na symbol F# vyvoláte klávesu Přejít k definici. Ano
Přejít na definici z QuickInfo Kliknutelné symboly uvnitř popisů, které volají Přejít k definici. Ano
Přejít na vše Umožňuje globální přibližnou navigaci pro všechny konstruktory jazyka F# pomocí kláves Ctrl+T. Ano
Přejmenování na řádku Přejmenuje všechny výskyty vloženého symbolu. Ano
Najít všechny odkazy Vyhledá všechny výskyty symbolu v základu kódu. Ano
Oprava kódu pro zjednodušení názvu Odebere nepotřebné kvalifikátory pro symboly jazyka F#. Ano
Oprava kódu nepoužívaného open příkazu Odebere všechny nepotřebné open příkazy v dokumentu. Ano
Oprava kódu nepoužité hodnoty Navrhuje přejmenování nepoužívaného identifikátoru na podtržítko. Ano

Obecné informace o úpravách kódu v sadě Visual Studio a funkcích textového editoru najdete v tématu Psaní kódu v editoru.

Funkce IntelliSense

Následující tabulka shrnuje podporované funkce IntelliSense, které nejsou podporované v jazyce F#:

Funkce Popis Podporuje se v jazyce F#?
Automatická implementace rozhraní Generuje zástupné procedury kódu pro metody rozhraní. Ano
Fragmenty kódu Vloží kód z knihovny běžných kódovacích konstruktorů do témat. No
Dokončit slovo Ukládá psaní tak, že při psaní dokončíte slova a názvy. Ano
Automatické dokončování Pokud je tato možnost povolená, způsobí, že se při psaní vybere první shoda, místo abyste čekali, až vyberete jedno slovo, nebo stisknete klávesu Ctrl+Mezerník. Ano
Dokončení nabídky pro symboly v neotevřených oborech názvů Při automatickém dokončování se navrhuje odpovídající symbol, který se nachází v neotevřeném oboru názvů, a nabízí dokončení odpovídajícího open příkazu při výběru. Ano
Generování elementů kódu Umožňuje generovat kód zástupných procedur pro řadu konstruktorů. No
Vypsat členy Když zadáte přístupový operátor člena (.), zobrazí členy pro typ. Ano
Uspořádání použití/otevření Uspořádá obory názvů odkazované pomocí příkazů v jazyce C# nebo direktiv open v jazyce F#. No
Informace o parametrech Zobrazuje užitečné informace o parametrech při psaní volání funkce. Ano
Rychlé informace Zobrazí úplnou deklaraci libovolného identifikátoru v kódu. Ano
Automatické dokončování závorek Automaticky dokončí konstruktory syntaxe podobné f# transakčním způsobem. Ano

Obecné informace o technologii IntelliSense naleznete v tématu Použití technologie IntelliSense.

Funkce ladění

Následující tabulka shrnuje funkce, které jsou k dispozici při ladění kódu jazyka F#:

Funkce Popis Podporuje se v jazyce F#?
Automatické hodnoty – okno Zobrazuje automatické nebo dočasné proměnné. No
Zarážky Umožňuje pozastavit provádění kódu v konkrétních bodech během ladění. Ano
Podmíněné zarážky Povolí zarážky, které testují podmínku, která určuje, jestli se má provádění pozastavit. Ano
Upravit a pokračovat Umožňuje úpravu a kompilaci kódu při ladění spuštěného programu bez zastavení a restartování ladicího programu. No
Vyhodnocovače výrazů Vyhodnotí a spustí kód za běhu. Ne, ale vyhodnocovač výrazů jazyka C# je možné použít, i když je nutné použít syntaxi jazyka C#.
Historické ladění Umožňuje krokovat do dříve spuštěného kódu. Ano
Místní hodnoty – okno Zobrazuje místně definované hodnoty a proměnné. Ano
Spustit ke kurzoru Umožňuje spustit kód, dokud nedosáhne řádku obsahujícího kurzor. Ano
Krok do Umožňuje pokračovat v provádění a přejít do libovolného volání funkce. Ano
Krok za krokem Umožňuje pokračovat v provádění v aktuálním rámečku zásobníku a přesunout přes jakékoli volání funkce. Ano

Obecné informace o ladicím programu sady Visual Studio naleznete v tématu Ladění v sadě Visual Studio.

Další nástroje

Následující tabulka shrnuje podporu jazyka F# v nástrojích sady Visual Studio.

Nástroj Popis Podporuje se v jazyce F#?
Hierarchie volání Zobrazí vnořenou strukturu volání funkcí v kódu. No
Metriky kódu Shromažďuje informace o kódu, například počty řádků. No
zobrazení tříd Poskytuje zobrazení kódu v projektu na základě typu. No
Okno Seznam chyb Zobrazuje seznam chyb v kódu. Ano
F# Interactive Umožňuje psát (nebo kopírovat a vkládat) kód F# a okamžitě ho spouštět nezávisle na sestavení projektu. Interaktivní okno F# je rePL (Read, Evaluate, Print Loop). Ano
prohlížeč objektů Umožňuje zobrazit typy v sestavení. Typy F# zobrazené v kompilovaných sestaveních se nezobrazují přesně tak, jak je vytvoříte. Zkompilovanou reprezentaci typů jazyka F# můžete procházet, ale nemůžete zobrazit typy tak, jak se zobrazují v jazyce F#.
Okno Výstup Zobrazí výstup sestavení. Ano
Analýza výkonu Poskytuje nástroje pro měření výkonu kódu. Ano
Vlastnosti – okno Zobrazí a povolí úpravy vlastností objektu ve vývojovém prostředí, které má fokus. Ano
Průzkumník serveru Poskytuje způsoby interakce s různými serverovými prostředky. Ano
Průzkumník řešení Umožňuje zobrazit a spravovat projekty a soubory. Ano
Seznam úkolů Umožňuje spravovat pracovní položky související s vaším kódem. No
Projekty testů Poskytuje funkce, které vám pomůžou otestovat kód. No
Sada nástrojů Zobrazí karty, které obsahují přetahovatelné objekty, jako jsou ovládací prvky a oddíly textu nebo kódu. Ano

Viz také