Skip to content

Configuração

Gabriel Alencar edited this page Nov 24, 2021 · 44 revisions

Essa extensão contribui com as seguintes configurações:

{
  "advpl.environments": [ //Array com os ambientes configurados
    {
      // Cada ambiente deve especificar:   
      "name": "", // Nome para o ambiente, caso não informado será utilizado o environment para a seleção
      "environment": "", // Nome do ambiente que será feito o debug e a compilação
      "serverVersion": "", // Versão do server - Atualmente suporta o 131227A, 170117A, 191205P e 210324P
      "server": "", // Server IP, Padrão: localhost                  
      "port": "", // Porta do servidor
      "user": "", // 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 CipherPassword
      "includeList": "", // Lista de diretórios separado por ponto-e-vírugla. Exemplo: "C:\\Protheus\\include\\;C:\\Protheus\\include_2\\" (É possível utilizar "${workspaceRoot}" para compor o path, ex: "${workspaceRoot}/include")
      "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/smartclient.app/Contents/MacOS/"
      "totvs_language": "", // Permite ADVPL ou 4GL, se não for informado assume ADVPL.
      "webappPort": "",  // Porta do WebApp caso se utilize esse tipo de SmartClient para debug
      "enable": true, // Extension point para controlar se o ambiente estará disponível para escolha ou não
      "defragPackAllInfo": false, // Se true, ao desfragmentar será limpado todo o histórico de atualizações, deixando o RPO menor ainda
    }
  ],

  "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.

  // Compilação
  "advpl.compile_force_recompile": false, // Caso esteja como true, força recompilar os fontes mesmo que não tiveram alteração.
  "advpl.compile_threads": 4, // Numero de Threads que serão utilizadas quando se compila uma Folder, o padrão é 4. Aumentar para mais de 4 Threads, fara o uso de CPU ficar bem alto

  // Log 
  "advpl.logger": false, // Cria um log da execução na pasta %temp% conforme SO
}

Para uso do Binário 191205P, consulte também a documentação deste.

Chave/Token de compilação

  • Clique aqui para saber como configurar uma chave de compilação (até binário 191205P).

  • Clique aqui para saber como configurar um token de compilação (a partir do binário 210324P).

Configuração de Encode dos arquivos.

O Visual Code padrão utiliza UTF-8 como encode dos arquivos abertos. O TDS utiliza como padrão o windows1252, caso você utilize fontes nos dois ambientes é recomendando mudar o encode do UTF-8 para windows1252.

Para proceder isso vá em Files -> Preferences -> Workspace Será aberto na direta os valores default, e na esquerda os seus valores.

{
  "files.encoding": "windows1252"
}

Configurações adicionados ao VSCode

Configuração de Patchs

  • advpl.pathPatchBuild : Patch do cliente que deve existir para geração de patches. Caso o arquivo já exista, será sobrescrito (É possível utilizar "${workspaceRoot}" para compor o path, ex: "${workspaceRoot}/patchBuild").

Debug

  • advpl.debug_multiThread : Caso seja colocado com true, habilita o debug multi Thread. Obs.: No canto inferior esquerdo do VSCode, existe uma opção que permite alternar essa configuração.
  • advpl.debug_ignoreSourceNotFound : Ignorar os fontes não encontrados 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.

Parâmetros adicionais do SmartClient

Veja a Wiki Debugando e executando

Gerar senha de acesso ao um ambiente.

Para gerar uma chave devemos usar o VS Code Quick Open (atalho Ctrl + Shift + P) e digitar:

>cipher Será apresentado um input box para digitar a senha. Ao confirmar o VSCode ira apresentar a senha criptografada. que deve ser colocada no advpl.passwordCipher.

Caso o ambiente já esteja configurado, também é possível alterar a senha pela visão Gerenciador de Ambientes presente na aba Explorer do VSCode.

Pegando o código de liberação autorização TOTVS

Caso você utilize liberação de compilação e necessite de uma para o VS code, abra o VS Code Quick Open (atalho Ctrl + Shift + P),e digitar:

>Código Autorização para ser solicitada pela Totvs

Ao começar a digitar o comando o VS code ira já sugerir as correspondências, não sendo necessário digitar o comando inteiro.

Exemplo de arquivo de configuração:

{
  "advpl.environments":[{
    "smartClientPath": "C:\\binarios\\P12\\last_tfs\\smartclient\\",
    "environment": "fluig",
    "includeList": "D:\\LIB120\\INCLUDE\\;D:\\LIB120\\INCLUDE-LIB\\",
    "server": "localhost",
    "port": "1201",
    "user": "Admin",
    "passwordCipher": " TDBXQzYWZoTm92NTlmTFFKbi9DTzROVjY5Q0FUVmFlb1JNN28="
   },{
     "smartClientPath": "C:\\binarios\\P12\\last_tfs\\smartclient\\",
     "environment": "amb1",
     "includeList": "D:\\TOTVS\\LIB110\\INCLUDE\\;D:\\TOTVS\\LIB110\\INCLUDE-LIB\\",
     "server": "localhost",
     "port": "1101",
     "user": "Admin",
     "passwordCipher": "elhlY3FxQTJKNTZDR0xiK2VWa1ZrbVRGaDhVWXFrTjYvM2JiUnc="
   }],
   //Chave
   "advpl.authorization_generation": "20160831",
   // Data de validade da chave no formato yyyymmdd
   "advpl.authorization_validation": "20161129",
   // 1 - Para permitir substiuir fontes TOTVS, 0 para Não
   "advpl.authorization_permission": "1",
   // Chave de compilação
   "advpl.authorization_code": "013SPL032RFRR74F1E7671310"  
}

Selecionando o Ambiente em execução

Após configurar os ambientes, no canto inferior direito, do lado do esquilo é possível visualizar o ambiente corrente. Caso queira muda-lo basta clicar sobre a barra, será apresentando uma lista de ambientes configurados.

Também é possível selecionar os ambientes pela visão Gerenciador de Ambientes presente na aba Explorer do VSCode.