Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fusão de Projetos #291

Closed
AlencarGabriel opened this issue Oct 11, 2018 · 13 comments
Closed

Fusão de Projetos #291

AlencarGabriel opened this issue Oct 11, 2018 · 13 comments

Comments

@AlencarGabriel
Copy link
Member

Boa tarde @killerall , criei uma extensão para resolver um problema comum que os desenvolvedores ADvPl tem que é o conflito de arquivos com o mesmo nome no debug, em um mesmo workspace, e a troca entre projetos sem precisar reabrir uma nova área de trabalho.

Atualmente está sendo usada e testada por alguns colegas analistas da TOTVS e terceirizados, acredito que possa ser algo interessante para trabalharmos juntos, já que é um problema comum.

Inclusive para o futuro estava querendo fazer algo parecido com a seleção dos Ambientes, pois quando se trabalha em vários clientes a lista de ambientes fica extensa, e minha ideia seria vincular os Ambientes por Projeto.

Caso seja de seu interesse, aguardo contato.

Link do projeto:

https://github.com/AlencarGabriel/advpl-switch-project

@killerall
Copy link
Collaborator

Boa noite @AlencarGabriel .
Parabens pela iniciativa.
Acredito que pode ser bem util para o pessoal que tem essa necessidade.
A ideia de ambientes é bem bacana tambem. Fique a vontade em desenvolve-la, tanto fazendo um pull request aqui, ou colocando na sua extensão.

Se precisar de apoio em algo relativo ao Bridge, basta me avisar.

Abraço.

@AlencarGabriel
Copy link
Member Author

Agradecido pela disponibilidade, irei analisar o que ficará mais viável e entro em contato.

@AlencarGabriel
Copy link
Member Author

AlencarGabriel commented Oct 18, 2018

Bom dia @killerall , gostaria de pedir uma opinião sua para a conversa acima, referente a vinculação dos ambientes por projeto, irei fazer um Pull Request pra você, mas preciso resolver como fazer.

Você acharia melhor:

  • Colocar minha extensão como dependência da sua
  • Verificar se a minha extensão está instalada, e habilitar o funcionamento

Após uma análise, vi que seria melhor se a sua extensão considerasse os ambientes por projeto, se não eu teria que desenvolver uma forma da minha extensão manipular a configuração advpl.environments, semelhante o que eu fiz com as pastas do Workspace.

@AlencarGabriel
Copy link
Member Author

Boa noite @killerall , ainda no aguardo do seu retorno para dar continuidade no Pull Request. Alguns colegas estão me cobrando esse recurso.

Agradecido pela compreensão.

@killerall
Copy link
Collaborator

Boa noite @AlencarGabriel
Acredito que nenhum dos dois.
O ideal seria fazer na extensão principal, um esquema de protocolo/extensao igual ao proprio vscode.
Pois outras extensão poderiam contribuir e você tira o acomplamento entre extensões.

@AlencarGabriel
Copy link
Member Author

Para ter certeza se entendi o que quis dizer, eu teria que adicionar todas as funcionalidades da minha extensão, na extensão criada por você, como se fosse mais um recurso?

Meu questionamento se deu, devido ao fato que que eu teria que alterar na sua extensão para listar somente os ambientes de um determinado projeto, para isso eu criaria mais um atributo no objeto advpl.environments e ao clicar em Selecionar ambientes a extensão consideraria somente os ambientes referentes ao projeto.

Penso eu que colocar este recurso direto na extensão principal forçaria um uso "engessado", onde o usuário irá sempre trabalhar com Ambientes x Projetos.

@killerall
Copy link
Collaborator

Acredito que eu não me fiz entender.
O que pensei é justamente ao contrario.
A ideia seria implementar nesta extensão o conceito extension point. Aonde outras extensões como a sua conseguem interagir com está aqui.

@AlencarGabriel
Copy link
Member Author

Entendi, essa a principio era minha ideia, a dificuldade seria manipular os environments.

Tive uma ideia essa noite, que seria criar mais um atributo definindo se o ambiente é usado ou não, e ai a minha extensão iria manipular este atributo, consequentemente a opção de seleção de ambientes traria apenas os ambientes ativos.

O que acha?

@AlencarGabriel
Copy link
Member Author

AlencarGabriel commented Oct 26, 2018

Bom dia @killerall , ainda no aguardo do seu retorno para dar continuidade no Pull Request. Alguns colegas estão me cobrando esse recurso.

Acredito que esteja bem atarefado, estou mandando outro comentário para garantir que receba a notificação.

Agradecido pela compreensão.

@killerall
Copy link
Collaborator

@AlencarGabriel
A sua ideia de criar um atributo, resolve apenas o que você quer fazer. o Lance de Extenstion Point da a oportunidade de outras extensões conseguirem contribuir.
Até o dia 3/11 não estou com tempo para pensar/propor nada relativo isso. Depois disso volto a ter mais tempo para mexer por aqui.

@AlencarGabriel
Copy link
Member Author

@killerall , qual a previsão de lançamento da próxima versão da extensão?

@killerall
Copy link
Collaborator

@AlencarGabriel
Estou fechando alguma correções hoje, se de certo amanha vou atualizar, e começar a testar o seu pull request.

@AlencarGabriel
Copy link
Member Author

Ótimo, só aguardando a atualização para eu lançar o update da minha também.

killerall pushed a commit that referenced this issue Nov 14, 2018
* Resolved #297

Criado tratamento para retornar erro caso o usuário tenha desistido de excluir um fonte e permitir fazer outras compilações.

* Closes AlencarGabriel/advpl-switch-project#9 and Resolved #291

Criado opção para Habilitar/Desabilitar um ambiente definido nas configurações, de forma que o usuário possa controlar as extensões em uso, ou que uma extensão gerencie este recurso conforme discutido com o @killerall na Issue #291

* Ajustado para tratar com base na localização

Ajustado para comparar a escolha do usuário, com o valor da localização.

* Está confundido ambiente sem o atributo NAME

Após o Code Review na Pull #299 foi identificado que a variável de nomes de ambientes não estava tratando os desabilitados, aplicado filtro tambem na variável `envnames`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants