Bem vindo a extensão para desenvolvimento de Advpl no visual code. VsCode MarketPlace
Essa extensão adiciona suporte a edição, compilação e debugging de ADVPL no Visual Code.
Caso você encontre algum problema, por favor abra uma issue no GitHub.
Atenção! Essa extensão não é desenvolvida ou suportada pela TOTVS. Utilize por sua conta e risco.
Existe um migrador de projetos antigos do IDE Totvs (.PRJ) que pode se encontrado aqui.
Caso esteje com problema para debugar, apos a atualização do VSCODE 1.10 apague o launch.json e o recrie dando F5.
Essa extensão possui as seguintes features implementadas:
- Syntax highlighting
- Compilação de fonte
- Chave de Compilação
- Debug single Thread e Multi Thread
- Compilação de multiplos fontes
- Geração e aplicação de Path Wiki
- Exclusão de fontes do RPO
- Lista dos fontes/resources do rpo
- Geração Cliente WS Protheus
As próximas planejadas são:
- Auto complete
- Mac e Linux
Para utilizar os recursos de compilação e debug é necessário que o AppServer esteja na build 131227A ou superior, tendo essa versão de binário tanto o Protheus 11 e 12 são suportados. Essa extensão ainda não está disponível no Linux. Em OSX o suporte do editor e do debug já esta funcional.
Essa extensão contribui com as seguintes configurações.
advpl.smartClientPath
: Caminho completo para o diretório do smartclient. Esse diretório precisa possuir o apppre.exe e o smartclient.exe.
Exemplo: C:\\Protheus\\smartclient\\
No caso de OSX:
Exemplo: /Applications/
Atenção! A partir da versão 0.4.0, as configurações de ambientes devem ser feitas com o array
advpl.environments
advpl.serverVersion
.": Versão do server - Atualmente suporta apenas o 131227Aadvpl.server
: Server IP, Padrão: localhostadvpl.port
: Porta do servidoradvpl.environment
: Nome do ambiente que será feito o debug e a compilaçãoadvpl.user
: Nome do usuário para se conectar no Protheus, se não informado utiliza "Admin"advpl.passwordCipher
: Senha criptografada do usuário de login no Protheus, para gerá-la utilize o comando CipherPasswordadvpl.includeList
: Lista de diretórios separado por ponto-e-vírugla. Exemplo:C:\\Protheus\\include\\;C:\\Protheus\\include_2\\
advpl.language
: Língua do repositório, se não informado será português, valores permitidos: PORTUGUESE, ENGLISH, SPANISHadvpl.rpoType
: Tipo do RPO, se não informado será "TOP", valores permitidos: TOP, CTREE, DBF
Atenção! Nova configuração de ambiente
advpl.environments
: Array com os ambientes configurados
Cada ambiente deve especificar:
name
: Nome para o ambiente, caso não informado sera utilizado o enviroment para a seleçãoenvironment
: Nome do ambiente que será feito o debug e a compilaçãoserverVersion
.": Versão do server - Atualmente suporta o 131227A , 170117Aserver
: Server IP, Padrão: localhostport
: Porta do servidoruser
: Nome do usuário para se conectar no Protheus, se não informado utiliza "Admin"passwordCipher
: Senha criptografada do usuário de login no Protheus, para gerá-la utilize o comando CipherPasswordincludeList
: Lista de diretórios separado por ponto-e-vírugla. Exemplo:C:\\Protheus\\include\\;C:\\Protheus\\include_2\\
language
: Língua do repositório, se não informado será português, valores permitidos: PORTUGUESE, ENGLISH, SPANISHrpoType
: Tipo do RPO, se não informado será "TOP", valores permitidos: TOP, CTREE, DBF
-
advpl.selectedEnvironment
Ambiente atualmente selecionado -
advpl.startProgram
: Módulo ou função que será sugerido no launch do Debug -
compileFolderRegex
: Regex que ira validar se na compilação de folders, o arquivo irá ser compilado ou não.
As variáveis abaixo devem ser preenchidas caso você tenha uma senha de compilação. Caso você deseje pegar o ID utilizado pelo VSCODE para gerar uma nova chave, veja o comando getAuthorizationId
advpl.authorization_generation
: Data de geração da chave no formato yyyyMMddadvpl.authorization_validation
: Data de validade da chave no formato yyyyMMddadvpl.authorization_permission
: 1 - Para permitir substituir fontes TOTVS, 0 - para não pemitiradvpl.authorization_code
: Chave de Autorização
Configuração de Patchs
advpl.pathPatchBuild
: Patch do cliente que deve existir para geracao de patchs. Caso o arquivo ja exista, será sobrescrito.
Debug
advpl.debug_multiThread
: Caso seja colocado com true, habilita o debug multi Thread.advpl.debug_ignoreSourceNotFound
: Ignorar os fontes não encotrados no debug.advpl.debug_showTables
: Mostra as tabelas abertas.advpl.debug_showPrivates
: Mostra as variaveis Privates.advpl.debug_showPublic
: Mostra as variaveis Publicas.advpl.debug_showStatics
: Mostra as variaveis Estaticas .
Compilação
compile_force_recompile
: Caso esteja como true, força recompilar os fontes mesmo que não tiveram alteração.
Veja nossa Wiki
- F5 - Inicia o Debug
- CTRL + F5 - Inicia o SmartClient sem debugar
- CTRL + F9 - Compila o fonte atual
- CTRL + F11 - Executa o smartClient sem configuração e mostrando a tela de parametros
Utilizada as teclas padrões do VsCode
- F5 - Run/Contiue
- F10 - Step Into
- F11 - Step Over