Skip to content

Identação

Rodrigo Antonio Godinho da Silva edited this page Sep 28, 2020 · 3 revisions

Agora é possível efetuar a identação dos códigos de forma prática.

Funcionalidades implementadas:

Funcionalidade Tecla de Atalho
Formatação de Fonte Shift + Alt + F
Formatação de trecho de Código Ctrl + K Ctrl + F

Importante! A identação de trechos de código irá partir da identação definida na primeira linha selecionada.

Configurações

Identação Automática:

Pode ser configurada a identação automática de código com as configurações do settings da seguinte forma:

  • Formatação global (se o tipo de fonte que está usando tem um formatador ele vai identar ao salvar ou colar):

    {
      /*formatação quando salva o arquivo*/
      "editor.formatOnSave": true,
      /*formatação quando cola no arquivo*/
      "editor.formatOnPaste": true
    }
  • Formatação por linguagem (neste caso só irá formatar códigos AdvPL):

    {
      /* formatação quando salva o arquivo */
      "editor.formatOnSave": false,
      /* formatação quando cola no arquivo */
      "editor.formatOnPaste": false,
      /* limita as configurações para o escopo da linguagem AdvPL */
      "[advpl]": {
        /* formatação quando salva o arquivo */
        "editor.formatOnSave": true,
        /* formatação quando cola no arquivo */
        "editor.formatOnPaste": true
      }
    }

Caracter de Identação:

Pode-se definir no settings.json se a identação usará tabulação ou espaços:

  • Uso de tabulação:

    {
      /* define que usa tabulações */
      "editor.insertSpaces": false,
      /* define o tamanho das tabulações */
      "editor.tabSize": 4
    }
  • Uso de espaços:

    {
      /* define que usa espaços*/
      "editor.insertSpaces": true,
      /* define a quantidade de espaços */
      "editor.tabSize": 4
    }

Informações gerais

Exceção na Formatação:

Existem trechos de código que a identação não irá afetar, são eles:

  • Embedded SQL:

    BeginSql alias 'E2TEMP'
        column E2_EMISSAO as Date
        SELECT
            SE2.E2_PREFIXO,
            SE2.E2_NUM
        FROM
            %table:SE2% SE2,%table:QEK% QEK
        WHERE
            SE2.E2_FILIAL= %xfilial:SE2%
    EndSql
  • Comentários e ProtheusDoc:

    /*/{Protheus.doc} areaQuad
    Efetua o cálculo da área de alguns quadriláteros.
    
    @type function
    @author José Silva
    /*/
  • Begin Content:

    BeginContent var cCode
        function sendData(){
          with(document){
            var data = {
              'From_Expression: ':'%Exp:myVar%'
            }
          }
          var text = "form:SaveData('" + JSON.stringify(data) + "')";
          twebchannel.jsToAdvpl('receive_data', text, 'dummy');
        }
    endContent
  • Blocos não identados, você pode definir trechos de código que não quer identar deixando o código entre /*{*/ e /*}*/ :

    /* { */
      User Function xyz()
      Return
    /* } */