2009-05-27 10 views
12

qualcuno sa come mappare EJS in Visual Studio per agire come un file HTML. Penso di essere riuscito a farlo ma è molto gonfio. È fondamentalmente un file HTML senza i tag HTML e BODY .. quindi ho selezionato UserControl in VS 2008, strumenti, opzioni, Text Editor, estensione file e aggiunto EJS e aggiunto come usercontrol.Registrazione estensione EJS con visual studio e intellisense?

se scelgo html allora non offre intellisense fino a quando non rileva un HTML e BODY ..

La mia domanda in realtà è che posso aggiungere a questa lista? e crea il mio ?? Ha bisogno di offrire intellisense per html e javascript ma niente di più.

Inoltre, posso creare un qualche tipo di codice per installare EJS automaticamente su un altro PC?

risposta

5

Ciò richiede la creazione di uno schema personalizzato di intellisense e di convalida. Ecco i passaggi su come fare per farlo.

  • Creazione di un file di schema intellisense HTML: Vai alla common7\packages\schemas\html directory dell'installazione di Visual Studio. Sulla mia macchina questo è: C:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\schemas\html
  • Effettuare una copia del file e il nome html_401.xsdEJS.xsd
  • Aprire il file appena nominato EJS.xsd in Visual Studio o qualsiasi altro editor XML
  • apportare le seguenti modifiche al all'inizio del file:
    • Sostituire le 2 occorrenze del testo html-401 con EJS
    • Change vs:ishtmlschema a "false"
    • Change vs:SuccinctFriendlyName a "EJS"
  • voci Add Registro di sistema per questo nuovo schema - È possibile modificare il Registro di sistema direttamente o creare un file di testo *.reg. Se si sceglie, il secondo, un nome al file EJS.reg e aggiungere questo ad esso:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Packages\{1B437D20-F8FE-11D2-A6AE-00104BCC7269}\Schemas\Schema23] 
"File"="html\\ejs.xsd" 
"URI"="http://schemas.microsoft.com/intellisense/EJS" 
"Friendly Name"="EJS" 

Visual Studio 2008 fornito con 22 schemi, questo è il motivo per cui si questo come "schema23", se hai installato un editor di schemi di terze parti, quel nome potrebbe già esistere (controlla quella chiave di registro se vuoi essere sicuro).

Una volta eseguita, riavviare Visual Studio. Associare l'estensione *.ejs con "HTML Editor" invece di "User Control Editor". Ora, quando apri o crei un file con estensione * .js, dovresti vedere il menu a discesa "Schema di destinazione per la convalida" nella barra degli strumenti "Modifica origine HTML". (se non vedi quella barra, vai a Visualizza-> Barre degli strumenti-> Modifica sorgente HTML).

Si noterà che è possibile iniziare a utilizzare i tag HTML senza dover iniziare con il tag <html> come primo. Intellisense funzionerà anche per javascript all'interno di un tag <script>.

Questa non è una soluzione completa, ma si metterà nella giusta direzione per raggiungere il tuo obiettivo finale. Dovrai comunque tornare indietro e modificare il file EJS.xsd e apportare ulteriori modifiche per arrivare a comportarti esattamente come desideri.

Dopo averlo risolto, è possibile creare uno script semplice che copia il file EJS.xsd e crea la chiave di registro in un'altra macchina.

(stampa fine: Eseguire sempre il backup del registro prima di fare scherzi con esso)

+0

Freddo. Non sapevo che fosse possibile. +1 – ichiban

+0

@Mark - questa risposta ti è stata d'aiuto? –

+0

Hey Jose Puoi aiutare lo stesso in Visual Studio 2012. Ho seguito la creazione di Ejs.xsd. lì dopo non c'è sottocartella in Visual Studio \ 9.0. – Kartheek

18

mi è stato anche alla ricerca di una risposta a questa domanda. Ecco cosa ho trovato ...

Source - Visual Studio 2008

Ovviamente Visual Studio non ha supporto per l'.blogtemplate estensione. Per un po 'ho hackerato il mio modo attorno ad esso rinominando i file in con estensione html durante la modifica, che tipo di opere. Il problema principale è che ho sempre dimenticato di cambiare l'estensione posteriore prima di iniziare testare i miei cambiamenti - quindi questo è stato causando dolore inutile ... Ho avuto un vaga memoria di configurare qualcosa di simile prima e trovato questi Istruzioni. Per motivi di completezza di , li includo anche qui:

  1. Passare al menu Strumenti-> Opzioni.
  2. Seleziona editor di testo -> Estensione file dall'albero nella parte sinistra della finestra di dialogo Opzioni .
  3. Digitare l'estensione del file, .blogtemplate nel mio caso, nella casella di testo Estensione .
  4. Selezionare l'editor appropriato dal menu a discesa Editor.
  5. Fare clic su Aggiungi, quindi su OK per chiudere la finestra di dialogo e riaprire i file.
19

Per quello che vale, a questo punto ...

Le soluzioni di cui sopra sono ancora valide. Tuttavia una soluzione più semplice (che ho testato solo in VS 2013), è fare clic con il pulsante destro del mouse su un determinato file * .ejs e selezionare "Apri con". Nella finestra di dialogo che si apre, seleziona "Editor HTML (Web Form)" e selezionalo come predefinito.

Ora, quando aprite i file EJS, otterrete l'evidenziazione della sintassi e l'intellisense per il vostro codice HTML. Questo non ti dà supporto per frammenti di codice EJS.

+1

Questa è la risposta corretta per qualsiasi definizione. –

+0

Corretto come il cielo è blu! –

Problemi correlati