2010-02-05 10 views
21

Una tipica proprietà CSS che uso spesso è overflow-x o overflow-y. A volte uso proprietà o selettori CSS 2.1 o successivi. Questi (correttamente) sollevano un errore di convalida:Come sopprimere specifici errori di convalida CSS 2.0 in Visual Studio 2008?

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

Per anni ho ignorato questo, ma è un po 'sbagliato. È possibile disattivare gli avvisi in C# e altre lingue per una particolare linea, blocco, file o progetto. Qualcosa di simile è possibile per errori o avvertenze CSS (o HTML)? Invece di spegnere tutto, preferisco una soluzione più granulare.

+1

Purtroppo è tutto o niente in VS 2008 ... sì, fa davvero schifo. –

+0

Non c'è qualcosa di simile a un sink di evento, come "OnReportError" o qualsiasi altra cosa che potrei associare a un componente aggiuntivo interno e quindi ignorare solo un elenco specifico? – Abel

+0

@Nick: contento che tu sia stato finalmente smentito, vedi nuova risposta di Carl qui sotto;) – Abel

risposta

14

Se sei disposto a perdere un po ', puoi ottenere esattamente quello che vuoi.

  1. Vai alla cartella di Visual Studio \ Common7 \ Packages \ 1033 \ schemas \ CSS
  2. Copia css21.xml a css21mod.xml
  3. Trova la sezione:

    <cssmd:property-def _locID="overflow" ... 
    
  4. Dopo di che sezione, inserire:

    <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. Aperto ora gedit, andare a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Packages\{A764E895-518D-11d2-9A89-00C04F79EFC3}\Schemas

    Se a 64 bit, si dovrà andare a SOFTWARE\Wow6432Node\Microsoft ecc

  6. creare una nuova chiave denominata Schema 5, e compilare il "File" e valori di stringa "amichevole Nome" con css21mod.xml e CSS 2.1 (mod)

Dovrebbe essere tutto a posto!

+1

Ottima soluzione! Speravo che fosse possibile estendere la convalida CSS, e questo sicuramente mostra come. Grazie! (PS: non copiare/incollare caratteri di tabulazione, non funzionano, sostituirli con spazi) – Abel

+8

Se desideri solo disattivare gli avvisi di proprietà non validi e ti senti come se non avessi bisogno di essere informato se mai si digita in uno sbagliato, Strumenti-> Opzioni-> Editor di testo-> CSS-> Varie-> Deseleziona: Rileva proprietà sconosciute - Non volevo inviare questo come una risposta in quanto non vorrei mai che sostituisse quanto sopra, ma credo che la gente dovrebbe sapere di questa opzione. – Dracorat

+0

@Dracorat, d'accordo, questa è un'alternativa valida, grazie. – Abel

8

Hi Ho appena scoperto questo. In Visual Studio 2010 SP1 è disponibile il supporto per la convalida HTML5.

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

Ora personalmente perché odio VS dirmi che sono duplicati di ID (che va bene per i controlli non del server) I spegnere tutti gli avvisi e impostare la mia convalida per XHTML5 (che è un'opzione).

È comunque possibile modificare le impostazioni fino a quando il contenuto del tuo cuore. Purtroppo questo non è specifico del progetto e gli altri membri del team dovranno fare lo stesso.

+0

Non ho l'opzione per XHTML5. Ma a prescindere, le altre opzioni non consentono di sopprimere specifici errori di convalida CSS 2.0, solo tutti (di un certo tipo) o nessuno. E molti tipi non possono essere soppressi, solo accesi o spenti completamente. – Abel

+0

Non sono sicuro di dove ho ottenuto la convalida XHTML5, ma risolve i problemi con le convalide CSS3 per le quali ho ricevuto avvisi. E sì, purtroppo è acceso o spento. – Jeremy

+0

Se hai dimestichezza con le tue abilità xhtml/css, è abbastanza sicuro disattivarle. – Jeremy

-1

Quindi questo è quello che è successo a me. Ho avuto un progetto di successo. Ho fatto una copia e ho iniziato a lavorare su alcune modifiche alle etichette. E ho iniziato a ricevere "Convalida (CSS 2.0): 'overflow-y' non è un nome di proprietà CSS noto."

L'errore precedente continuava a comparire anche dopo la riapertura dei progetti.

Così sono tornato al mio progetto originale, aperto, avviato il debug per vedere se ottengo anche quell'errore in quel progetto. Il progetto con successo. Ci siamo fermati. È venuto il mio nuovo errore a lanciare il progetto, e ora l'errore non c'è più.

Qualcosa da pensare a cosa l'ha causato andare via. Qualcosa in un ricordo. Può essere

+1

Per me, gli errori CSS vanno via se i file correlati non sono aperti nell'editor. Quando vedi gli errori e chiudi i file, gli errori CSS scompaiono. – Abel

2

Allo stesso modo come suggerito Jeremy Child, ma specifica per Visual Studio 2008 (come specificato nella domanda opriginal):

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

Questo rimuove tutte le convalida CSS. Questa è una buona soluzione se hai bisogno che il problema scompaia velocemente (non ho tempo/bit pigro per aggiungere manualmente ogni proprietà in un file xml e controllare il registro di Windows ...) e se sei bravo in CSS (validazione non proprio necessario quando si utilizzano intellisense integrati o stili che si è sicuri di lavorare, presi dai siti Web precedenti che hai fatto-).

Problemi correlati