Pregunta
· 7 oct, 2021

Plantillas o wizards en Visual Studio Code

¡Hola!

En Atelier, puedo hacer clic en File --> New --> Class File; en File --> New --> Custom File, etc. para lanzar distintos wizards y plantillas que me ayudan a crear de forma rápida clases DeepSee KPI, manifiestos %Installer, Web Services, etc. Por supuesto, también están disponibles en Studio.

¿Hay algo similar en VSCode? Si es así, ¿dónde? He mirado en varios vídeos y en la documentación, pero no he encontrado nada.

¡Gracias!

David

Comentarios (4)0
Inicie sesión o regístrese para continuar

Buenas David,

Desde Visual Code no se han implementado los wizards de la misma forma que están en Studio, muchos de estos asistentes estaban programados en exclusiva para Studio, otros estaban pensados para acceder desde Atelier, a través de su server template, como el asistente de SOAP.

Podrás incorporarlo en Visual studio siguiendo los siguientes pasos

Asistente para cliente SOAP

https://es.community.intersystems.com/post/trucos-y-consejos-de-vscode-a...

Supongo que poco a poco, la comunidad podrá ir aportando algunos trucos para tener lo mismo que en Atelier.

Un saludo,
Kurro

Investigando un poco mas la documentación de ZEN.Template no resulta complicado implementar nuevos métodos.

Siguiendo los mismos pasos que para el asistente SOAP, incluye la siguiente entrada en la lista de links y tendrás nuevos asistentes.

Installer Wizard

"Installer Wizard": "${serverUrl}/isc/studio/templates/%25Installer.InstallerWizard.cls?Namespace=${namespace}${serverAuth}"
 

DeepSeek PI Wizard

"DeepSeek PI Wizard": "${serverUrl}/isc/studio/templates/%25DeepSee.Template.DeepSeeKPIWizard.cls?Namespace=${namespace}${serverAuth}"

Hola Kurro... estos links concretos te funcionan a ti? Creo que los asistentes asociados al New... en el Studio sólo generan el código fuente y lo entregan al editor del Studio... Pero el VSCode no recoge bien esa salida y la muestra tal que así:

<template>
<![CDATA[ BODY##www.intersystems.com:template_delimiter##Include %occInclude /// %Installer Manifest MyApp.MyInstaller Class MyApp.MyInstaller { /// Definición de manifiesto. XData MyManifest [ XMLNamespace = INSTALLER ] { <Manifest> <Namespace> <Configuration> <Database> <!-- Your Manifest code here --> </Database> </Configuration> </Namespace> </Manifest> } /// Este es un generador de métodos cuyo código es generado por XGL. ClassMethod setup(ByRef pVars, pLogLevel As %Integer = 3, pInstaller As %Installer.Installer, pLogger As %Installer.AbstractLogger) As %Status [ CodeMode = objectgenerator, Internal ] { #; Permitir que nuestro documento XGL genere código para este método. Quit ##class(%Installer.Manifest).%Generate(%compiledclass, %code, "MyManifest") } } ##www.intersystems.com:template_delimiter##CLASS##www.intersystems.com:tem... ]]>
</template>

De aquí sí que podríamos extraer el fuente generado... desde el ##Include hasta "MyManifest")}}... pero es un poco engorroso.

En el caso de los Complementos (Add-ins) que automatizan la generación de clases, sí que funcionan prácticamente igual que en el Studio...