forked from intersystems-community/vscode-objectscript
-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Closed
Implementar fluxo de criação de Rotinas e Classes via API
Src2.Item.CriarItem na extensão VS Code#30Feature
Copy link
Description
Contexto
Atualmente, ao criar um novo arquivo dentro do VS Code (Ctrl + N → "New File"), o editor cria o arquivo diretamente no módulo aberto no momento, sem respeitar o módulo correspondente ao nome da rotina (por exemplo, TRIB).
Isso gera inconsistências — por exemplo, CCTRIB000.mac sendo criada dentro do módulo CCINF.
Além disso, o SVN não versiona automaticamente as novas rotinas criadas localmente.
Objetivo
Substituir a criação manual de arquivos por um fluxo controlado pela API do IRIS, centralizando toda a lógica de validação e criação no método:
##class(Src2.Item).CriarItem(namespace, nomeItem, .itemIdCriado, .arquivoItemCriado)Para isso, será criado um endpoint intermediário na classe:
Src2.Integracao.VSCodeque receberá requisições da extensão do VS Code.
Escopo
Lado IRIS
- Criar método REST POST na classe
Src2.Integracao.VSCode - Invocar internamente
##class(Src2.Item).CriarItem(...)
Lado do Vs Code (extensão)
- Novo comando: “CCS: New File”
- Atalho: Ctrl+N (Substituir atalhos existentes)
Etapas do fluxo:
- QuickPick: Selecionar o workspace no qual será criado o novo arquivo (rotina / classe)
- Apenas se mais de um workspace disponível, se possuir apenas um workspace, abrir o mesmo
- A extensão da Intersystem já oferece algo semelhante, exemplo:
-
- InputBox: Nome da Rotina / Classe
- Envio da requisição POST
- Exibição de resultado: Abrir arquivo criado
- Feedback visual:
- “Item criado com sucesso em /<módulo>”
- Exibição de erros retornados da API caso ocorra