2010-12-17 10 views
22

Jestem całkiem nowy w WPF i przy użyciu XAML. Jestem naprawdę sfrustrowany, że nie mogę wybrać fragmentu XAML i skomentować go w Visual Studio 2010 za pomocą przycisku komentarza na pasku narzędzi, jeśli podświetlona sekcja zawiera już kilka komentarzy.Czy istnieje sposób na skomentowanie XAML zawierającego komentarze?

Inne języki umożliwiają umieszczanie komentarzy w komentarzach bez problemów. Czy istnieje sposób na skomentowanie komentarza w XAML przy użyciu Visual Studio 2010?

+0

W starym C z komentarzami w stylu "/ ** /", jak również w starym Pascalu z '{}" (nie jestem pewien co do współczesnych dialektów), zagnieżdżone komentarze były problemem. – Vlad

+0

Myślałem raczej o używaniu przycisków komentarza/odkomentowania w visual studio. Twój punkt jest jednak ważny. – tmoltzan

+0

Nie mam VS 2010, ale w 2012 roku możesz po prostu użyć typu HTML komentarzy. Spróbuj. –

Odpowiedz

21

Nie, nie ma sposobu na zagnieżdżanie komentarzy w XAML.

Można użyć MC: ignorable atrybut na elemencie głównym, a dowolny atrybut lub element przedrostkiem z tej wartości będą ignorowane Np

<UserControl ... 
    mc:Ignorable="i"> 

    <!-- Ignore Text attribute --> 
    <TextBlock i:Text="Hello" /> 

    <!-- Ignore entire button --> 
    <i:Button> 
    </i:Button> 

</UserControl> 

Zauważ, że mieszanka ustawia MC: wartość ignorable atrybutów " d ', więc musisz użyć np mc: Ignorable = "d i"

Nie jestem pewien, dlaczego komentujesz tak dużo treści XAML?

+3

Nie robię tego tak często, ale czasami, gdy próbuję różnych sposobów robienia rzeczy w szablonach, nie chcę usuwać działającego szablonu, aby wypróbować nowe podejście. Nadal wciągam szablony, widząc, co mogę zrobić. – tmoltzan

+1

Działa to poprawnie z wyjątkiem plików ResourceDictionary. Wydaje się, że nie mają tej własności. –

+1

* "Nie chcę usuwać działającego szablonu, aby wypróbować nowe podejście" * - To brzmi, jakbyś nie używał [SCM] (https://en.wikipedia.org/wiki/Software_configuration_management). Pośród wielu innych rzeczy, SCM pozwala na zabawę, bez niszczenia rzeczy. – IInspectable

3

To bardzo niefortunne, że funkcja komentarza nie jest mądrzejsza, jeśli chodzi o blok, który zawiera już skomentowane linie w XML.

Dość bezbolesny Rozwiązaniem tego problemu może być użycie wyrażeń regularnych:

  • Wybierz blok kodu XAML chcesz skomentować zewnątrz.
  • Kliknij przycisk Komentarz z Visual Studio pasku narzędzi
  • utrzymując wykomentowane blok tekstu wybrany:
    • Otwórz Znajdź/okno (Ctrl + Shift + H)
    • Wymienić W Opcje Znajdź , zaznacz pole wyboru "Użyj regularnego wyrażenia ".
    • Upewnij się, że pole kombi "Szukaj w:" jest ustawione na "Wybór".
    • W swojej "Znajdź" wpisz: \<\!\-\-(.*)\-\-\>
    • W swojej "Replace" polu wpisz: --><!--$1--><!--
    • Kliknij przycisk "Zastąp wszystkie" przycisk

To będzie zawijać każdy skomentował linie na twoim bloku z początkowym znacznikiem komentarza i początkowym znacznikiem komentarza na końcu, upewniając się, że blok tekstu poprzedzającego ten komentarz jest prawidłowy i następny za nim jest.

Aby usunąć komentarze i powrócić do swojej pierwotnej bryle XAML, należy najpierw wyrażenie regularne, ale z odwrotną logiką: boisko

  • znajdują się: \-\-\>\<!\-\-(.*)\-\-\>\<\!\-\-
  • wymienić murawę: <!--$1-->

Następnie, utrzymując wybrany blok XAML, kliknij przycisk Odkomentuj w programie Visual Studio.

UWAGA: W zależności od używanej wersji Visual Studio składnia wyrażenia regularnego może się różnić. Używam VS 2012. Poprzednie wersje używały nawiasów klamrowych "{}" do izolowania wyrażenia i ukośnika odwrotnego "\", aby użyć go ponownie w polu zastępowania. Teraz jest to nawias "()" i znak dolara "$", odpowiednio.

0

Nie ma komentując przycisk/odkomentowanie w mieszance ekspresji, jeśli chcesz spróbować wypowiedzieć swój blok kodu, można wpisać zawierać poniższe symbole w początek i koniec bloku kodu ręcznie

<!-- your code comes here.. 
Next Line--> 

Patrz ekranu próbki poniżej

See a sample screenshot below

0

wybrać komentarz blokowy Hit cntrl-K, kontrola-C (ten sam jako skrót od strony # C przez zakomentowanie blok kodu). Projektant przesunie twoje znaczniki komentarza, aby skomentować cały blok.

cntrol-k, cntrol-u (Kode Uncomment) spowoduje cofnięcie zmian w celu ponownego wprowadzenia kodu XAML na żywo. Spowoduje to usunięcie wszystkich oznaczeń komentarzy, dlatego musisz ponownie zgłosić swoje oryginalne komentarze.

to nie jest doskonałe, ale są to łatwe skróty, które zapewne już znasz.

Powiązane problemy