Coder Social home page Coder Social logo

alencargabriel / advpl-switch-project Goto Github PK

View Code? Open in Web Editor NEW
9.0 4.0 0.0 6.45 MB

Suporte a gerenciamento de Projetos AdvPL para VsCode

Home Page: https://marketplace.visualstudio.com/items?itemName=AlencarGabriel.advpl-switch-project

TypeScript 100.00%
vscode-extension vscode advpl project-management project-manager workspace projeto project totvs totvs-protheus

advpl-switch-project's Introduction

Version Installs Downloads Rating

AdvPL Project Manager

Esta é a extensão que vai facilitar seus Debugs de projetos AdvPL com arquivos repetidos, e ainda a organizar melhor os projetos x ambientes.

Estou muito feliz pelo seu Download e espero que goste!

Necessidade

Assim como acontecia com o tão querido (e descontinuado) TDS Eclipse, quando há arquivos com o mesmo nome no Workspace, o Debug se "perde" ao mostrá-lo para depurar.

Porém no VSCode não há a opção: Fechar Projeto. Esta extensão irá te ajudar a resolver este impasse em alguns minutos, basta fazer algumas configurações e pronto ;)

Features

Esta extensão possui as seguintes funcionalidades implementadas:

  • [New] Habilitar/desabilitar todos os ambientes pela View de Gerenciamento de Ambientes;
  • [New] Mostrar o caminho do projeto na lista de seleção de Projetos;
  • [New] Associar um ambiente da lista ao Projeto Ativo;
  • [New] Definir ambiente Default para o Projeto;
    • Agora será considerado nas alternâncias de ambiente/projeto o ambiente default, não o primeiro da lista;
  • Habilitar/Desabilitar todos os Projetos;
  • Alterar ambiente ativo ao trocar de Projeto;
  • Mostrar todos os ambientes caso o Projeto não tenha ambientes relacionados;
  • Relacionar ambientes do AdvPL com o Projeto aberto;
  • Habilitar/Desabilitar todos os ambientes AdvPL;
  • Trocar projeto ativo no Workspace;
  • Remover últimos projetos.

Próximas implementações:

Looking For...

  • [pt-br] Alguem que possa me ajudar com a tradução dessa extensão para Inglês, Espanhol ou Russo. Caso tenha interesse entre em contato comigo
  • [en-us] Someone who can help me with the translation of this extension to English, Spanish or Russian. If you are interested in contact me
  • [es es] Alguien que pueda ayudarme con la traducción de esta extensión a Inglés, Español o Ruso. Si tiene interés entre en contacto conmigo
  • [ru ru] Тот, кто может помочь мне с переводом этого расширения на английский, испанский или русский. Если вы заинтересованы в свяжитесь со мной

Requisitos para utilização

Esta extensão depende da advpl-vscode desenvolvida por Rodrigo Antonio Godinho da Silva.

Obs.: Atualmente esta extensão ainda não é 100% compatível com a tds-vscode.

Configuração

Por padrão o VSCode adiciona no Workspace Settings as pastas do Workspace. Esta extensão manipula esta configuração conforme o projeto que está sendo usado.

No fim deste arquivo há um exemplo de configuração.

Configuração

Vídeo Exemplo

Utilização

A extensão é ativada sempre que um projeto AdvPL é aberto, ou o comando é chamado o comando Trocar Projeto manualmente.

Esta extensão não reabre os arquivos que já estão abertos no editor.

Utilização

Vídeo Exemplo

Relacionar Ambiente x Projeto

É possível relacionar os ambientes da configuração advpl.environments com os projetos configurados no workspace advpl.foldersProject. Assim é possível organizar melhor os ambientes que estarão disponíveis na lista.

No fim deste arquivo há um exemplo de configuração.

Este recurso só funcionará se a configuração advpl.onlyRelatedEnvironments estiver habilitada.

Importante:

  • Caso a configuração advpl.environments esteja nas Configurações do Usuário, deve ser transferido para as Configurações do Workspace;
  • Após transferir as configurações reinicie o VSCode;
  • Caso esteja usando o atributo name na configuração advpl.environments, deve estar no advpl.foldersProject.environments[] o nome dos ambientes, se não estiver usando name a extensão irá considerar o atributo environment.

Relacionar Ambiente x Projeto

Vídeo Exemplo

Caso encontre algum problema, tenha alguma dúvida ou sugestão de melhoria, fique a vontade para abrir uma Issue ou enviar um Pull Request.

Comandos da Extensão

Command Palette:

  • Advpl - Trocar projeto ativo
  • Advpl - Remover últimos projetos
  • Advpl - Habilitar todos os Ambientes
  • Advpl - Desabilitar Ambientes fora do Projeto
  • Advpl - Desabilitar todos os Projetos
  • Advpl - Habilitar todos os Projetos

View item context - Gerenciador de Ambientes:

  • Definir [ambiente] como Padrão [do Projeto]
  • Associar [Ambiente] ao Projeto
  • Desassociar [Ambiente] do Projeto

Configurações da Extensão

Esta extensão contribui com as seguintes configurações:

  • advpl.onlyRelatedEnvironments: false; // true = Mostrar somente os ambientes vinculados ao projeto

  • advpl.projectActive: "Projeto padrão do Workspace";

  • advpl.showProjectPath": true; // true = Mostra o caminho do projeto na lista de Projetos

  • Pastas do projeto:

"advpl.foldersProject": [
    {
        "path": "Caminho da pasta do projeto",
        "name": "Alias para o projeto",
        "environments": [
            "Environment A",
            "Environment B"
        ], // Ambientes da configuração advpl.environments relacionados a este projeto
        "environment_default": "Ambiente padrão do Projeto"
    }
]

Aproveite, me ajuda e com certeza irá te ajudar tambem! ❤️


Esta extensão foi criada e é mantida pela comunidade. Não tem nenhum vínculo direto ou indireto com a TOTVS®, qualquer uma de suas franquias ou qualquer um de seus representantes. TDS é um produto criado e mantido pela TOTVS®. Esta extensão tem como objetivo apenas prover recursos que facilitem o gerenciamento de projetos AdvPL no VsCode.

advpl-switch-project's People

Contributors

alencargabriel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

advpl-switch-project's Issues

Alterar ambiente ativo quando trocar projeto

Caso o projeto possua configuração de ambientes, ao trocar o projeto deverá ser verificado se o novo projeto selecionado possui o ambiente que está selecionado atualmente. Caso não possua deverá ser selecionado o primeiro da lista dos ambientes disponíveis para aquele projeto.

Facilitador para adicionar um ambiente ao Projeto

Criar comando para adicionar o Ambiente conectado ao Projeto em aberto, e assim evitar ajustes manuais nas configurações.

Obs.: Aproveitar o novo recurso de Gerenciador de Servidores, e contribuir via Extension Point o mesmo comando na visão de Servidores.

Opção Desabilitar todos os ambientes AdvPL

A opção Desabilitar todos os ambientes AdvPL deve desabilitar todos os ambiente não relacionados ao projeto (advpl.foldersProject.environments[]) aberto caso a opção advpl.onlyRelatedEnvironments seja true.

Hoje quando essa opção é utilizada, o projeto fica sem ambientes disponíveis, necessitando trocar de projeto para mostrar novamente os relacionados.

Opção de exibir todos os projetos

Gostaria de ter a opção de em certo momento exibir todos os projetos que foram ocultados pela extensão, pois as vezes preciso procurar algum determinado texto em todos os projetos e o VSCode só pesquisa no projeto filtrado pela extensão.

Relacionar os Environments do ADvPL com os Projetos

Criar uma forma de vincular os environments da configuração advpl.environments com os projetos da extensão advpl-switch-project, para que após a seleção do projeto advpl.foldersProject só venham os ambientes relacionados a esse projeto.

Ideia surgiu por conta dos casos em que o desenvolvedor precisa de vários ambientes, mas os mesmos estão relacionados a clientes diferentes.

Obs.: Será necessário fazer um Pull Request no repositório da extensão base.

Configuração para controlar o ultimo ambiente ativo por projeto

Criar mais uma configuração no array de projetos advpl.foldersProject para guardar o ultimo ambiente ativo deste, para que sempre que um novo projeto for selecionado, a extensão irá conectar inicialmente neste, e não no primeiro encontrado como é hoje.

Debug abrindo arquivo de outro projeto

Identificado que quando um projeto é trocado recentemente (VSCode ainda não reiniciado) o VSCode não está utilizando para o Debug o arquivo do projeto atual, e sim o do ultimo arquivo aberto.

Ao trocar o projeto deve ser limpo os arquivos recentes, ou reiniciado a janela.

Atualizar StatusBar de ambientes

Desenvolver um comando na extensão totvs/advpl-vscode quer faça com que a StatusBar de ambientes seja carregada novamente.

Após isso, alterar nessa extensão para que ao alterar a configuração advpl.selectedEnvironment este comando seja executado. Garantindo que o ambiente mostrado na Status Bar realmente é o ambiente que está conectado.

Converter GIF do README em vídeo

Adicionar no README.md um vídeo referente a cada GIF, para facilitar a configuração inicial da extensão, para que seja possível pausar o mesmo e os usuários acompanharem as instruções e exemplos.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.