visual texto studio programacion lista funciones etiquetas ejecutar code atributos html syntax-highlighting color-coding

texto - funciones de html



Color(resaltado de sintaxis) dentro de una etiqueta<code> HTML (3)

En un fragmento de código como el siguiente ...

class Foo { internal Foo() { for (int i = 0; i < 42; ++i); } }

... sus diversas palabras clave, etc., están codificadas por colores cuando se muestran en mis navegadores.

Cuando hago "Ver código fuente", no veo nada especial en el HTML que pueda implementar este código de color.

¿Cómo y / o dónde se implementa este resaltado de color específico de sintaxis, entonces? Por ejemplo, ¿está integrado en los navegadores o se implementa mediante JavaScript específico del sitio que edita el DOM dentro de los navegadores?

Me parece una pregunta difícil para Google.


Es una biblioteca de Javascript. Hay bastantes por ahí, el más popular es SyntaxHighlighter . Sin embargo, mi favorito personal es el Chili .


Hay un excelente FAQ ¿Qué es el resaltado de sintaxis y cómo funciona? más en meta.SE.

Lo cito completamente aquí para su conveniencia, pero es posible que desee revisar la publicación original para obtener actualizaciones de la lista de idiomas admitidos.

¿Qué es el resaltado de sintaxis?

El resaltado de sintaxis permite resaltar el código de las publicaciones según el idioma en el que está escrito, para que sea más fácil de leer.

¿Como funciona?

Stack Exchange no tiene su propio motor de resaltado de sintaxis. Utiliza Google Code Prettify . Por lo tanto, todos los errores y solicitudes de características relacionadas con el resaltado de sintaxis no pueden ser manejados por Stack Exchange y deben dirigirse al equipo detrás de Google Code Prettify.

El resaltado de sintaxis se asigna a la vista previa al crear o editar publicaciones tan pronto como deja de escribir durante 5 segundos.

Prettify admite una lista de los lenguajes principales que puede resaltar (incluidos C / C ++, C #, Java, JavaScript / CoffeScript, Perl, Python, Ruby, Regex, Bash, HTML, XML), junto con un resaltador genérico predeterminado que funciona de manera pasable La mayoría de los lenguajes similares a C y los lenguajes de marcado HTML. Los lenguajes adicionales se implementan como extensions (cada archivo lang-*.js ).

¿Por qué mi código no está resaltado correctamente?

Si su publicación no tiene el resaltado correcto, es posible que no sea compatible. Por favor, mire la lista de idiomas compatibles con Prettify . Si su idioma no está en la lista, debe crearse dentro del proyecto Prettify antes de que pueda ser implementado por Stack Exchange.

Si un idioma que podría aplicarse a una etiqueta ya está en la lista pero no se usa en Stack Exchange, envíe una solicitud de función aquí en Meta para implementarla en la red.

¿Cómo informo un error o solicito un nuevo idioma?

Si es realmente un error en el resaltador de sintaxis, revise la lista de problemas para ver si ya se ha informado. Si no lo ha hecho, no dude en informarlo o únase al proyecto y envíe una solución usted mismo. Si desea asegurarse de que un problema que haya planteado se solucione rápidamente, es mejor incluir la corrección en el informe. Si la solución ya ha sido implementada por Prettify pero aún no funciona aquí, presente una solicitud de función en Meta para solicitar que se implemente una nueva versión de Prettify.

También puede enviar una solicitud para agregar un nuevo idioma en la misma lista de problemas . Tenga en cuenta que Stack Exchange no mantiene este resaltador de sintaxis, y la publicación de informes de errores o solicitudes de características relacionadas con esto aquí en Meta no los solucionará ni implementará.

Antes de hacer algo, asegúrese de tener activado el resaltado correcto.

¿Cómo determina el idioma para el resaltado de sintaxis?

Detrás de escena, Stack Exchanges usa las etiquetas en la pregunta para deducir el idioma que está usando. Si hay más de una etiqueta que tiene resaltado de sintaxis, utiliza un valor predeterminado y permite a Prettify deducir cuál es el mejor idioma para usar.

Si tienes curiosidad por saber si una etiqueta tiene una sugerencia de idioma, cualquier usuario puede verificarla visitando la página wiki de esa etiqueta. La sugerencia de idioma (si existe) que se está utilizando actualmente para esa etiqueta se mostrará en la parte inferior, debajo de los botones de la wiki:

Es posible anular explícitamente el resaltado en uso con su idioma de elección especificando una sugerencia de idioma sobre el bloque de código:

<!-- language: lang-or-tag-here --> code goes here

Puede usar un código de idioma o un nombre de etiqueta en la sugerencia de idioma para activar el resaltado de sintaxis. Vea a continuación la lista completa de códigos de idioma compatibles de prettify.

Por ejemplo:

Here is a code block with language code as hint: <!-- language: lang-js --> function greet(person) { return "Hello " + person; } var user = "John Doe"; alert(greet(user)); Here is a code block with tag name as hint: <!-- language: typescript --> var arr = [0, 1, 2];

Si no quiere tener ningún resaltado de sintaxis, puede usar el lang-none :

<!-- language: lang-none -->

También puede aplicar una sugerencia de idioma a todos los bloques de código en su publicación (para que no tenga que agregar una sugerencia antes de cada uno):

<!-- language-all: lang-or-tag-here -->

Indicación: Códigos de idioma

Esta es una lista completa de cada identificador que puede usar en la sugerencia de idioma para el resaltado de sintaxis.

Núcleo:

  • Predeterminado: permite a Prettify interpretar el código y adivinar.
    default
  • Ninguno: explícitamente no utilice ningún resaltado de sintaxis
    lang-none
  • Bash y otros scripts de shell
    lang-bash , lang-bsh , lang-csh , lang-sh
  • C, C ++, Objective-C, et al.
    lang-c , lang-cc , lang-cpp , lang-cxx , lang-cyc , lang-m
  • DO#
    lang-cs
  • CoffeeScript
    lang-coffee
  • HTML, XML, XSL, et al.
    lang-html , lang-xml , lang-xsl
  • Java
    lang-java
  • JavaScript
    lang-js , lang-javascript
  • JSON
    lang-json
  • Perl
    lang-pl , lang-perl
  • Pitón
    lang-py , lang-python , lang-cv
  • Regex
    lang-regex
  • Rubí
    lang-rb , lang-ruby
  • Moho
    lang-rc , lang-rs , lang-rust

Extensiones:

Sugerencias: Etiquetas

Puede especificar cualquier etiqueta que exista en el sitio, y usará el código de idioma asociado actualmente con esa etiqueta (que puede ser nulo (sin sugerencia), predeterminado o un código de idioma específico ).

Tenga en cuenta que, de forma predeterminada, todas las etiquetas comienzan con none como su código de idioma. Las etiquetas sin none especificada como su código de idioma se ignorarán y volverán a la default .

También puede usar la palabra clave plain none para no especificar manualmente el resaltado de sintaxis, de forma similar al uso del código lang-none anterior.

Nota a los editores:

No agregue a la lista anterior a menos que esté 100% seguro de que existe. El hecho de que escriba algo y parezca que está resaltado correctamente no significa que el identificador realmente exista en el sistema. Tenga en cuenta que los identificadores no válidos vuelven a los valores predeterminados . Enlace a la pregunta Meta que confirma la existencia de una sugerencia en su resumen de edición al agregar una nueva sugerencia a la lista.

Nota a los comentaristas:

Los comentarios en estas preguntas frecuentes son para solicitar una aclaración de algo que tal vez no entienda en las preguntas frecuentes para que se pueda corregir. Por favor NO pregunte si ciertos idiomas serán soportados en el futuro. Esa no es una pregunta que podamos responder porque Stack Exchange no mantiene este resaltador. Visite Google Code Prettify para soporte de idiomas.


utiliza la biblioteca JS de Prectify de Google para hacer resaltado de sintaxis. Se ejecuta en el lado del cliente una vez que el servidor ha entregado el código HTML. Es por eso que no lo ves en la fuente HTML en bruto. Si tienes un complemento de navegador como FireBug , podrás inspeccionar el DOM una vez que Bella haya hecho su magia.