2016-03-24 14 views
22

Nella pagina UserVoice del codice VS, there was a request aggiungere suggerimenti ed evidenziazione per entità HTML come &. Microsoft lo ha contrassegnato come completo con un commento in cui si afferma "Questa funzionalità è stata implementata in Visual Studio 2013 per documenti HTML e Razor." Presumo che ciò significa che è stato implementato in VS 2013, ma non VS Code.Come posso abilitare l'evidenziazione dell'entità HTML in VS Code?

Supponendo che sia corretto, come posso aggiungere l'evidenziazione per questi elementi all'interno dei documenti HTML? Sembrano evidenziare correttamente all'interno dei documenti XML. Guardando le sintassi/html.plist, sembra che dovrebbe catturare le entità HTML, quindi assumerei che il tema le colorerebbe in modo appropriato, ma non capisco davvero come funzioni sul backend.

Le mie domande sono:

  1. Dovrebbe Codice VS essere evidenziando queste macchine?

  2. In caso contrario, posso modificare il file di sintassi HTML o il file del tema per farlo funzionare? Se sì, come lo farei?

Ecco html.plist (che è il default, in quanto installato):

<key>entities</key> 
     <dict> 
      <key>patterns</key> 
      <array> 
       <dict> 
        <key>captures</key> 
        <dict> 
         <key>1</key> 
         <dict> 
          <key>name</key> 
          <string>punctuation.definition.entity.html</string> 
         </dict> 
         <key>3</key> 
         <dict> 
          <key>name</key> 
          <string>punctuation.definition.entity.html</string> 
         </dict> 
        </dict> 
        <key>match</key> 
        <string>(&amp;)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)</string> 
        <key>name</key> 
        <string>constant.character.entity.html</string> 
       </dict> 
       <dict> 
        <key>match</key> 
        <string>&amp;</string> 
        <key>name</key> 
        <string>invalid.illegal.bad-ampersand.html</string> 
       </dict> 

--- EDIT ---

Ecco alcuni screenshot di chiarire cosa intendo (sia preso con lo stesso tema):

xml doc with highlighting

html without highlighting

XML.plist sembra molto simile a HTML.plist quando si tratta di queste entità, ma non aggiungerò XML.plist a questa domanda già lunga, a meno che qualcuno non disponga della propria copia e me lo chieda.

risposta

0

Si tratta di una richiesta di funzionalità per il Codice VS: https://github.com/Microsoft/vscode/issues/784

Risposte alle domande:

  1. Sì.
  2. È possibile inviare una richiesta di pull al progetto, a beneficio di tutti gli altri! Il codice che si desidera modificare è here e here's how you can contribute.
+0

Quindi sembra che attualmente * non * evidenzia le entità. Se avete qualche indicazione su come specificamente il codice dovrebbe essere modificato, potrei inviare una richiesta di pull, ma questo è ciò che intendevo con la mia seconda domanda. Non sono né un guru XML né un guru RegEx, quindi aggiustare questo plist è al di fuori della mia timoneria. – thunderblaster

+0

Perché non farlo nella tua timoneria? Sicuramente non hai bisogno di essere un esperto. Basta provare e pubblicare i tuoi risultati/problemi nel problema github. –

1

si può fare utilizzando le estensioni

È possibile aggiungere nuovi file del tema TextMate (.tmTheme) per l'installazione di codice VS utilizzando generatore di estensione Yeoman di VS Codice, yo codice. Il generatore di estensioni prende un file di temi TextMate esistente e lo impacchetta per l'uso in VS Code.

ColorSublime ha centinaia di temi TextMate esistenti tra cui scegliere. Scegli un tema che ti piace e copia il link Download da utilizzare nel generatore Yeoman. Sarà in un formato come "http://colorsublime.com/theme/download/(number)". Il generatore di 'codice' ti chiederà l'URL o il percorso del file .tmTheme, il nome del tema e altre informazioni relative al tema.

Copia la cartella del tema generato in una nuova cartella sotto la tua cartella .vscode/extensions e riavvia VS Code.

Apri il tema di selezione Tema colore con File> Preferenze> Tema colore e puoi vedere il tema nel menu a discesa. Freccia su e giù per vedere un'anteprima dal vivo del tuo tema.

È possibile creare un tema te troppo

È inoltre possibile creare i propri temi TextMate da zero. Consultare il tema TextMate e la documentazione delle convenzioni di denominazione della grammatica della lingua per i dettagli.

Oltre alle normali ambiti di TextMate lingua grammatica, codice VS ha anche impostazioni del tema personalizzato che è possibile utilizzare per ottimizzare il tuo tema:

rangeHighlight: colore di sfondo del campo evidenziato, come da Quick caratteristiche aperti e Trova.

selectionHighlight: Colore di sfondo delle regioni evidenziate durante la selezione.

inactiveSelection: Colore di sfondo delle selezioni quando non a fuoco.

wordHighlight: Colore di sfondo di un simbolo durante l'accesso in lettura, come la lettura di una variabile.

wordHighlightStrong: Colore di sfondo di un simbolo durante l'accesso in scrittura, come la scrittura su una variabile.

findMatchHighlight: colore di sfondo delle regioni corrispondenti alla ricerca. currentFindMatchHighlight: colore di sfondo della regione corrente che corrisponde alla ricerca.

findRangeHighlight: Colore di sfondo delle regioni selezionate per la ricerca.

linkForeground: Colore dei collegamenti.

activeLinkForeground: Colore dei collegamenti attivi.

hoverHighlight: Colore di sfondo quando si libra.

referenceHighlight: Colore di sfondo di un riferimento quando si trovano tutti i riferimenti.

guide: colore delle guide visualizzate per indicare i livelli di annidamento.

Qui è possibile trovare un esempio di tema VS Code che include le impostazioni personalizzate.

L'authoring di un tema è abbastanza complicato in quanto le grammatiche si comportano in modo un po 'diverso. Cerca di seguire le convenzioni di TextMate ed evitare le regole specifiche della lingua nel tuo tema in quanto le grammatiche possono anche essere sostituite da estensioni.

Problemi correlati