2012-02-13 28 views
5

¿Se pregunta si hay alguna forma de tener soporte intellisense mientras trabaja en archivos javascript en Dynamics CRM 2011? Sé que puede tener este soporte si usa Visual Studio, sin embargo, me pregunto si hay alguna manera de hacerlo dentro de la aplicación CRM.Javascript intellisense con Dynamics CRM 2011

¡Cualquier sugerencia sobre esto sería genial!

+0

Supongo que está preguntando porque quiere poder publicar con relativa rapidez en el sistema. ¿Aceptarías una solución basada en VS que logre lo mismo? –

+0

Sí, esa es la razón principal. Soy consciente de las soluciones basadas en VS, sin embargo, lo que sería óptimo es intellisense para recursos de JavaScript dentro de CRM. ¿Conoces alguna solución que brinde esta funcionalidad? – skub

+0

Ninguno en absoluto. ¿Tal vez Dynamics CRM 6.0? Y por curiosidad, ¿qué soluciones de publicación basadas en VS has probado? –

Respuesta

4

Dado que el editor de scripts dentro de CRM es solo un cuadro de texto sin formato, creo que la respuesta es no, ¡y créanme, lamento decir eso! Uno pensaría que, al menos, han configurado la fuente en un tipo verdadero, como el servicio de mensajería, para ayudar un poco con la edición.

Me parece que la manera más fácil es utilizar un editor de texto ligero con resaltado de sintaxis, como Notepad++. Es gratis, por supuesto;)

Si copia el código del editor de CRM, lo pega en Notepad ++ y selecciona JavaScript como idioma, le dará el mismo resaltado de sintaxis que Visual Studio, pero sin los tiempos de carga asociados (no me malinterpreten, me encanta Visual Studio, pero es enormemente excesivo para un pequeño cambio de JavaScript). También te permitirá establecer indentaciones correctamente. Luego, cuando termine de editar, copie y pegue nuevamente en CRM.

Me resulta especialmente útil si tengo que hacer un cambio rápido en una máquina donde Visual Studio no está disponible.

+0

Sí, supongo que esta es la única forma :( – skub

+1

@skub: Creo que esta respuesta es buena, pero tu cara triste me hace sentir triste. ¿Has consultado el proyecto CRM JS de Tanguy? Es una cosa de belleza, y se puede adaptar para publicar rápidamente archivos con un solo guardado y un clic * con * intellisense. (Ver http://stackoverflow.com/questions/7791822/ms-dynamics-crm-2012-script-editor-enhancements/7812797#7812797) –

+0

ah right eso parece prometedor, lo comprobaré :). Gracias Peter! – skub

2

Se debe añadir el archivo XrmPage-vsdoc.js a su proyecto en VS2010 y luego añadir una referencia a él como esto

///<reference path="..\IntelliSense\XrmPage-vsdoc.js"/> 

a la parte superior de su archivo * .js y obtendrá trabajando IntelliSense. Para obtener más información, consulte esta publicación CRM 2011: IntelliSense for Xrm.Page

+0

Pensé que el punto era que no quería _salvar_ el uso de VS? – sarnold

6

sentimos que debería haber leído con más cuidado antes de publicar. Pero si usted es usando VS ...

Vea http://blogs.msdn.com/b/crm/archive/2011/04/07/jscript-intellisense-for-form-script-libraries.aspx. Soy el autor de esta parte del SDK de CRM. Hice esta solución y la incluí en el SDK. Proporciona JavaScript IntelliSense en función de la estructura y los datos encontrados en un formulario específico. Hay una extensión de Visual Studio y una solución compatible con administración de CRM.

Este tema de CRM SDK presenta la solución: http://msdn.microsoft.com/en-us/library/gg328261.aspx.

Esta solución es un poco diferente de las otras soluciones IntelliSense porque realmente implementa la mayoría de las funciones de Xrm.Page para que pueda obtener IntelliSense Y cierta capacidad para probar su código con una instantánea de un formulario individual que contiene datos. No tiene que cargar sus archivos como recursos web. Primero, puede hacer una comprobación de cordura y evitar la mayor depuración de los recursos web desde dentro de CRM.

Lo que no sirve es proporcionar los nombres de los atributos de formulario individuales a los que podría querer hacer referencia (aunque la instantánea de los datos de página lo proporciona en un formato JSON fácil de leer). Se centra en la sintaxis de la API y los métodos disponibles. Si escribe Xrm.Page.getAttribute ('new_optionset'). solo verá los métodos que son válidos para un atributo de conjunto de opciones. Si bien todos los atributos tienen funciones getValue y setValue, no todos los atributos tienen un método getOptions. No requiere que se agregue ninguna biblioteca adicional a su secuencia de comandos para que funcionen.

Creo que las otras bibliotecas de intellisense son geniales. Gracias a esas personas que los hicieron. La solución que hice tiene un poco más de sobrecarga pero también obtienes una experiencia diferente. Usa el que te funcione.

+0

Creo que me va a encantar. Voy a intentarlo a finales de esta semana. –

Cuestiones relacionadas