2013-06-06 14 views
5

Moja sytuacja:
Więc dekompilowana zestawu .NET z ILSpy w C# w ubiegłym tygodniu; od tego czasu włożyłem mnóstwo pracy w masowanie plików/projektów itp., aby wszystkie znowu działały poprawnie (było wiele drobnych błędów [głównie spowodowane przez proces generowania kodu ILSpy] i przypadkowych problemów, a ja " naprawiam je, kiedy idę). Jestem teraz cale od mojego celu, z metą w zasięgu wzroku!wkładając XML Komentarze na drzewie C# plików źródłowych z automatycznie generowane [Zgromadzenie] .xml pliki

Ale, oto i oto: po prostu zdałem sobie sprawę, że brakuje wszystkich komentarzy XML. >. <

Zrobiłem trochę szorowania i udało mi się znaleźć plik intelli-sense .xml, z wszystkimi komentarzami wygenerowanymi przez Visual Studio.

co chciałbym, aby osiągnąć:
chciałbym skopiować te komentarze z wygenerowanego pliku .xml Intelli-zmysł Powrót do plików źródłowych (w sposób zautomatyzowany, oczywiście, jak istnieje około 5000 klas w tym Zgromadzeniu).

Moje pytanie:
Jak mam postąpić? Czy są jakieś narzędzia, które mogą mi pomóc w automatyzacji tego zadania?

+1

Możesz to zrobić z parserem C#. W zależności od poziomu C# (2, 3, 4, 5), możesz wybrać gramatykę ANTLR na przykład. Możesz także wypróbować Microsoft Roslyn, ale nie jest to funkcja kompletna. –

+0

Tak, miałem nadzieję, że nie będę musiał polegać na pisaniu własnej aplikacji; musi istnieć coś, co ktoś już zbudował - nie mogę być pierwszą osobą, która napotka na ten problem. : -/ – BrainSlugs83

Odpowiedz

1

Można użyć CTP Roslyn dla C#, aby utworzyć narzędzie, które ponownie wstawi komentarze do plików źródłowych. (http://msdn.microsoft.com/en-us/vstudio/roslyn.aspx) Roslyn tworzy podobną do drzewa strukturę twojego kodu C#, którą możesz manipulować programowo, a następnie zapisywać z powrotem do pliku.

+0

To naprawdę fajne. Być może będę musiał zaglądać w to! Chociaż domyślam się, że formatowanie już minęło, a także prawdopodobnie istniejące komentarze, nie? To by nie stanowiło opcji. Ale wciąż bardzo fajne, nowe i błyszczące! :RE – BrainSlugs83

1

Ponieważ pliki kodu są generowane przy użyciu narzędzia (ILSpy), styl kodu i formatowanie (białe znaki i wcięcia) będą takie same dla prawie każdego pliku kodu. Co chciałbym zrobić to

  1. sprawdzić, czy decompiling tej biblioteki 5000+ klasy jest niezgodne z prawem,
  2. napisać prosty parser do analizowania plików kodu i znaleźć definicji klas/metody/nieruchomość
  3. sprawdzić czy co Znalazłem dopasowania z tym, co jest w xml
  4. Jeśli wszystko jest w porządku, to skopiowałabym znalezione tagi xml do ich nowej pozycji w plikach kodowych, ponieważ teraz znam pozycje definicji w pliku.

PS: wystarczy przypomnienie, aby ułatwić zastępowanie/wstawianie ciągów, zawsze wstawiaj z dolnej części pliku do górnej części pliku. w ten sposób za każdym razem, gdy wstawisz linię, indeksy innych linii, które mają być wstawione, pozostaną takie same.

+0

Niestety, pliki nie mają tego samego formatu - znowu - zostało zrobione masowanie - niektóre pliki musiałem uzyskać drugą opinię od Reflectora itp. - Wiele plików, które przeformatowałem , dodane regiony, itp. +1 za komentarz na temat sprawdzania legalności (punkt 1 powyżej), a także przypomnienie, które umieściłeś na dole, wstawienia wierszy licząc od dołu do góry - również, musiał napisać zautomatyzowany analizator składający się już od jakiegoś czasu, aby naprawić setki ostrzeżeń w różnych plikach kodowych - i całe wstawienie od dołu do górnej części było bardzo przydatne. – BrainSlugs83

+0

Och, inna kulawizna: "Uwaga: to jest podglĘ ... d technologii i sĘ ... znane problemy. Mimo tego, że publiczny interfejs API jest kompletny, w tej chwili zaimplementowano tylko podzbiór ję zyków VB i C#". – BrainSlugs83

Powiązane problemy