totvs / tds-vscode

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

Parâmetros das funções do intelisense não tem nome #9

Closed Vitor-Santos-Totvs closed 4 years ago

Vitor-Santos-Totvs commented 5 years ago

Nas funções sugeridas pelo intelisense, os parâmetros aparecem apenas com o nome de seus tipos e não com o nome do parâmetro, dificultando assim identificar o que significa cada parâmetro.

bug parametro plugin vscode

izacsc commented 5 years ago

Relacionado ao intelisense, as variáveis lógicas não estão sendo apresentadas corretamente, como dá pra ver no print.

O último argumento seria lChangeCase conforme o tdn http://tdn.totvs.com/display/tec/FCreate

Vitor-Santos-Totvs commented 5 years ago

Nao mencionei esse problema das variáveis lógicas porque seria muito mais eficiente trocar esses tipos que aparecem na assinatura diretamente para o nome dos parâmetros usando a primeira letra para identificar o tipo, como usado no padrão do advpl.

matheus-sales commented 5 years ago

Srs,

Essa é uma lista que montamos para simplificar o processo e ter alguma informações (mesmo que minima) sobre as funções. Iremos trabalhar para atualizar a lista e traze informações mais completas (Como nome de cada parâmetro e documentação).

A intenção é trazermos informações que estão no TDN, mas precisamos estudar a viabilidade.

Vitor-Santos-Totvs commented 5 years ago

Srs,

Essa é uma lista que montamos para simplificar o processo e ter alguma informações (mesmo que minima) sobre as funções. Iremos trabalhar para atualizar a lista e traze informações mais completas (Como nome de cada parâmetro e documentação).

A intenção é trazermos informações que estão no TDN, mas precisamos estudar a viabilidade.

Imaginei mesmo que já estavam cientes dessa questão. Aconselho colocarem o roadmap do plugin, mesmo que parcial, aqui no git para evitar solicitações cuja implementação já está programada.

DanielYampolschi commented 5 years ago

Essa tarefa é duplicada com a issue #14 a qual está no roadmap e será acompanhada por lá.

ricardomansano commented 5 years ago

Senhores, os fontes do binário (c++) nao guardam nome dos parametros, se alguem publicou isso pegou manualmente ou do TDN, @matheus-sales e @DanielYampolschi , creio que será possivel pegar essas informações do RPO, mas que fique claro que do BIN, sistemicamente, não é possivel.

Vitor-Santos-Totvs commented 5 years ago

Senhores, os fontes do binário (c++) nao guardam nome dos parametros, se alguem publicou isso pegou manualmente ou do TDN, @matheus-sales e @DanielYampolschi , creio que será possivel pegar essas informações do RPO, mas que fique claro que do BIN, sistemicamente, não é possivel.

Sim, pelo que eu vi no binário não tem informação sobre o nome das variáveis, apenas o tipo. Até onde eu sei o RPO guarda apenas funções compiladas em advpl, portanto nao teria como pegar informações da assinatura das funções do binário nele. Imagino que para pegar essas informações da assinatura, os dados teriam que ser retirados do TDN mesmo, como alguns outros plugins do advpl fizeram.

ricardomansano commented 5 years ago

@Vitor-Santos-Totvs , exato, as arquiteturas são diferentes, o RPO trabalha como uma tabela, então temos essas informação lá, mas quando falamos de binário isso vira assembler/endereço de memória, temos até alguns identificadores pra definirmos as funções "publicadas" para o AdvPL/4GL, mas as informações são reduzidas. Pra melhorar (corretamente) isso precisamos mexer na arquitetura (camada de publicação de funções), é plausível mas "nada" trivial. Podemos deixar na wishlist, mas sem previsão para melhoria. Valew pela interação.

ricardomansano commented 4 years ago

Essa implementação depende da criação do nosso motor de parser que foi prorrogada para o primeiro semestre de 2020, manteremos os canais informados quando da liberação.