totvs / tds-vscode

Totvs Developer Studio for vscode
Apache License 2.0
167 stars 101 forks source link

Ao atualizar o plugin para versão 1.3.1, passou a exigir a include prtopdef.ch #733

Closed delsonfilho closed 3 years ago

delsonfilho commented 3 years ago

Describe the bug Bom dia. Ao atualizar o plugin para versão 1.3.1, passou a exigir a include prtopdef.ch, verificando os paths tanto dos fontes quanto das includes nao há letras maiusculas e nem espaços, exemplo: "/home/delson_filho/git/xxxx/include"

To Reproduce Steps to reproduce the behavior:

  1. Atualizar para versão 1.3.1
  2. Abrir qualquer fonte que não tenha a include prtopdef.ch
  3. Abrir vários fontes e no output mostrará que todos os fontes precisam da prtopdef.ch;

Expected behavior A clear and concise description of what you expected to happen.

Screenshots image

Desktop (please complete the following information):

Appserver (please complete the following information):

Additional context Add any other context about the problem here.

danielbolognani commented 3 years ago

@delsonfilho por favor apenas reinicie o VSCode, esse include sempre foi necessário. Pelo que vi aqui parece alguma falha ao carregar a pasta de includer assim que realiza a atualização da extensão.

lwtnb-wrk commented 3 years ago

@delsonfilho No Linux, todo o caminho precisa estar em letras minúsculas, não apenas a pasta de Includes Troque o "Gestao_servico/Rotina" por "gestao_servico/rotina" Lembrando que isso é um comportamento do AppServer Convenção para nomenclatura de File System em ambiente Linux

delsonfilho commented 3 years ago

@danielbolognani já reiniciei o VS, porém ele continua exigindo a include, se você testar na versão 1.2.5 perceberá que ele não exige.

delsonfilho commented 3 years ago

@lwtnb-wrk fiz o ajsute conforme solicitado /home/delson_filho/git/cliente/gestao_servico/rotinas/ATEC022.prw, porém veja que no VS continua solicitando a include:

image

image

danielbolognani commented 3 years ago

@delsonfilho Vc tem esses arquivos na sua pasta include? Se vc compilar esse arquivo da o mesmo erro?

delsonfilho commented 3 years ago

@danielbolognani tenho sim, está junto com o projeto /home/delson_filho/git/cliente/include, testei aqui compilando sem inserir a prtopdef.ch e parou de mostrar a mensagem de erro.

A unica questão é que ele dizer que está com "erro" e na verdade não está.

danielbolognani commented 3 years ago

@delsonfilho a principio o processo de pré-compilação (que é onde aponta esse erro) é o mesmo tanto no Linter como na compilação de fato (ctrl-F9). Consegue mandar o seu servers.json e a lista de arquivos das suas pastas de include?

lwtnb-wrk commented 3 years ago

@delsonfilho Pegamos uma situação semelhante ao seu erro aqui, veja se é o seu caso também. O Linter e a compilação no final usam o mesmo mecanismo para gerar os erros/warnings, porem o Linter usa a lista de includes gerais, pois o Linter não depende de um server conectado. Quando você esta com um server conectado e manda compilar, se o server tiver uma configuração de includes dele, o server usa essa informação para compilar, então o fonte pode estar compilando normalmente e dando erro de Linter por causa da diferença de Includes. Na visão de Servers, acione o menu de contexto e a opção Include ou acione CTRL + SHIFT + P e execute "TOTVS: Include", essa é a configuração que o Linter está usando então confirme se ela aponta para as pastas de Includes corretas.

delsonfilho commented 3 years ago

@lwtnb-wrk Estou apontando para a mesma pasta de include e mesmo assim ainda dá o erro da include.

lwtnb-wrk commented 3 years ago

@delsonfilho Veja em https://github.com/totvs/tds-vscode/blob/master/TROUBLESHOOTING.md#gerando-logs como gerar e nos envie os logs para analises.

danielbolognani commented 3 years ago

@delsonfilho envia pra gente também o seu servers.json e se possível a lista de arquivos da sua pasta de includes: entra na pasta de include pelo cmd e digita dir > arquivos.txt e anexa esse arquivos.txt aqui pra gente por favor

delsonfilho commented 3 years ago

filenames.txt servers (copy).txt

Segue.

lwtnb-wrk commented 3 years ago

@delsonfilho Assim que conseguir gerar, nos envie os logs para analises então.

delsonfilho commented 3 years ago

Segue!

totvsls.log totvsls_in.log totvsls_out.log

lwtnb-wrk commented 3 years ago

@delsonfilho Grato pelos logs, mas o erro parou de ocorrer? Pelos logs voce abriu 4 arquivos e em nenhum deles ocorreu o erro de prtopdef.ch.

delsonfilho commented 3 years ago

@lwtnb-wrk na verdade, qualquer fonte que abra, lá no output sempre mostra o erro, se eu recompilo, ele some. Mas se fechar e abrir de novo o vs, Volta o erro no output

lwtnb-wrk commented 3 years ago

@delsonfilho Revi os logs e eles mostraram apenas uns warnings e erros, mas nada referente ao prtopdef.ch Se o problema aparecer apenas na abertura do tds-vscode com um fonte aberto, isso realmente pode exibir um erro na primeira linha que "some" ao abrir/fechar ou recompilar. Isso ocorre pois o Linter tentou efetuar o parser sem ter a informação de Includes. Isso ja esta sendo corrigido e deve sair na proxima atualizacao. Nesse logs enviado vejo apenas a abertura do tds-vscode, aparentemente sem nenhum fonte aberto no editor, seguido da reconexão a um appserver. Depois ao abrir os fontes ATEC023.prw ele acusou um simples warning, assim como no RTEC014.prw. O RFAT006.prw não apresentou nenhum problem e o FAPPMOBI.tlpp apresentou erro de variavel não local usada em um loop For. E nesse log não mostrou que houve a recompilação. Então se puder refazer os testes, reinicie o tds-vscode e efetue as operações na ordem que apresentem o problema seguido da recompilação que remove o problema. Caso contrario aguarde a nova atualizacao para ver se ela resolve seu problema, pois aqui nao conseguimos reproduzir o problema.

delsonfilho commented 3 years ago

@lwtnb-wrk Como não é impeditivo e tem como contornar, vou aguardar a proxima atualização.

ClodoaldoRibeiro commented 3 years ago

Olá bom dia, também na empresa que trabalho estamos sofrendo com o erro descrito pelo colega. Todo fonte que abro ele mostra o erro, mas quando compilo o erro desaparece.

tds

tds1

lwtnb-wrk commented 3 years ago

@ClodoaldoRibeiro Veja a configuração de Linter em https://github.com/totvs/tds-vscode/blob/master/docs/linter.md

lwtnb-wrk commented 3 years ago

Estamos testando uma nova versão onde alteramos os processos de carga de includes para o Linter. Se puderem/quiserem avaliar a alteração, baixe o VSIX em https://github.com/totvs/tds-vscode/releases/tag/v1.3.2 Para instalar veja https://github.com/totvs/tds-vscode/blob/master/docs/install.md

ClodoaldoRibeiro commented 3 years ago

OK, @lwtnb-wrk refiz as configurações e deu certo, obrigado.

danielbolognani commented 3 years ago

Problema corrigido na versão 1.3.2 que já foi expedido ao MarketPlace.