2010-02-05 13 views
21

Una propiedad típica de CSS que uso a menudo es overflow-x o overflow-y. A veces uso CSS 2.1 o propiedades o selectores posteriores. Estos (correctamente) provocan un error de validación:¿Cómo suprimir los errores específicos de validación CSS 2.0 en Visual Studio 2008?

Validation (CSS 2.0): 'overflow-y' is not a known CSS property name.

Durante años ignoré esto, pero se siente un poco mal. Es posible desactivar las advertencias en C# y en otros idiomas para una línea, bloque, archivo o proyecto en particular. ¿Es posible algo similar para los errores o advertencias de CSS (o HTML)? En lugar de apagarlo todo, prefiero una solución más granular.

+1

Por desgracia, es todo o nada en VS 2008 ... sí que es una mierda. –

+0

¿No hay algo así como un receptor de eventos, como 'OnReportError' o lo que sea que pueda vincular a través de un complemento creado en casa y luego ignorar solo una lista específica? – Abel

+0

@Nick: me alegro de que finalmente haya demostrado que está equivocado, vea la nueva respuesta de Carl a continuación;) – Abel

Respuesta

14

Si está dispuesto a ensuciar un poco puede obtener exactamente lo que quiere.

  1. Ir a la carpeta de Visual Studio \ Common7 \ Packages \ 1033 \ schemas \ CSS
  2. Copia css21.xml a css21mod.xml
  3. Busque la sección:

    <cssmd:property-def _locID="overflow" ... 
    
  4. Después de eso sección, insertar:

    <cssmd:property-def 
        _locID="overflow-x" _locAttrData="description,syntax" 
        type="enum" 
        description="Visibility of content extending beyond element's dimensions in x" 
        syntax="One of the overflow values | inherit" 
        enum="inherit auto hidden scroll visible"/> 
    
    <cssmd:property-def 
        _locID="overflow-y" _locAttrData="description,syntax" type="enum" 
        description="Visibility of content extending beyond element's dimensions in y" 
        syntax="One of the overflow values | inherit" 
        enum="inherit auto hidden scroll visible"/> 
    
  5. Abrir re gedit, ir a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Packages\{A764E895-518D-11d2-9A89-00C04F79EFC3}\Schemas

    Si en 64 bits, tendrá que ir a SOFTWARE\Wow6432Node\Microsoft etc

  6. Crear una nueva clave llamada Schema 5, y rellenar el "Archivo" y los valores de cadena "nombre" con css21mod.xml y CSS 2.1 (mod)

En caso de estar todo listo!

+1

¡Excelente solución! Espero que sea posible extender la validación de CSS, y esto seguramente muestra cómo hacerlo. ¡Gracias! (PD: no copie/pegue caracteres de pestañas, no funcionan, sustitúyalos por espacios) – Abel

+8

Si solo desea desactivar las advertencias de propiedades no válidas, y siente que no necesita que se le informe si alguna vez escribe uno erróneo, Herramientas-> Opciones-> Editor de texto-> CSS-> Misc> Desmarcar: Detectar propiedades desconocidas - No quería enviar esto como respuesta ya que no me gustaría que reemplazara lo anterior, pero creo que la gente debería saber sobre esta opción. – Dracorat

+0

@Dracorat, de acuerdo, esa es una alternativa viable, gracias. – Abel

3
+0

Gracias, pero esa pregunta está relacionada, pero no es igual a esta: Quiero ignorar advertencias específicas (como lo puede hacer en C# por ejemplo, para advertencias). La desactivación de las advertencias de CSS por completo no es lo que busco (ver la última línea en mi q). – Abel

8

Hola acabo de descubrir esto. En Visual Studio 2010 SP1, se admite la validación de HTML5.

Tools -> Options -> Text Editor -> HTML -> Validation

Ahora personalmente porque odio VS me dice que tienen duplicado de Identificación (Lo cual está muy bien para los controles no servidor) que apagar todas las advertencias y establecer mi validación para XHTML5 (Lo cual es una opción).

Sin embargo, puede ajustar la configuración hasta que esté contento. Lamentablemente, esto no es específico del proyecto y otros miembros del equipo deberán hacer lo mismo.

+0

No tengo la opción para XHTML5. Pero independientemente, las otras opciones no le permiten suprimir los errores específicos de validación de CSS 2.0, solo todos (de cierto tipo) o ninguno. Y muchos tipos no se pueden suprimir en absoluto, solo se encienden o se apagan por completo. – Abel

+0

No estoy seguro de dónde obtuve mi validación XHTML5, pero soluciona problemas con las validaciones de CSS3 para las que he recibido advertencias. Y sí, lamentablemente está encendido o apagado. – Jeremy

+0

Si te sientes cómodo con tus habilidades de xhtml/css, entonces es bastante seguro apagarlas. – Jeremy

-1

Así que esto es lo que me sucedió a mí. Tuve un proyecto exitoso. Hice una copia y comencé a trabajar en algunos cambios de etiquetas. Y comencé a recibir "Validación (CSS 2.0): 'overflow-y' no es un nombre de propiedad CSS conocido".

El error anterior sigue apareciendo incluso después de volver a abrir los proyectos.

Así que volví a mi proyecto original, abrí, comencé a depurar para ver si obtengo ese error también en ese proyecto. El proyecto fue exitoso. Me detuve allí. Llegué a mi nuevo proyecto de lanzamiento de errores, y ahora el error ya no existe.

Algo para pensar sobre lo que causó que desaparezca. Algo en un recuerdo. Puede ser

+1

Para mí, los errores de CSS desaparecen si los archivos relacionados no están abiertos en el editor. Cuando ve los errores y cierra los archivos, los errores de CSS desaparecen. – Abel

2

Del mismo modo como se sugiere Jeremy Child, pero específico para Visual Studio 2008 (como se especifica en la pregunta opriginal):

Tools -> Options -> Text Editor -> CSS -> CSS Specific : uncheck "Detect unknown properties"

Esto elimina toda la validación CSS. Esta es una buena solución si necesita que el problema desaparezca rápidamente (no tengo tiempo/bit perezoso para agregar manualmente cada propiedad en un archivo xml y verifique el registro de Windows ...) y si es bueno en CSS (la validación no es realmente Necesario cuando utiliza intellisense incorporado o estilos que está seguro que funcionan, por ejemplo, tomados de sitios web anteriores que sí.

Cuestiones relacionadas