Pular para o conteúdo principal

Integração com Editores

O InfraGuard fornece integração com editores por meio de um servidor Language Server Protocol (LSP) integrado e uma extensão VS Code, permitindo suporte inteligente de edição para modelos ROS.

Extensão VS Code

Instalação

Instale a extensão InfraGuard no VS Code Marketplace ou pesquise por "InfraGuard" no painel de extensões do VS Code.

Recursos

Auto-Completar

Completar contextual em toda a estrutura do modelo:

  • Tipos de recursos — Todos os identificadores de tipos de recursos ALIYUN::*
  • Propriedades — Propriedades de recursos com informações de tipo, propriedades obrigatórias priorizadas
  • Funções intrínsecasFn::Join, Fn::Sub, Fn::Select e mais
  • Alvos Ref/GetAtt — Referências a parâmetros, recursos e seus atributos
  • Definições de parâmetros — Type, Default, AllowedValues e outras propriedades de parâmetros
  • Seções de nível superior — ROSTemplateFormatVersion, Parameters, Resources, Outputs, etc.

Quando você digita um tipo de recurso, um bloco Properties com todas as chaves obrigatórias é inserido automaticamente.

Diagnósticos em Tempo Real

Valida seu modelo enquanto você digita:

  • ROSTemplateFormatVersion ausente ou inválido
  • Tipos de recursos desconhecidos
  • Propriedades obrigatórias ausentes
  • Incompatibilidades de tipo para valores de propriedades
  • Definições de parâmetros inválidas
  • Chaves YAML duplicadas
  • Chaves desconhecidas com sugestões "Você quis dizer?"

Documentação ao Passar o Mouse

Passe o mouse sobre os elementos para ver documentação contextual:

  • Tipos de recursos — Descrição e link para documentação oficial
  • Propriedades — Tipo, restrições, obrigatório ou opcional, comportamento de atualização
  • Funções intrínsecas — Sintaxe e exemplos de uso

Ir para Definição

Pule de referências para definições:

  • Alvos Ref — Pule de !Ref ou Ref para a definição de parâmetro ou recurso
  • Alvos GetAtt — Pule de Fn::GetAtt para a definição de recurso
  • Referências de recursos — Navegue para definições de recursos a partir de referências de propriedades
  • AssociationPropertyMetadata — Pule de espaços reservados ${Name} em metadados para definições de parâmetros

Use Ctrl+Clique (ou Cmd+Clique no macOS) ou pressione F12 em uma referência para pular para sua definição.

Destaque de Sintaxe

Destaque de sintaxe aprimorado para elementos específicos do ROS:

  • !Ref, Fn::Join e outras funções intrínsecas
  • Identificadores de tipos de recursos ALIYUN::*::*

Tipos de Arquivo Suportados

PatternDetection
*.ros.yaml / *.ros.ymlReconhecido automaticamente como modelos ROS
*.ros.jsonReconhecido automaticamente como modelos ROS
*.yaml / *.jsonDetectado via ROSTemplateFormatVersion no conteúdo

Comandos

CommandDescription
InfraGuard: Update ROS SchemaBuscar o esquema mais recente de tipos de recursos na API ROS

Atualizando o Esquema ROS

A extensão inclui um esquema integrado para tipos de recursos ROS. Para atualizá-lo com as definições mais recentes:

  1. Abra a Paleta de Comandos (Ctrl+Shift+P / Cmd+Shift+P)
  2. Execute InfraGuard: Update ROS Schema

Isso requer que as credenciais da Alibaba Cloud estejam configuradas. Consulte infraguard schema update para configuração de credenciais.

Servidor LSP

O servidor LSP pode ser integrado com qualquer editor que suporte o Language Server Protocol.

Iniciando o Servidor

infraguard lsp

O servidor se comunica via stdio (entrada/saída padrão).

Configuração do Editor

Para editores diferentes do VS Code, configure o cliente LSP para:

  1. Iniciar o servidor com infraguard lsp
  2. Usar stdio como transporte
  3. Associar aos tipos de arquivo YAML e JSON

Consulte infraguard lsp para mais detalhes.