2008-09-14 13 views
10

He encontrado marcadores de sintaxis que resaltan código preexistente, pero me gustaría hacerlo mientras escribes con un editor de estilo WYSIWYG. No necesito funciones autocompletadas, solo el resaltado.¿Hay marcadores de sintaxis en vivo de JavaScript?

Como pregunta de seguimiento, ¿cuál es el editor WYSIWYG que usa stackoverflow?

Edit: Gracias a la respuesta a continuación, he encontrado dos que parece que van a satisfacer mis necesidades: EditArea y CodePress

EDIT: Ver esta pregunta también:
https://stackoverflow.com/questions/379185/free-syntax-highlighting-editor-control-in-javascript

Respuesta

7

Aquí es un artículo muy interesante acerca de cómo escribir una: (Aún mejor, le da la fuente completa a un formateador de JavaScript y colorizer.)

Implementing a syntax-higlighting JavaScript editor in JavaScript o Una odisea brutal al lado oscuro de la DOM tree

¿Cómo se hace una sintaxis decente highlighting? Un escaneo muy simple puede distinguir entre cadenas, comentarios, palabras clave y otros códigos . Pero esta vez quería ser capaz de reconocer las expresiones regulares , por lo que ya no tenía comportamiento incorrecto flagrante.

Es importante saber que maneja la expresión regular correctamente. También resulta interesante que utilizó un lector/analizador de estilo de paso de continuación en lugar de los lexers basados ​​en lex (o regex) más típicos que verás en la naturaleza.

Como beneficio adicional, él analiza un montón de problemas del mundo real que se encontrará al trabajar con JavaScript en el navegador.

+0

Sus ejemplos no eran lo que estaba buscando, pero tenía dos enlaces al final de la página que encontré útiles. Gracias. –

3

Ver Google code pretify.

Consulte esta pregunta para los usos edit control that stackoverflow.

+0

Gracias por el enlace en el control de edición que Stackoverflow usos. Pretify se ve bien, pero no era exactamente lo que quise decir al destacar en vivo. TinyMCE y algunos otros editores WYSIWYG muestran cómo se vería tu página mientras escribes en el área de texto ... Estoy buscando una que haga lo mismo para el código. –

0

También puede intentar http://softwaremaniacs.org/soft/highlight/en/ - es rápido, admite no solo javascript sino muchos otros lenguajes. Y si necesita una vista previa en vivo de cómo funcionará el resaltado, puede usar setInterval para ejecutar el resaltado y mostrarlo en un cuadro separado.

0

Aunque tiene una curva de aprendizaje pronunciada, Vim es el mejor editor disponible, para cualquier idioma. Tiene una versión de GUI, pero realmente brilla en la edición de terminales. El tiempo dedicado a aprender a usar este editor no es una pérdida de tiempo. Tiene resaltado de sintaxis, como lo está buscando, así como miles (literalmente) de otras características y complementos.

12

La pregunta podría formularse mejor como "¿Qué editor de resaltado de sintaxis recomienda reemplazar un área de texto html en mi aplicación web?" (Algunas de las otras respuestas aquí tratan con aplicaciones de escritorio o marcadores de sintaxis pura, no editores del lado del cliente)

También recomiendo CodeMirror, está escrito en Javascript y es compatible con muchos navegadores. Utiliza un analizador real (en lugar de expresiones regulares) por lo que puede tratar problemas complejos como resaltar correctamente las cadenas escapadas. El desarrollador también es muy receptivo en el discussion group.

+0

CodeMirror se ve absolutamente increíble. No puedo esperar para implementarlo en mis sitios. – pestaa

+0

esto es increíble – Glycerine

0

Tengo que ir con Bespin por Mozilla. Está construido con características HTML5 (por lo que es rápido y rápido, pero no admite navegadores heredados), pero definitivamente increíble de usar y supera todo lo que he encontrado, probablemente porque es Mozilla que lo respalda, y desarrollan Firefox así que sí. .. También hay un jQuery Plugin which contains a extension for it para que sea un poco más fácil de usar con jQuery.