Coder Social home page Coder Social logo

alencargabriel / advpl-switch-project Goto Github PK

View Code? Open in Web Editor NEW
9.0 3.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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.