totvs / advpl-vscode Goto Github PK
View Code? Open in Web Editor NEWSuporte para Advpl no VsCode
License: MIT License
Suporte para Advpl no VsCode
License: MIT License
Ao dar errro o smartClient cai , porem o Modo Debug no VsCode continua aberto
Quando a workspace possui muitos arquivos o Debug fica lento, tanto para iniciar quanto, para debugar linha a linha.
Minha workspace possui 286MB de tamanho.
When try to compile a source code without or with wrong passwordCipher, VSCode show that exist 1 Error but not show the error message.
Um arquivo compilado hoje, por volta das 13:50 apresenta as seguintes informações no inspetor de objetos do TDS:
07/09/29 08:21:07
A extensão sempre traz o SIGAFAT
como programa padrão, seria interessante trazer o último programa executado.
Caso a compilação gere Warning, não está aparecendo eles no VScode.
As variáveis cFunction's contidas em diversos fontes estão ficando com o "c" em branco e o "Function" em azul.
Ao se entrar no debug de uma função sem ser via os modulos do protheus,
O debug não para na primeira tentativa. Precisando executar 2 vezes
Não encontrei nenhuma opção para excluir fonte do RPO. Com isso ao criar um ponto de entrada, só foi possível excluir usando o TDS.
Ao se olhar arrays, tanto no variable quanto no watch, o Debug não é capaz de mostrar os valores.
Olá, os Warnings gerados na compilação estão sendo exibidos como erro:
Erro:
MPSYSOPENTABLES.PRW(498) warning W0010 Static Function GETMENUSTRUCT never called
MPSYSOPENTABLES.PRW(38) warning W0003 Local variable LCONTINUE never used
Compilação OK
Config file:
"advpl.smartClientPath": "d:/Ambientes/Testes/bin/smartclient/"
If I change to d:\\Ambientes\\Testes\\bin\\smartclient\\
it works
Mesmo com ENCODE setado para 1252, apesar da visualização do arquivo no VSCODE ficar correto. A string enviada ao APPSERVER fica com os caracteres inválidos.
Olá!
Seria interessante possuir um visualizador de alias abertos, assim poderíamos verificar quais tabelas estão abertas, quais dados estão selecionados naquele momento e os filtros aplicados, como também o índice em uso.
A aplicação e geração de patchs estão apresentando problemas, e quando não aplica não da retorno.
Error message: error while processing request 'launch' (exception: Não foi possível localizar uma parte do caminho 'C:\TEMP\DEBUGLOG_2.TXT'.
Formalizar uma listbox ao dar Ctrl+F para procurar uma string no fonte, onde essa combo traga o histórico das 10 últimas strings buscadas pelo usuário. As strings buscadas pelo usuário no fonte podem ser armazenadas num arquivo temporário e quando o fonte é fechado (removido da aba Open Editors) o temporário pode ser deletado.
[]s
Não existe opção para gerar client ADVPL de WebService SOAP
Pensei em algo como sugestão em definir no .json um caminho aonde ira gravar um arquivo simples com os fontes contendo data e hora
Read the .aut file and generate the keys:
Ao colocar um breakpoint condicional o vscode retorna que não é suportado.
Cai a execução do debug sem apresentar erro quando algum dos parâmetros passados para uma função não está declarado.
#include "protheus.ch"
user function new2()
Local a := 0
lRet := RpcSetEnv("99", "01", "Admin", "", "TEC")
if lRet
lRet:= func1( b,;
a,;
a,;
a;
)
RpcClearEnv()
endif
return
Caso seja realizada a tentativa de compilar um fonte em uma pasta, onde o caminho na máquina contenha espaço (c:\Lib120\FwProtheusFunctions\Audit Trail\FWATDBMSAP.PRW - espaço entre audit e trail) o fonte não é compilado nem é gerado erro.
Boa tarde,
Pensei na possibilidade de mostrar os campos e os índices das tabelas em aberto no momento do debug junto com o seu conteúdo.
Exemplo:
SA1>
SA1(aberta)
A1_COD: "001"
A1_LOJA: "01"
Bastaria clicar duas vezes na tabela para abrir os índices, os campos e o seu conteúdo atualizado.
[]s
Segui configuração do meu ambiante.
`
// AdvplSuport configuration
// Diretorio aonde esta o smartclient.
"advpl.smartClientPath": "C:\\TOTVS 12\\Microsiga\\Protheus\\bin\\smartclient\\",
// Versão do server
"advpl.serverVersion": "131227A",
// Server IP
"advpl.server": "localhost",
// Server Port
"advpl.port": "5678",
// Environment
"advpl.environment": "environment",
// Usuario com privilegio de Administração para conectar no servidor.
"advpl.user": "admin",
// Senha Criptografada do usuario. Utize o commando Cipher Password para gerar a senha.
"advpl.passwordCipher": "",
// Diretorios de include para compilação separar cada diretorio com ;
"advpl.includeList": "C:\\TOTVS 12\\Microsiga\\Protheus\\include",
// Repository language, Accepted values:PORTUGUESE,ENGLISH,SPANISH
"advpl.language": "PORTUGUESE",
// Type of Repository, Accepted values: TOP,CTREE,DBF
"advpl.rpoType": "CTREE",
// Programa inicial para o Debug
"advpl.startProgram": "SIGAADV",
// Regex dos tipos de arquivos que serão compilados quando selecionar compilação de pasta
"advpl.compileFolderRegex": ".*\\.(prw|prx|apw|aph|tres|png|bmp|tres)",
// Patch do cliente que deve existir para geracao de patchs. Caso o arquivo ja exista, ser� sobrescrito.
"advpl.pathPatchBuild": "c:\\patchs\\",
// Habilita Debug multi Thread.
"advpl.debug_multiThread" : false,
// Ignorar os fontes não encotrados no debug.
"advpl.debug_ignoreSourceNotFound": false
}
`
Ao tentar compilar recebo essa mensagem e depois não acontece nada.
Advpl Iniciando
Iniciando compilação do fonte c:\Users\atila.santos\Documents\TDS\Workspace\Pratico\src\zPedMd2.prw
Caso a maquina não tenha o Redistributing Visual C++ Files (for Visual Studio 2008),
Não é possível fazer a integração com o Protheus.
Nos arquivos html, utilizando o comando Shift+Alt+F o vs code ajusta a identação.
O ideal seria permitir que seja selecionada a area para o autoident, comportamento que existia no antigo IDE e hj no TDS ele identa o fonte inteiro.
Prezado, a ferramenta é muito boa, porem não identifica erros de sintaxe. Só isso que ainda me impede de utiliza-la por completo. Por exemplo, o código abaixo compila sem problemas no CODE, porem o TDS reclama da ultima linha.
[08:33:19.325] ADVPL Preprocessor: Precompilation of file C:\advpl\Buena\Cadastros\xCadAmostras.prw ok. [Projeto: Buena]
[08:33:19.330] XCADAMOSTRAS.PRW(11) C2003 Syntax Error [Projeto: Buena]
[08:33:22.332] Compilação finalizada (12,898 segs.)
#include "protheus.ch"
#include "vkey.ch"
user function xCadAmostras()
local cVldAlt := ".T."
local cVldExc := ".T."
chkFile("ZA3")
dbSelectArea("ZA3")
ZA3->(dbSetOrder(1))
axCadastro("ZA3", "AMOSTRAS", cVldExc, cVldAlt)
ZA3->
return
advpl-vscode: 0.4.1
Now user
and server
are mandatory, but advpl-vscode doesn't show any message of error if I tried to compile.
Ao compilar recebo a seguinte mensagem: Erro: ADVPL preprocessor only runs when called by Developer Studio.
Olá, seria interessante que no visualizador do VsCode, no momento de compilação, fosse mostrado também se a compilação foi realizada ou não. Hoje é necessário observar o server para verificar se foi compilado.
Colocar no menu de contexto opção para remover o fonte do RPO.
Obter do arquivo ".ini" encontrado na pasta "advpl.smartClientPath" e ler as configurações de endereço, porta, ambiente e último programa utilizado.
As seguintes coisas deverão ser feitas para adicionar o suporte:
Ao se colocar no Watch variável string vazia, não mostra que esta vazia, diz que não conseguiu avaliar.
Outro Ponto é variável string com string em branco a direita, não da para visualizar os espaços a direita.
Criar Atalho que Compila o fonte Atual e já inicia o SmartClient ou debug.
Colocar os comandos para comentário /**/ e // em sequência numa linha quebrada com ; gera o erro de sintaxe.
Iniciando compilação do fonte c:\TFS\Protheus_Padrao\Fontes_Doc\Inovação\V12\Serviços GS - R15\Fontes\users\new2.prw
Erro: appre1(8) Error C2002 Statement unterminated at end of line/unbalanced parentesis/brackets
user function new2()
Local a := 0
func1( a,;
a,;
a,; /**/ // << linha gera o erro de compilação
a;
)
return
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.