Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo inclui informações sobre os recursos do Visual Studio para desenvolvimento em F#.
Instalar o suporte do F#
Para desenvolver com o F# no Visual Studio, primeiro instale a carga de trabalho de desenvolvimento da área de trabalho do .NET , caso ainda não tenha feito isso. Instale cargas de trabalho do Visual Studio por meio do Instalador do Visual Studio, que você pode abrir selecionando Ferramentas>Obter Ferramentas e Recursos.
Recursos do projeto F#
Vários modelos de projeto e item estão disponíveis para F# no Visual Studio. A imagem a seguir mostra alguns dos modelos de projeto F# para .NET Core e .NET Standard:
A imagem a seguir mostra alguns dos modelos de item F#:
Para obter mais informações sobre os modelos de item para acesso a dados, consulte provedores de tipo F#.
A tabela a seguir resume os recursos nas propriedades do projeto para F#:
| Configuração do projeto | Com suporte em F#? | Anotações |
|---|---|---|
| Arquivos de recurso | Sim | |
| Configurações de build, depuração e referência | Sim | |
| Multiplataforma | Sim | |
| Ícone e manifesto | Não | Disponível por meio de opções de linha de comando do compilador. |
| serviços cliente do ASP.NET | Não | |
| ClickOnce | Não | Use um projeto cliente em outro idioma .NET, se aplicável. |
| Nomenclatura forte | Não | Disponível por meio de opções de linha de comando do compilador. |
| Publicação e controle de versão do assembly | Não | |
| Análise de código | Não | As ferramentas de análise de código podem ser executadas manualmente ou como parte de um comando pós-build. |
| Segurança (alterar níveis de confiança) | Não |
Designer de Projeto
O Designer de Projeto consiste em várias páginas de propriedades de projeto agrupadas por funcionalidade relacionada. As páginas disponíveis para projetos F# são principalmente um subconjunto daqueles disponíveis para outros idiomas e são descritas na tabela a seguir. Os links são fornecidos para a página do Designer de Projeto em C# correspondente.
| Página Designer de Projeto | Links relacionados | Descrição |
|---|---|---|
| Aplicação | Página aplicativo, Designer de Projeto | Permite que você especifique as configurações e as propriedades no nível do aplicativo, como se você está criando uma biblioteca ou um arquivo executável, qual versão do .NET o aplicativo destina e informações sobre onde os arquivos de recurso que o aplicativo usa são armazenados. |
| Construir | Página Compilar, Designer de Projeto | Permite controlar como o código é compilado. |
| Eventos de compilação | Página Eventos de Build, Designer de Projeto | Permite que você especifique comandos a serem executados antes ou depois de uma compilação. |
| Depurar | Página de depuração , do Designer de Projeto | Permite controlar como o aplicativo é executado durante a depuração. Isso inclui quais comandos usar e qual é o diretório inicial do aplicativo e todos os modos especiais de depuração que você deseja habilitar, como código nativo e SQL. |
| Pacote (somente SDK do .NET) | Não aplicável | Permite definir metadados do Pacote NuGet ao publicar como um pacote NuGet. |
| Caminhos de referência | Gerenciar referências em um projeto | Permite que você especifique de onde pesquisar assemblies dos quais o código depende. |
| Recursos (somente SDK do .NET) | Não aplicável | Permite que você gere e gerencie um arquivo de recursos padrão. |
Configurações específicas de F#
A tabela a seguir resume as configurações específicas de F#:
| Página Designer de Projeto | Configurações | Descrição |
|---|---|---|
| Construir | Gerar chamadas de cauda | Se selecionado, habilita o uso da instrução MSIL (Microsoft Intermediate Language) final. Isso faz com que o quadro de pilha seja reutilizado para funções recursivas de cauda. Equivalente à opção do --tailcalls compilador. |
| Construir | Outros sinalizadores | Permite que você especifique opções de linha de comando do compilador adicionais. |
Recursos do editor de código e texto
Os seguintes recursos dos editores de código e texto do Visual Studio têm suporte em F#:
| Característica | Descrição | Com suporte em F#? |
|---|---|---|
| Comentar automaticamente | Permite que você comente ou descompacte seções de código. | Sim |
| Formatar automaticamente | Reformats code with standard indentation and style. | Não |
| Favoritos | Permite que você salve lugares no editor. | Sim |
| Alterar recuo | Recuos ou linhas selecionadas de não-recuos. | Sim |
| Recuo inteligente | Recuará e desabilitará automaticamente o cursor de acordo com as regras de escopo F#. | Sim |
| Localizar e substituir texto | Permite que você pesquise em um arquivo, projeto ou solução e potencialmente altere o texto. | Sim |
| Ir para a definição para a API do .NET | Quando o cursor é posicionado em uma API .NET, mostra o código gerado a partir de metadados do .NET. | Não |
| Ir para a definição de API definida pelo usuário | Quando o cursor está em uma entidade de programa que você definiu, move o cursor para o local em seu código em que a entidade é definida. | Sim |
| Ir para a linha | Permite que você acesse uma linha específica em um arquivo, por número de linha. | Sim |
| Barras de navegação na parte superior do arquivo | Permite que você vá para locais no código, por exemplo, o nome da função. | Sim |
| Diretrizes de estrutura de blocos | Mostra diretrizes que indicam escopos F#, que podem ser focalizados para uma visualização. | Sim |
| Estrutura de tópicos | Permite recolher seções do código para criar uma exibição mais compacta. | Sim |
| Tabify | Converte espaços em guias. | Sim |
| Colorização de tipo | Mostra nomes de tipo definidos em uma cor especial. | Sim |
| Localização Rápida. Veja a janela Localizar, Localizar e Substituir Rapidamente. | Permite que você pesquise em um arquivo ou projeto. | Sim |
| Ctrl+clique em Ir para Definição | Permite que você segure Ctrl e clique em um símbolo F# para invocar Ir para Definição. | Sim |
| Ir para Definição do QuickInfo | Símbolos clicáveis dentro de dicas de ferramenta que invocam Ir para Definição. | Sim |
| Ir para Todos | Habilita a navegação global de correspondência difusa para todos os constructos F# por meio do Ctrl+T. | Sim |
| Renomear embutido | Renomeia todas as ocorrências de um símbolo embutido. | Sim |
| Localizar todas as referências | Localiza todas as ocorrências de um símbolo em uma base de código. | Sim |
| Simplificar correção de código de nome | Remove qualificadores desnecessários para símbolos F#. | Sim |
Remover correção de código de instrução não utilizado open |
Remove todas as instruções desnecessárias open em um documento. |
Sim |
| Correção de código de valor não utilizado | Sugere renomear um identificador não utilizado para sublinhar. | Sim |
Para obter informações gerais sobre como editar código no Visual Studio e recursos do editor de texto, consulte Escrever código no editor.
Recursos do IntelliSense
A tabela a seguir resume os recursos do IntelliSense com suporte e sem suporte em F#:
| Característica | Descrição | Com suporte em F#? |
|---|---|---|
| Implementar interfaces automaticamente | Gera stubs de código para métodos de interface. | Sim |
| Trechos de código | Injeta código de uma biblioteca de construções de codificação comuns em tópicos. | Não |
| Concluir o Word | Salva a digitação concluindo palavras e nomes conforme você digita. | Sim |
| Conclusão automática | Quando habilitado, faz com que a conclusão da palavra selecione a primeira correspondência conforme você digita, em vez de esperar que você selecione uma ou pressione Ctrl+Space. | Sim |
| Conclusão da oferta para símbolos em namespaces não abertos | Com a conclusão automática, um símbolo correspondente que reside em um namespace não aberto é sugerido, oferecendo a conclusão com a instrução correspondente open quando selecionada. |
Sim |
| Gerar elementos de código | Permite que você gere código stub para uma variedade de constructos. | Não |
| Listar Membros | Quando você digita o operador de acesso de membro (.), mostra membros para um tipo. | Sim |
| Organizar Usos/Abrir | Organiza namespaces referenciados usando instruções em C# ou diretivas abertas em F#. | Não |
| Informações do parâmetro | Mostra informações úteis sobre parâmetros à medida que você digita uma chamada de função. | Sim |
| Informações Rápidas | Exibe a declaração completa para qualquer identificador em seu código. | Sim |
| Conclusão automática da chave | Conclui automaticamente construções de sintaxe semelhantes a chaves F# de maneira transacional. | Sim |
Para obter informações gerais sobre o IntelliSense, consulte Usar o IntelliSense.
Recursos de depuração
A tabela a seguir resume os recursos disponíveis ao depurar código F#:
| Característica | Descrição | Com suporte em F#? |
|---|---|---|
| Janela de autos | Mostra variáveis automáticas ou temporárias. | Não |
| Pontos de interrupção | Permite pausar a execução de código em pontos específicos durante a depuração. | Sim |
| Pontos de interrupção condicionais | Habilita pontos de interrupção que testam uma condição que determina se a execução deve pausar. | Sim |
| Editar e continuar | Permite que o código seja modificado e compilado à medida que você depura um programa em execução sem parar e reiniciar o depurador. | Não |
| Avaliador de expressão | Avalia e executa o código em tempo de execução. | Não, mas o avaliador de expressão C# pode ser usado, embora você precise usar a sintaxe C#. |
| Depuração de histórico | Permite que você entre no código executado anteriormente. | Sim |
| Janela de Locais | Mostra valores e variáveis definidos localmente. | Sim |
| Executar para o cursor | Permite que você execute o código até que a linha que contém o cursor seja atingida. | Sim |
| Depuração Completa | Permite que você avance a execução e vá para qualquer chamada de função. | Sim |
| Passo a passo | Permite que você avance a execução no quadro de pilha atual e passe por qualquer chamada de função. | Sim |
Para obter informações gerais sobre o depurador do Visual Studio, consulte Depuração no Visual Studio.
Ferramentas adicionais
A tabela a seguir resume o suporte para F# nas ferramentas do Visual Studio.
| Ferramenta | Descrição | Com suporte em F#? |
|---|---|---|
| Hierarquia de Chamadas | Exibe a estrutura aninhada de chamadas de função em seu código. | Não |
| Métricas de código | Coleta informações sobre seu código, como contagens de linhas. | Não |
| Exibição de Classe | Fornece uma exibição baseada em tipo do código em um projeto. | Não |
| Janela de Lista de Erros | Mostra uma lista de erros no código. | Sim |
| F# Interativo | Permite digitar (ou copiar e colar) código F# e executá-lo imediatamente, independentemente da criação do seu projeto. A janela F# Interativa é um REPL (Leitura, Avaliação, Loop de Impressão). | Sim |
| Pesquisador de Objetos | Permite exibir os tipos em um assembly. | Os tipos F# exibidos em assemblies compilados não aparecem exatamente como você os cria. Você pode navegar pela representação compilada de tipos F#, mas não pode exibir os tipos como eles aparecem em F#. |
| Janela de saída | Exibe a saída do build. | Sim |
| Análise de desempenho | Fornece ferramentas para medir o desempenho do código. | Sim |
| Janela Propriedades | Exibe e habilita a edição de propriedades do objeto no ambiente de desenvolvimento que tem foco. | Sim |
| Gerenciador de Servidores | Fornece maneiras de interagir com uma variedade de recursos de servidor. | Sim |
| Gerenciador de Soluções | Permite que você exiba e gerencie projetos e arquivos. | Sim |
| Lista de tarefas | Permite que você gerencie itens de trabalho pertencentes ao seu código. | Não |
| Testar projetos | Fornece recursos que ajudam você a testar seu código. | Não |
| Caixa de Ferramentas | Exibe guias que contêm objetos arrastáveis, como controles e seções de texto ou código. | Sim |