Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Autocomplete para extensões nativas

O editor Defold fornece sugestões de autocomplete para todas as funções da API do Defold e gera sugestões para módulos Lua exigidos pelos seus scripts. No entanto, o editor não consegue fornecer automaticamente sugestões de autocomplete para a funcionalidade exposta por extensões nativas. Uma extensão nativa pode fornecer uma definição de API em um arquivo separado para habilitar sugestões de autocomplete também para a API da extensão.

Criando uma definição de API de script

Um arquivo de definição de API de script usa a extensão .script_api. Ele deve estar em formato YAML e localizado junto com os arquivos da extensão. O formato esperado para uma definição de API de script é:

- name: The name of the extension
  type: table
  desc: Extension description
  members:
  - name: Name of the first member
    type: Member type
    desc: Member description
    # se o tipo do membro for "function"
    parameters:
    - name: Name of the first parameter
      type: Parameter type
      desc: Parameter description
    - name: Name of the second parameter
      type: Parameter type
      desc: Parameter description
    # se o tipo do membro for "function"
    returns:
    - name: Name of first return value
      type: Return value type
      desc: Return value description
    examples:
    - desc: First example of member usage
    - desc: Second example of member usage

  - name: Name of the second member
    ...

Os tipos podem ser qualquer um de table, string , boolean, number, function. Se um valor puder ter múltiplos tipos, ele é escrito como [type1, type2, type3].

Atualmente os tipos não são exibidos no editor. Ainda assim, é recomendável fornecê-los para que estejam disponíveis quando o editor passar a dar suporte à exibição de informações de tipo.

Exemplos

Consulte os projetos a seguir para exemplos reais de uso: