2009-05-27 18 views
12

Czy ktoś wie, jak mogę mapować EJS do wizualnego studio, aby działać jak plik HTML. Wydaje mi się, że udało mi się to zrobić, ale dostałem dużo do niego. Jest to w zasadzie plik HTML bez tagów HTML i BODY .. więc wybrałem UserControl w VS 2008, narzędzia, opcje, edytor tekstu, rozszerzenie pliku i dodano EJS i dodano jako kontrolę użytkownika.Rejestracja rozszerzenia EJS w Visual Studio i intellisense?

jeśli wybiorę html następnie nie oferuje intellisense aż wykrywa HTML i ciało ..

Moje pytanie jest naprawdę mogę dodać do tej listy? i tworzyć własne? Musi oferować intellisense dla html i javascript, ale nic więcej.

Czy mogę też utworzyć jakiś kod, aby automatycznie zainstalować EJS na innym komputerze?

Odpowiedz

5

Wymaga to utworzenia niestandardowego schematu intellisense i sprawdzania poprawności. Oto kroki, jak to zrobić.

  • Tworzenie HTML plik schematu intellisense: Przejdź do katalogu instalacji Visual Studio common7\packages\schemas\html. Na moim komputerze to: C:\Program Files\Microsoft Visual Studio 9.0\Common7\Packages\schemas\html
  • Zrób kopię pliku html_401.xsd i nazwać to EJS.xsd
  • Otwórz plik po prostu nazwany EJS.xsd w Visual Studio lub innego edytora XML
  • wprowadzić następujące zmiany do top pliku:
    • Wymień 2 wystąpienia tekstu html-401 z EJS
    • Zmień vs:ishtmlschema do "false"
    • Zmień vs:SuccinctFriendlyName do "EJS"
  • dodawania wpisów rejestru dla tego nowego schematu - można edytować rejestr bezpośrednio lub utworzyć plik tekstowy *.reg. Jeśli zdecydujesz, ten ostatni, nazwij plik EJS.reg i dodać do niego:

systemu 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 statki z 22 schematów, to jest powód dlaczego to jako "schema23", jeśli zainstalowałeś edytor schematów innej firmy, ta nazwa może już istnieć (sprawdź klucz rejestru, jeśli chcesz mieć pewność).

Po wykonaniu tej czynności uruchom ponownie program Visual Studio. Powiąż rozszerzenie *.ejs z "edytorem HTML" zamiast "edytorem kontroli użytkownika". Teraz, gdy otworzysz lub utworzysz plik z rozszerzeniem * .ejs, powinieneś zobaczyć menu rozwijane "Docelowy schemat sprawdzania poprawności" na pasku narzędzi "Edycja źródła HTML". (jeśli nie widzisz tego paska narzędzi, przejdź do Widok-> Paski narzędzi-> Edycja źródła HTML).

Zauważysz, że możesz zacząć używać znaczników HTML bez konieczności zaczynania od znacznika <html> jako pierwszego. Intellisense będzie również działał dla javascript wewnątrz znacznika <script>.

To nie jest kompletne rozwiązanie, ale postawi w dobrym kierunku, aby osiągnąć swój cel końcowy. Nadal będziesz musiał wrócić i ulepszyć plik EJS.xsd i wprowadzić więcej modyfikacji, aby zachować się dokładnie tak, jak chcesz.

Po zakończeniu sortowania można utworzyć prosty skrypt, który skopiuje plik EJS.xsd i utworzy klucz rejestru na innym komputerze.

(drobnym drukiem: Zawsze kopię zapasową rejestru przed aprowizacji z nim)

+0

Cool. Nie wiedziałem, że to nawet możliwe. +1 – ichiban

+0

@ Mark - czy ta odpowiedź ci pomogła? –

+0

Hej Jose Czy możesz pomóc to samo w Visual studio 2012. Kontynuowałem tworzenie Ejs.xsd. po tym, jak nie ma podfolderu w Visual Studio \ 9.0. – Kartheek

18

Byłem też szukając odpowiedzi na to pytanie. Oto co znalazłem ...

Source - Visual Studio 2008

Oczywiście Visual Studio nie posiada poparcie dla .blogtemplate przedłużenia. Przez jakiś czas zhakowałem się w ten sposób, zmieniając nazwę na , zmieniając nazwy plików na posiadające rozszerzenie html podczas edycji, , który rodzaj działa. Głównym problemem jest to, że Ciągle zapominam zmienić rozszerzenie z powrotem zanim zacznę testowania moje zmiany - tak to było spowodowanie niepotrzebnego bólu ... miałem mgliste wspomnienie konfigurowania coś jak to wcześniej i znaleźć te instrukcje. Ze względu na kompletność dołączam je również tutaj:

  1. Przejdź do menu Narzędzia-> Opcje.
  2. Wybierz Edytor tekstu -> Rozszerzenie pliku z drzewa w lewej części okna dialogowego Opcje .
  3. Wpisz rozszerzenie pliku, .blogtemplate w moim przypadku, w polu tekstowym Rozszerzenie .
  4. Wybierz odpowiedni edytor z rozwijanego menu Edytor.
  5. Kliknij Dodaj, a następnie Ok, aby zamknąć okno dialogowe i ponownie otworzyć pliki.
19

Na co warto w tym momencie ...

powyższych rozwiązań są nadal ważne. Jednak prostszym rozwiązaniem (które testowałem tylko w VS 2013), jest kliknięcie prawym przyciskiem myszy danego pliku * .ejs i wybranie "Otwórz za pomocą". W otwartym oknie dialogowym wybierz "Edytor HTML (Web Forms)" i wybierz go jako domyślny.

Teraz po otwarciu plików EJS uzyskasz podświetlanie składni i intellisense dla kodu HTML. To nie zapewnia obsługi fragmentów kodu EJS.

+1

Jest to poprawna odpowiedź według dowolnej definicji. –

+0

Poprawnie, jak niebo jest niebieskie! –

Powiązane problemy