2013-03-12 17 views
6

Używam Visual Studio 2012 z wtyczką maszynopisu i web essentials 2012. Jeśli dodasz nowy plik maszynopisu, klikając prawym przyciskiem myszy eksplorator rozwiązań> Dodaj nowy element> wybierając plik maszynopisu ... np. Plik1.ts Program Visual Studio generuje również plik1.js i plik1.min.js. W eksploratorze rozwiązań wyglądają one zgrabnie w katalogu głównym pliku file1.ts. Jeśli zrobisz "Dodaj istniejący element", np. Plik2.ts, nie uzyskasz tak ładnie wyglądającego wyglądu, w którym wygenerowany plik2.js pojawia się pod nazwą file2.ts.Przeglądarka rozwiązań maszynopisu i plików javascript wyjściowych

Dlaczego tak jest? i jakie ustawienie należy zmienić, aby studio wizualne sprawiło, że wszystkie wygenerowane pliki js pojawiały się pod katalogiem głównym ts.

Mam nadzieję, że mam sens.

btw to zawsze miało miejsce kiedykolwiek od czasu wydania pluginu pierwszy maszynopis dzięki kashim

Odpowiedz

8

Aby uzyskać pożądany efekt, trzeba włamać się w pliku projektu. Zauważysz, że prawidłowo zagnieżdżone pliki wyglądać następująco:

<Content Include="app.js"> 
    <DependentUpon>app.ts</DependentUpon> 
</Content> 
<Content Include="app.min.js"> 
    <DependentUpon>app.ts</DependentUpon> 
</Content> 

Podczas gdy prawdopodobnie obecnie Content elementy dla każdego pliku bez elementu DependentUpon wewnątrz.

Zmiana pliku projektu zgodnego z tym przykładem spowoduje zagnieżdżenie elementów dla ciebie.

+0

dzięki. to się udało. – user2018413

+0

@ user2018413 Możesz także po prostu skasować pliki 'js' i' map', a następnie przekompilować - powinny ponownie pojawić się poprawnie. – JcFx

+0

@JcFx Dzięki, ale to nie zadziałało. Stworzyłem prosty projekt maszynopisu i dodałem istniejący plik maszynopisu (bardzo prosty) z innego projektu. Upewniłem się, że właściwość pliku maszynowego "BuildAction" to "TypeScriptCompile".Przebudowany wygenerował plik javascript, ale w eksploratorze rozwiązań nie było zagnieżdżonego widoku. Po rozładowaniu projektu i sprawdzeniu pliku projektu widzę, że element nie został wygenerowany. dzięki w każdy sposób. pozdrowienia kashim – user2018413

3

Istnieje niewielka wtyczka VS o nazwie NestIn, która wykonuje lewę bez bezpośredniej edycji pliku projektu (https://visualstudiogallery.msdn.microsoft.com/9d6ef0ce-2bef-4a82-9a84-7718caa5bb45). Bez ustawień, bez konfiguracji, wystarczy kliknąć prawym przyciskiem myszy na dwa pliki + i zagnieździć je. Jedyne, czego potrzebujesz, to określić, który to jest katalog główny. Oczywiście możesz też zagnieżdżać zagnieżdżone pliki, jeśli sobie tego życzysz.

Kolejny, Mads Kristensen, pliku Zagnieżdżanie, działa tylko dla Visual Studio 2013 & 2015. Tak więc, jeśli masz zamiar dokonać aktualizacji do wyższej wersji VS można spróbować też.

+0

Dziękujemy za namiot w rozszerzeniu ** File Nesting ** - duża pomoc. – pettys

0

Oto mały regeks, który wykonuje tę pracę!

zwolnić projektu w Solution Explorer, kliknij prawym przyciskiem myszy i wybierz "Edit"

W pliku, uruchomić wyszukiwanie & Wymienić (Ctrl - H) z RegEx (symbol gwiazdki enable) i zastąpić:

<Content Include="(.*)\\([^\\]*).js" />

z

<Content Include="$1\$2.js"><DependentUpon>$2.ts</DependentUpon></Content>

Teraz zapisz plik i ponownie załaduj projekt.

Powiązane problemy