Visual Studio: instalando o Report Designer na versão 2017

Diferente das versões anteriores, o Report Designer não vem embarcado no Microsoft Visual Studio 2017, para usar é preciso instalar uma extensão.

Abra o Visual Studio, clique no menu Tools e em seguida em Extension and Updates.

Em Extension and Updates, clique em Online, em Search digite rdlc, em Microsoft Rdlc Report Designer for Visual Studio clique em Download e aguarde a transferência.

Depois de transferido você será avisado que a instalação será completa somente após fechar e abrir novamente, portanto clique em Close e reinicie o programa.

Ao abrir novamente, a instalação da extensão será iniciada.

Clique em Modify e aguarde o término da instalação.

Se o instalador avisar que tem processos em execução que o impede de continuar, salve seus dados e clique em End Tasks.

Após liberar os recursos, a instalação prosseguirá normalmente.

Ao concluir, clique em Close.

Pronto, agora é só abrir o VS e editar visualmente os relatórios baseados em RDLC.

Até a próxima.

 

Visual Studio: o desafio de hoje é recolher e estrutura da solução sem usar o mouse

Um tarefa muito comum no dia a dia de um programador que usa o Microsoft Visual Studio é recolher todos as pastas da solução para facilitar a navegação pelos arquivos e projetos.

O simples fato de recolher uma estrutura como esta:

Para deixá-la assim:

Sempre foi é preciso largar um pouco o teclado e usar o mouse para clicar no botão Collapse All, pois não há um atalho nativo na IDE, mas seu problemas acabaram! pois é possível configurar um novo atalho, então vamos ao trabalho.

Clique no menu Tools, em seguida em Options.

Em Options, expanda Enviroment e clique em Keyboard, e use Show commands containing para encontrar o comando SolutionExplorer.CollapseAll.

Em Use new shortcut in, selecione Global e em Press shortcut keys pressione a tecla / (barra) e por fim clique em OK.

O atalho ainda tem um problema, pois ele só funciona quando o foco está na janela da solução, mas para contornar isso foi vai ter que decorar as combinação de teclas que trás esta janela para o primeiro plano. Então, tecle CTRL + ALT + L e logo após /, e pronto a solução está recolhida!

Até a próxima.

Visual Studio: abrir a pasta atual do arquivo na solution

Muitas vezes trabalhamos com soluções complexas, com várias dezenas ou centenas de arquivos, e quando precisamos encontrar fisicamente o arquivo no disco ou no projeto, temos que olhar o tooltip da guia e abrir pasta a pasta.

Felizmente, tem uma opção, que não vem marcada por default no Visual Studio que facilita esta navegação. Ao ativar esta opção, a solution já abre a pasta e coloca o foco no arquivo assim que se inicia a trabalhar nele.

Para configurar esta opção, clique no menu Tools, e em seguida em Options, abra o nó Environment e clique em Documents. Deixe marcada a opção Open file using directory of currently active document e clique em OK.

Outro atalho bastante útil é CTRL + , (Control e vírgula), no qual é possível procurar arquivos por nome e referências.

Anote estas duas dicas, pois vão facilitar muito a navegação pela solução no seu dia a dia.

Git Bash: abrir a solução com o Visual Studio

Muitas vezes temos a nossa barra de tarefas lotada de atalhos, quanto que com alguns comando, sem sair da janela do Git Bash, podemos atualizar e abrir o projeto direto no Visual Studio.

Estes passos não exigem a criação de nenhum script específico, apenas comandos do próprio Git e Prompt do Windows. O roteiro a seguir tem no máximo 7 passos, que podem ser reduzidos com scripts, mas aqui você começa em uma branch desatualizada e termina dentro do Visual Studio, já pronto para trabalhar, sem nenhum clique a mais. Então vamos lá:

Criar uma nova branch a partir da master e abrir no Visual Studio

  1. Abra o Git Bash,
  2. Digite o comando que abre a pasta da solução,
  3. Atualize a master,
  4. Crie uma nova branch a partir da master,
  5. Digite cmd,
  6. Digite o nome da solução com a extensão e aguarde o Visual Studio carregar,
  7. Digite exit para sair do prompt do Windows e voltar ao Git Bash.

Segue um exemplo de comandos seguindo estes passos:

Atualizar uma branch existente e abrir no Visual Studio

  1. Abra o Git Bash,
  2. Digite o comando que abre a pasta da solução,
  3. Atualize a branch,
  4. Digite cmd que vai entra no modo prompt do Windows,
  5. Digite o nome da solução com a extensão e aguarde o Visual Studio carregar,
  6. Digite exit para sair do prompt do Windows e voltar ao Git Bash.

Dica

  • É possível configurar o atalho do Git Bash para abrir já na pasta dos projetos mais usados.

 

Git: Convenção para estrutura de pastas

Desde que comecei trabalhar com repositórios de controle de versão do Git, tenho buscado melhores práticas, tanto para armazenar projetos como versioná-los de forma eficiente. Mas o meu espírito metódico começou perceber que as pessoas e empresas armazenavam coisas muito além dos código fonte de seus projetos, criando um verdadeiro ambiente com todas informações e ferramentas usadas centralizadas no mesmo repositório, tornando assim algo que pareça realmente um projeto completo.

Acredito que não há um convenção oficial explicando como a estrutura de pastas deveria ser organizada dentro de um repositório, mas encontrei alguns exemplos, nos quais os desenvolvedores justificam suas escolhas, e estas justificativas fazem muito sentido. Portanto, o melhor modelo, na minha opinião, que encontrei foi este:

A solução de organização apresentada, possui uma lógica bem coerente, mas que não está livre de sugestões e críticas:

src

Projetos principais, ou seja, o código fonte do produto. Mas é preciso deixar claro que, quando criamos uma nova solução no Visual Studio, o padrão criado não é este, então, é preciso alguns ajustes nos projetos existentes e a criar novo selecionar a pasta.

tests

Projetos de testes. Embora os projetos de testes possam estar incluídos na mesma solução, nesta convenção, eles são fisicamente alocados em um pasta própria. Mas cuidado para não confundir esta pasta física com as Solution folders, que são diretórios que apenas existem dentro da estrutura de projetos do Visual Studio.

tools

Ferramentas e utilitários em geral. Este diretório serve como apoio ao desenvolvimento do projeto, podendo centralizar softwares, addons, executáveis bibliotecas úteis no dia a dia.

docs

Documentação em geral como arquivos de notas, ajuda, relatórios, etc.

samples

Projetos de exemplo ou exemplos de uso. Esta é uma pasta opcional, mas pode ser útil para demonstrar algum recurso ou funcionalidade na prática.

lib

Coisas que nunca poderão estar em um pacote NuGet, por exemplo.

sql

Arquivos SQL para criação do banco de dados ou para suporte.

artifacts

Armezene aqui as saídas de compilações do produto, todavia, é preciso configurar a IDE para usar esta pasta em seus builds, como por exemplo arquivos nupkgs, dlls, pdbs, etc.

packages

Armazene aqui os pacotes NuGet compilados.

build

Builds dos projetos, assim como scripts de build customizados, como por exemplo, para o Msbuild. Pastas bin e obj. É quase igual ao artefacts, mas difere pela relação com o produto final, sendo que em artefacts serão armazenadas já versão estáveis dos builds e aqui é a pasta de cache para o desenvolvimento do dia a dia, podendo até estar no .gitignore.

build.cmd

Arquivos de comando que geram o build para windows

build.sh

Arquivos de comando que geram o build para unix, linux…

global.json

Arquivo de solução ASP.NET Core

LICENSE

Arquivo que contém a licença de uso do software e seu código fonte

README.md

Arquivo com informações relevantes do projeto em formato markdown, podendo  ser um tutorial ou resultados de testes

Outros arquivos

Os arquivos .editorconfig, .gitignore, .gitattributes são arquivos do Git e/ou para configurações pessoais de editores

NuGet.Config

Arquivo de configuração para pacotes NuGet

Referências:

https://gist.github.com/davidfowl/ed7564297c61fe9ab814
https://github.com/kriasoft/Folder-Structure-Conventions

Visual Studio: alterar o framework padrão para novos projetos

Introdução

Muitas vezes é preciso que todos os novos projetos já estejam em uma versão do .Net Framework específica, ou simplesmente, que já seja criado com o target na última versão disponível no Visual Studio.

Alterando a versão padrão

Abra o Visual Studio, clique em File, em seguida em New e por último em Project…

Anote a versão do .Net Framework que será a padrão para os novos projetos, como por exemplo “4.6.1”.

Pressione as teclas Win + R, em Abrir digite o comando regedit e clique em Ok.

A janela do Editor do Registro será exibida.

Localize a chave HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\NewProjectDialog, e edite a chave fxVersion para a versão do .Net Framework desejada.

Observação: onde está escrito 14.0, que equivale a versão do Visual Studio 2015, pode ser alterada para a versão do seu Visual Studio, como por exemplo, 13.0 para o 2013.

O Visual Studio 2017 não precisa desta configuração, pois ele lembra a última versão usada ao criar um projeto.

Pronto, agora todas os novos projetos serão automaticamente definido com a versão configurada por padrão.

NuGet: atualizar um pacote instalado no projeto

Introdução

Para atualizar um pacote NuGet que já está instalado em uma solução, é muito simples, porém, é preciso muita cautela e talvez alguma revisão de código. A seguir eu mostro uma atualização do pacote FluentValidator da versão 2.0.0 para a última versão.

Instale um pacote NuGet antigo

Primeiro, vamos instalar uma versão antiga do pacote FluentValidator, em uma nova solução com um projeto console.

Crie a solução com um projeto do tipo Console Application chamada NugetUpdatePackage.

Clique no menu Tools, em seguida em NuGet Package Manager e finalmente em Package Manager Console.

Em Package Manager Console, em Default project, selecione o projeto que será instalado o pacote.

Digite o comando a seguir, que irá instalar a versão 2.0.0 do FluentValidator, que não é a última:

Edite a classe Program.cs, conforme segue:

Execute o programa, e verifique o funcionamento.

Atualizando o pacote para a ultima versão

Abra a janela Package Manager Console, em Default project, selecione o projeto que será atualizado o pacote, e digite o comando a seguir, que irá atualizar para a ultima versão do FluentValidator:

Agora o nosso projeto está com a última versão, todavia, será preciso revisar o código, pois, há algumas alterações na forma de usar o pacote.

O método IsValid parece não estar funcionando, e para entender o problema, precisamos ler a documentação, ou procurar pelo recurso de Intellisense da própria IDE. E neste caso conseguimos deduzir pelo por ele mesmo.

Pronto, nosso código voltou a compilar.