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ínsecas —
Fn::Join,Fn::Sub,Fn::Selecte 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:
ROSTemplateFormatVersionausente 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
!RefouRefpara a definição de parâmetro ou recurso - Alvos GetAtt — Pule de
Fn::GetAttpara 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::Joine outras funções intrínsecas- Identificadores de tipos de recursos
ALIYUN::*::*
Tipos de Arquivo Suportados
| Pattern | Detection |
|---|---|
*.ros.yaml / *.ros.yml | Reconhecido automaticamente como modelos ROS |
*.ros.json | Reconhecido automaticamente como modelos ROS |
*.yaml / *.json | Detectado via ROSTemplateFormatVersion no conteúdo |
Comandos
| Command | Description |
|---|---|
| InfraGuard: Update ROS Schema | Buscar 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:
- Abra a Paleta de Comandos (
Ctrl+Shift+P/Cmd+Shift+P) - 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:
- Iniciar o servidor com
infraguard lsp - Usar stdio como transporte
- Associar aos tipos de arquivo YAML e JSON
Consulte infraguard lsp para mais detalhes.