Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo inclui informações sobre recursos do Visual Studio para desenvolvimento em F#.
Instalar suporte a F#
Para desenvolver com F# no Visual Studio, primeiro instale a carga de trabalho de desenvolvimento da área de trabalho .NET , se ainda não o tiver feito. Você instala cargas de trabalho do Visual Studio por meio do Visual Studio Installer, 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 | Suportado em F#? | Observações |
|---|---|---|
| Ficheiros de recursos | Sim | |
| Configurações de compilação, depuração e referência | Sim | |
| Multisegmentação | Sim | |
| Ícone e manifesto | Não | Disponível através das opções de linha de comando do compilador. |
| ASP.NET Serviços ao Cliente | Não | |
| ClickOnce | Não | Use um projeto cliente em outra linguagem .NET, se aplicável. |
| Nomenclatura forte | Não | Disponível através das opções de linha de comando do compilador. |
| Publicação e controle de versão em 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-compilação. |
| Segurança (alterar níveis de confiança) | Não |
Projetista
O Project Designer consiste em várias páginas de propriedades do projeto agrupadas por funcionalidade relacionada. As páginas disponíveis para projetos F# são principalmente um subconjunto daquelas disponíveis para outros idiomas e são descritas na tabela a seguir. Os links são fornecidos para a página correspondente do Designer de Projeto em C#.
| Página do Project Designer | Ligações relacionadas | Descrição |
|---|---|---|
| Aplicação | Página de Aplicação, Project Designer | Permite especificar configurações e 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 de Construção, Project Designer | Permite controlar como o código é compilado. |
| Criar eventos | Página Criar Eventos, Project Designer | Permite especificar comandos a serem executados antes ou depois de uma compilação. |
| Depurar | Página de Depuração, Project Designer | Permite controlar como o aplicativo é executado durante a depuração. Isso inclui quais comandos usar e qual é o diretório inicial do seu aplicativo, além de quaisquer modos de depuração especiais que você deseja habilitar, como código nativo e SQL. |
| Pacote (somente SDK do .NET) | N/A | Permite definir metadados do Pacote NuGet ao publicar como um pacote NuGet. |
| Caminhos de referência | Gerenciar referências em um projeto | Permite especificar onde procurar assemblies dos quais o código depende. |
| Recursos (somente SDK do .NET) | N/A | Permite gerar e gerenciar um arquivo de recursos padrão. |
Configurações específicas do F#
A tabela a seguir resume as configurações específicas do F#:
| Página do Project Designer | Configurações | Descrição |
|---|---|---|
| Construir | Gerar chamadas de cauda | Se selecionado, habilita o uso da instrução tail Microsoft Intermediate Language (MSIL). Isso faz com que o quadro de pilha seja reutilizado para funções recursivas de cauda. Equivalente à opção do --tailcalls compilador. |
| Construir | Outras bandeiras | Permite especificar opções adicionais de linha de comando do compilador. |
Recursos do editor de código e texto
Os seguintes recursos dos editores de código e texto do Visual Studio são suportados em F#:
| Característica | Descrição | Suportado em F#? |
|---|---|---|
| Comentar automaticamente | Permite que você comente ou descomente seções de código. | Sim |
| Formatar automaticamente | Reformata o código com recuo e estilo padrão. | Não |
| Favoritos | Permite que você salve lugares no editor. | Sim |
| Alterar recuo | Recua ou anula recuos de linhas selecionadas. | Sim |
| Recuo inteligente | Recua e recua automaticamente o cursor de acordo com as regras de escopo do F#. | Sim |
| Localizar e substituir texto | Permite pesquisar em um arquivo, projeto ou solução e, potencialmente, alterar texto. | Sim |
| Ir para a definição para a API .NET | Quando o cursor é posicionado em uma API .NET, mostra o código gerado a partir de metadados .NET. | Não |
| Ir para a definição da API definida pelo usuário | Quando o cursor estiver em uma entidade de programa que você definiu, move o cursor para o local no código onde a entidade está definida. | Sim |
| Ir para a linha | Permite que você vá para uma linha específica em um arquivo, por número de linha. | Sim |
| Barras de navegação na parte superior do ficheiro | Permite que você vá para locais no código, por exemplo, nome da função. | Sim |
| Diretrizes de estrutura de blocos | Mostra diretrizes que indicam escopos F#, que podem ser pairados para uma visualização. | Sim |
| Esboçando | Permite recolher seções do seu código para criar uma exibição mais compacta. | Sim |
| Tabify | Converte espaços em guias. | Sim |
| Coloração de tipo | Mostra nomes de tipo definidos em uma cor especial. | Sim |
| Localização rápida. Consulte Janela de localização rápida, localização e substituição. | Permite pesquisar em um arquivo ou projeto. | Sim |
| + Ctrlclique para Ir para Definição | Permite que você mantenha pressionada a tecla Ctrl e clique em um símbolo F# para invocar Ir para Definição. | Sim |
| Ir para Definição a partir de QuickInfo | Símbolos clicáveis dentro de dicas de ferramentas que invocam Ir para Definição. | Sim |
| Ir para Todos | Permite a navegação global de correspondência difusa para todas as construções de F# via Ctrl+T. | Sim |
| Renomeação em linha | Renomeia todas as ocorrências de um símbolo embutido. | Sim |
| Encontrar todas as referências | Localiza todas as ocorrências de um símbolo em uma base de código. | Sim |
| Simplifique a correção do código de nome | Remove qualificadores desnecessários para símbolos F#. | Sim |
Remover correção de código de instrução não utilizada 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 suportados e não suportados em F#:
| Característica | Descrição | Suportado 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 |
| Palavra Completa | Salva a digitação completando palavras e nomes à medida que você digita. | Sim |
| Conclusão automática | Quando habilitado, faz com que o preenchimento de palavras selecione a primeira correspondência enquanto você digita, em vez de esperar que você selecione uma ou pressione Ctrl+Space. | Sim |
| Conclusão de oferta para símbolos em namespaces não abertos | Com o preenchimento automático, um símbolo correspondente que reside em um namespace não aberto é sugerido, oferecendo-se para completar com a instrução correspondente open quando selecionado. |
Sim |
| Gerar elementos de código | Permite gerar código de stub para uma variedade de construções. | Não |
| Lista de 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 open 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 |
| Preenchimento automático da cinta | Conclui automaticamente construções de sintaxe tipo chave 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 que estão disponíveis quando você depura o código F#:
| Característica | Descrição | Suportado em F#? |
|---|---|---|
| Janela 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 | Permite pontos de interrupção que testam uma condição que determina se a execução deve ser pausada. | 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ões | Avalia e executa código em tempo de execução. | Não, mas o avaliador de expressão C# pode ser usado, embora você deva usar a sintaxe C#. |
| Depuração histórica | Permite que você entre em código executado anteriormente. | Sim |
| Janela de Variáveis Locais | Mostra valores e variáveis definidos localmente. | Sim |
| Executar para o cursor | Permite executar código até que a linha que contém o cursor seja atingida. | Sim |
| Entre em | Permite que você avance na execução e passe para qualquer chamada de função. | Sim |
| Passo por cima | 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 Depurando no Visual Studio.
Ferramentas adicionais
A tabela a seguir resume o suporte para F# nas ferramentas do Visual Studio.
| Ferramenta | Descrição | Suportado 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 | Reúne informações sobre seu código, como contagens de linhas. | Não |
| Visualizaçã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 construção do seu projeto. A janela F# Interactive é um Read, Evaluate, Print Loop (REPL). | Sim |
| Pesquisador de objetos | Permite visualizar os tipos em um assembly. | Os tipos F# como aparecem 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 de compilação. | Sim |
| Análise de desempenho | Fornece ferramentas para medir o desempenho do seu código. | Sim |
| Janela Propriedades | Exibe e habilita a edição de propriedades do objeto no ambiente de desenvolvimento que tem foco. | Sim |
| Explorador de Servidores | Fornece maneiras de interagir com uma variedade de recursos do servidor. | Sim |
| Explorador de Soluções | Permite visualizar e gerenciar projetos e arquivos. | Sim |
| Lista de tarefas | Permite que você gerencie itens de trabalho pertencentes ao seu código. | Não |
| Projetos de teste | 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 |