Niestandardowe podświetlanie składni dla VS 2008

Ostatnio używałemżywego atramentu Johna Lama VS schematu kolorów i chciałem go dostosować, aby podświetlił nazwy metod dla klasy o innym kolorze. Okazuje się, że w VS nie ma takiej opcji.

Resharper ma funkcję , która zapewnia niestandardowe podświetlanie składni. Zastanawiałem się, jak trudno jest napisać małą wtyczkę, która daje granularne niestandardowe podświetlanie składni? Czy są jakieś takie reklamy open source tam?

EDIT

Dzięki wszystkim, udało mi się zhakować rzeczy za pomocą DXCore i mój VS wygląda tak podobnie do textmate.

VS wygląda fantastycznie http://img14.imageshack.us/img14/637/awesomevsgq1.png

** Uwaga * *

Musiałem nieco zmodyfikować fragment Rory ' ego, aby działał z kropkowanymi nazwami metod i operatorami równości w C#.

Używam teraz:

            string name = ea.LanguageElement.Name.Split('.').Last();

            if (name == ("op_Equality")) {
                name = "==";
            } else if (name == "op_Inequality") {
                name = "!=";
            }

            ea.PaintArgs.OverlayText(name, 
                ea.LanguageElement.NameRange.Start, 
                Color.FromArgb(255,204,0)); 
Author: Sam Saffron, 2009-02-03

5 answers

Jak już powiedział Brian... Moja Wtyczka PaintIt podpowie Ci, co można zrobić z DXCore .

Istnieją również inne "ozdobne wtyczki" na naszej " Community Plugin Site " i mamy przyzwoitą społeczność w

DevExpress IDE Tools forums jeśli masz jakieś konkretne pytania.

DXCore to framework, na którym zbudowane są RefactorPro oraz CodeRush, który powinien dać ci pojęcie, jakiego rodzaju

Możliwości graficznych, do których są zdolni.

To powiedziaĹ ' o, Ĺźe nie potrzebujesz Ĺźadnego z tych narzÄ ™ dzi do uĹźycia DXCore.

Wszystko na stronie Społeczności jest "Open Source" (podobnie jest PaintIt)

Aby dać ci wyobrażenie, jak proste są rzeczy... poniższy kod to wszystko, czego potrzebujesz, aby dodać do podstawowego szablonu wtyczki, aby podstawy zostały uruchomione za pomocą DXCore...

Private Sub PlugIn_EditorPaintLanguageElement(ByVal ea As DevExpress.CodeRush.Core.EditorPaintLanguageElementEventArgs) Handles Me.EditorPaintLanguageElement
    If ea.LanguageElement.ElementType = LanguageElementType.Method Then
        ea.PaintArgs.OverlayText(ea.LanguageElement.Name, _
                                 ea.LanguageElement.NameRange.Start, _
                                 Color.HotPink)
    End If
End Sub

Mam na podstawie tego kodu stworzył wtyczkę (CR_ColorizeMemberNames) i dodał ją do strony wtyczki Community .

Plik binarny jest dostępny na mojej stronie tutaj .

Wystarczy pobrać i zainstalować DXCore i umieścić binarny z wtyczki w folderze wtyczek (domyślnie C:\Program Files\Developer Express Inc \ DXCore for Visual Studio. NET \ 2.0 \ Bin \ Plugins) .. then start VS and your method names should all be in HotPink (Lovely)

 11
Author: Rory Becker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-11 20:23:28

Aby wyjść poza proste kolorowanie słów kluczowych, szczegóły dotyczące kolorowania składni Visual Studio są zdefiniowane tutaj ; A szczegóły do zaimplementować tutaj .

Te dokumenty opisują, w jaki sposób podstawowa instalacja hydrauliczna jest, cóż, hydrauliczna-i co ważniejsze, szczegółowo opisuje, jak podłączyć własny przewód --{]}

 4
Author: Borzio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-10 14:29:37

Jeśli chcesz rzucić własną, polecam uzyskanie DXCore z DevExpress. Wiem, że możesz dodać własne elementy wizualne do VS2008 za pomocą tego dodatku i wierzę, że jest to również bezpłatne. istnieje dobra społeczność do pomocy w pisaniu własnych wtyczek, a może nawet jest już stworzona dla Ciebie.

Jestem wielkim fanem DevExpress i prowadzę Refactor! i Koderush.

 3
Author: ZombieSheep,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-11 10:42:56

Get DXCore, and then start with this plugin: http://www.rorybecker.me.uk/PaintIt.html to powinno zacząć się od kodu do kolorowania nazw metod. Rory udostępnia swój kod i myślę, że jest członkiem SO...

 2
Author: Brian Schmitt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-02 16:11:03

Naprawdę nie mogę odpowiedzieć, jak trudne to jest lub czy istnieje jakieś open source, ale aby to zrobić, chcesz spojrzeć na niestandardowe znaczniki tekstu. Zobacz te dwa artykuły po szczegóły:

 0
Author: jlew,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-08 08:11:18