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ího programu sady Visual Studio, který můžete otevřít výběrem nástrojů>Získat nástroje a funkce.

Úloha vývoje desktopových aplikací .NET v sadě 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:

Šablony projektů F# v sadě Visual Studio

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

Šablony položek jazyka F# v sadě 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#? Poznámky
Soubory prostředků Ano
Nastavení sestavení, ladění a odkazu Ano
Vícecílení Ano
Ikona a manifest Ne K dispozici prostřednictvím možností příkazového řádku kompilátoru.
klientské služby ASP.NET Ne
ClickOnce Ne Pokud je to možné, použijte klientský projekt v jiném jazyce .NET.
Silné názvy Ne K dispozici prostřednictvím možností příkazového řádku kompilátoru.
Publikování sestavení a správa verzí Ne
Analýza kódu Ne 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) Ne

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á.
Stavět 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.
Odstraňování chyb 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) není k dispozici 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) není k dispozici 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
Stavět 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 .
Stavět 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:

Vlastnost 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. Ne
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
Najít a nahradit text 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. Ne
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řejít 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
Přehledná osnova Umožňuje sbalit části kódu a vytvořit kompaktnější zobrazení. Ano
Tabify Převede mezery na tabulátory. Ano
Barevné zvýrazňování typů 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
Ctrl+Kliknutím přejdete 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
Vložené přejmenování 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#:

Vlastnost 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. Ne
Dokončení wordu 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ů. Ne
Seznam členů 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#. Ne
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#:

Vlastnost Popis Podporuje se v jazyce F#?
Okno Automatické položky Zobrazuje automatické nebo dočasné proměnné. Ne
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. Ne
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é odlaďování Umožňuje krokovat do dříve spuštěného kódu. Ano
Okno Místní hodnoty Zobrazuje místně definované hodnoty a proměnné. Ano
Spustit na kurzor Umožňuje spustit kód, dokud nedosáhne řádku obsahujícího kurzor. Ano
Vstupte do Umožňuje pokračovat v provádění a přejít do libovolného volání funkce. Ano
Přestoupit 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. Ne
Metriky kódu Shromažďuje informace o kódu, například počty řádků. Ne
zobrazení tříd Poskytuje zobrazení kódu v projektu na základě typu. Ne
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ýstupu Zobrazí výstup sestavení. Ano
Analýza výkonu Poskytuje nástroje pro měření výkonu kódu. Ano
Okno Vlastnosti 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. Ne
Projekty testů Poskytuje funkce, které vám pomůžou otestovat kód. Ne
Skříňka na nářadí Zobrazí karty, které obsahují přetahovatelné objekty, jako jsou ovládací prvky a oddíly textu nebo kódu. Ano

Viz také