Factory

A extensão Factory configura o Visual Studio especificamente para construir soluções Elevation, para além de instalar os templates de projetos.

Essas configurações incluem:

  • Menus específicos (o menu ELEVATION).
  • Toolbars (a toolbar ELEVATION).
  • Tool windows.

O menu ELEVATION disponibiliza várias ferramentas para fins muito diversos.

Este menu está disponível no menu principal do Visual Studio:

Menu ELEVATION

E no menu de contexto do solution explorer:

Menu ELEVATION

Os comandos disponíveis são seguintes. Cada comando ficará disponível ou não consoante esteja uma solução aberta e dependendo do tipo de solução aberta (se é o não a solução de um produto ou módulo Elevation).

Toolbar ELEVATION

Esta toolbar fornece um acesso rápido às opções mais comuns do menu ELEVATION.

Toolbar ELEVATION

Modeling Recipes Explorer

Esta tool window permite executar receitas sobre os modelos de um módulo ou de um produto. Essas receitas aceleram a criação de elementos nesses modelos.

Modeling Recipes Explorer

CodeGen Explorer

Esta tool window permite explorer e gerir todos os text templates existentes na solução atual.

CodeGen Explorer

NuGet Packages Explorer

Esta tool window permite explorer todos os packages instalados nos projetos da solução atual.

NuGet Packages Explorer

Output Window

A Factory configura também um painél na janela de output do Visual Studio onde são registados enumeros eventos relacionados com a Plataforma Elevation e a Modeling Framework (em particular).

Output Window

Comandos ELEVATION

Models

Models | Validate All...

Este comando permite validar todos os modelos da solução numa única operação.

Models | Entities Model...

Este comando abre o modelo de entidades da solução atual.

Models | Services Model...

Este comando abre o modelo de serviços da solução atual.

Models | Presentation Model...

Este comando abre o modelo de apresentação da solução atual.

Models | Menu Model...

Este comando abre o modelo de menu da solução atual.

Models | Product Model...

Este comando abre o modelo de produto da solução atual.

Models | Edit Product Metadata...

Este comando permite editar os metadados do produto a que corresponde a solução atual (o ficheiro Product.metadata.json).

Models | Edit Module Metadata...

Este comando permite editar os metadados do módulo a que corresponde a solução atual (o ficheiro Module.metadata.json).

Models | Reset Designers Cache

Este command reinicia a cache interna dos designers. Esta cache é usada para acelarar as validações dos modelos e contém cópioas em memória dos modelos serializados.

Models | Open Temp Directory

Este comando abre no Windows explorer a diretoria temporária utilizada pela Plataforma Elevation.

Solution

Solution | Compare Solution...

Este comando executa um wizard que permite comparar a estrutura da solução atual com o template de projeto corresponde e realizar correções automáticas.

Compare Solution

Solution | Verify Host Bin Directory...

Este comando permite executar o utilitário Types Loader Verifyer sobre a diretoria do projeto Host da solução atual.

Solution | Expand All

Este comando permite expandir todos os elementos de todos os projetos (ou do projeto selecionado) no solution exlorer.

Solution | Collapse All

Este comando permite colpsar todos os elementos de todos os projetos (ou do projeto selecionado) no solution exlorer.

Solution | Clean...

Este comando limpa todas as pastas de outup da solução atual. Isto inclui as diretorias bin mas também as diretorias obj.

Solution | Check Code Analysis Settings...

Este comando permite verificar as configurações de code analysis dos projetos da solução atual e efetuar correções automáticas.

Solution | Check Build Configurations...

Este comando permite verificar as configurações de build da solução atual.

Solution | Check Build Imports...

Este comando permite verificar os imports (para a build) dos projetos da solução atual.

Solution | Check Text Templates Build Action...

Este comando permite corrigir a build action (para None) dos items dos projetos que correspondem a text templates.

Solution | Check Content Files Build Action...

Este comando permite corrigir a build action dos items dos projetos que correspondem a ficheiros de contéudo (scripts, etc.).

Solution | Check Project Items Orphaned in Version Control...

Este comando pesquisa ficheiros que estejam no source control nas pastas da solução atual e não estejam incluídos nos projetos da solução.

Solution | Check Embed Interop Types Property...

Este commando verifica as referências dos projetos para detetar os casos em que a propriedade Embed Interop Types esteja ativa.

Tools

Os commandos deste menu permitem executar os vários utilitários do SDK.

NuGet

NuGet | NuGet Packages Explorer

Este comando permite executar o explorador de packages NuGet configurados na solução atual.

NuGet | Replace Assemblies in Local Repository...

Este comando permite substituir os binários dos packages produzidos pela solução atual num repositório local de packages, utilizado por outras soluções.

Replace Packages

Esta ferramenta é muito útil para fazer debug de assemblies geradas por uma solução noutras soluções de forma rápida.

NuGet | Replace Serialized Models in Local Repository...

Este comando é equivalente ao anterior mas atua somente sobre os ficheiros de serialização dos modelos do módulo atual. Os ficheiros [Module].EntitiesModel.json, [Module].ServicesModel.json e [Module].PresentationModel.json.

Atualizando o contéudo dos packages NuGet com esses ficheiros de serialização gerados na máquina local, torna-se possível depois usar esse repositório para atualizar os mesmos ficheiros noutros módulos (usando o commando seguinte).

NuGet | Update Serialized Models from Local Repository...

Este comando permite atualizar os ficheiros de serialização dos modelos de um ou mais módulos externos referenciados pelo módulo atual a partir de um repositório local de packages NuGet.

Este comando deve ser usado em conjunto com o anterior para atualizar rapidamente as referências entre módulos nos modelos sem necessidade de builds ou de atualização dos packages.

É de notaar que os ficheiros de serialização dos módulos externos são distribuidos pelos packages NuGet como ficheiros do tipo "content", o que significa que não são atualizados pelo comando updata-package.

NuGet | Fix packages.config Files (from csproj)

Um package NuGet é "registado" para um determinado projeto em dois ficheiros: o ficheiro packages.config e o ficheiro csproj do projeto).

Por vezes acontece desses dois ficheiros ficaram inconsistentes, causando problemas na compilação do projeto.

Este comando permite atualizar a versão de todos os packages PRIMAVERA no ficheiro packages.config a partir dos valores existentes no ficheiro csproj.

NuGet | Fix csproj Files (from packages.config)

Este comando realiza a operação contrária ao comando anterior.

NuGet | Update Packages to Latest Version...

Este comando permite atualizar os packages PRIMAVERA para a última versão disponível no repositório selecionado.

Update Packages

NuGet | Remove Package...

Este comando permite remove um package de todos os projetos da solução atual.

NuGet | Install Primavera.Build.Common Package

Este comando permite instalar o package Primavera.Build.Common nos projetos da solução atual.

NuGet | Install Primavera.VisualStudio.Analyzers Package

As configurações de code analysis da solução são controladas pelo packages Primavera.VisualStudio.Analyzers e Primavera.Build.Common.

Este comando permite instalar o package Primavera.VisualStudio.Analyzers nos projetos da solução atual.

NuGet | View NuGet Caches...

O NuGet mantém caches na máquina dos packages restaurados a partir do servidor. Essas diretorias tendem a crescer imenso. Este comando permite visualizar a localização dessas diretorias e o seu conteúdo.

NuGet Caches

Tracing

Tracing | Turn On|Off Output to System.Diagnostics.Trace

Este comando ativa ou desativa o output do componente de tracing da CoreLib para System.Diagnostics.Trace.

Tracing | Turn On|Off Output to Tracing Viewer

Este comando ativa ou desativa o output do componente de tracing da CoreLib para o utilitário Tracing Viewer.

Favorite Solutions

A factory disponibiliza este conceito de soluções favoritas que permite manter uma lista de soluções mais utilizadas para as poder abrir mais rapidamente.

Favorite Solutions

Favorite Solutions | Add Current Solution

Este comando adiciona a solução atual à lista de soluções favoritas.

Favorite Solutions | Remove...

Este comando permite remover uma ou mais soluções da lista de soluções favoritas.

Toolbars

Toolbars | ELEVATION

Este comando permite mostrar a toolbar ELEVATION.

Windows

Windows | Entities Designer Explorer

Este comando permite abrir o explorer do modelo de entidades.

Windows | Services Designer Explorer

Este comando permite abrir o explorer do modelo de serviços.

Windows | Presentation Designer Explorer

Este comando permite abrir o explorer do modelo de apresentaçã.

Windows | Menu Designer Explorer

Este comando permite abrir o explorer do modelo de menus.

Windows | Product Designer Explorer

Este comando permite abrir o explorer do modelo de produto.

Windows | Modeling Recipes Explorer

Este comando permite abrir a tool window Modeling Recipes Explorer.

Windows | CodeGen Explorer

Este comando permite abrir a tool window CodeGen Explorer.

Windows | NuGet Packages Explorer

Este comando permite abrir a tool window NuGet Packages Explorer.

Windows | Output Window

Este comando permite abrir a output tool window do Visual Studio.

Documentation

Este comando abre a documentação da Plataforma numa nova janela do browser por defeito.

Transform

Transform | Transform Solution

Este comando executa a transformação dos text templates de todos os projetos da solução.

Transform | Transform Folder

Este comando executa a transformação dos text templates de todos os projetos sob o solution folder selecionado no solution explorer.

Transform | Transform Project

Este comando executa a transformação dos text templates do projeto selecionado no solution explorer.