Przejdź do treści stopki
Iron Academy Logo
Narzędzia C# i Produktywność

Tworzenie snippetów kodu w C# - Dostosuj Visual Studio dla wydajności

[{academy-video-youtube({"vid": "rn9p_K9J4yg", "start_time": "0", "title": "Tworzenie fragmentów kodu w C# - Dostosowywanie Visual Studio dla wydajności", "creator": "Tim Corey", "length": "48m 46s"}}]

Dla programistów pracujących z C#, powtarzanie jest rzeczywistością. Od pisania właściwości po konfigurowanie metod konsoli i obsługę wyjątków, niektóre zadania można uprościć. Tu właśnie wkraczają fragmenty kodu—małe, potężne, wielokrotnego użytku fragmenty kodu, które można szybko wstawić do projektu za pomocą skrótu.

W tym artykułe przyjrzymy się, jak tworzyć i używać niestandardowych fragmentów kodu w Visual Studio, kierując się wskazówkami eksperta i trenera C# Tima Corey'ego. W swoim filmie "Tworzenie fragmentów kodu w C# – dostosowanie Visual Studio dla efektywności", Tim przedstawia praktyczne kroki, komentarze i przykłady, które możesz bezpośrednio zastosować w swoich projektach. Pod koniec będziesz wyposażony, aby zwiększyć swoją produktywność, pisać bardziej czytelny kod i wdrażać najlepsze praktyki w swojej pracy deweloperskiej.

Dłączego fragmenty kodu są ważne

Tim zaczyna od podzielenia się, że często używa fragmentów kodu do wstawiania takich elementów jak automatyczne właściwości, konstruktory i pętle foreach. Pokazuje, jak wpisanie cw i dwukrotne naciśnięcie Tab wstawia Console.WriteLine(), umieszczając kursor między nawiasami — to istotna sztuczka do wyświetlania zawartości tekstu.

Jak wskazuje, nie każda przydatna metoda ma wbudowany fragment. Na przykład, Console.ReadLine() jej brakuje. Odpowiedź Tima? Utwórz własne.

Tworzenie projektu demonstracyjnego w Visual Studio

Aby zademonstrować w kontekście, Tim zakłada aplikację webową ASP.NET Core w Visual Studio. Chociaż rodzaj projektu nie jest kluczowy, posiadanie plików C# i HTML do pracy pozwala mu pokazać przykłady w obu językach.

To kluczowe przypomnienie: fragmenty kodu nie są ograniczone tylko do C# — mogą być stosowane w wielu językach wspieranych przez Visual Studio, w tym HTML, XAML i inne.

Wbudowane fragmenty kodu i moc skrótów

Tim demonstruje kilka istniejących fragmentów:

  • cw + Tab Tab → Console.WriteLine()

  • ctor + Tab Tab → Konstruktor

  • prop + Tab Tab → Automatycznie implementowana właściwość (np. public string Test { get; set; }

  • propfull → Tworzy własność z polem pomocniczym

Te skróty zostały zaprojektowane, aby wyeliminować powtarzanie i zwiększyć wydajność. Wystarczy określić typ, taki jak string lub int, podać nazwę, a reszta zostanie automatycznie wygenerowana.

Te wbudowane fragmenty mogą również demonstrować interpolację, modyfikatory dostępu takie jak public, i elementy zdefiniowane przez system—zapewniając, że Twój kod zachowuje spójną strukturę.

Tworzenie własnego fragmentu kodu w VS Code

Zamiast używać narzędzia do generowania fragmentów, Tim wybiera Visual Studio Code ze względu na jego prostotę i podświetlanie składni XML.

Tworzy plik o nazwie readline.snippet i pokazuje podstawową strukturę XML:

<CodeSnippets>
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Console.ReadLine</Title>
      <Shortcut>cr</Shortcut>
      <Description>Creates Console.ReadLine()</Description>
      <Author>Tim Corey</Author>
    </Header>
    <Snippet>
      <Code Language="csharp"><!-- [CDATA[
Console.ReadLine();
]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
<CodeSnippets>
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Console.ReadLine</Title>
      <Shortcut>cr</Shortcut>
      <Description>Creates Console.ReadLine()</Description>
      <Author>Tim Corey</Author>
    </Header>
    <Snippet>
      <Code Language="csharp"><!-- [CDATA[
Console.ReadLine();
]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

To jest podstawowy fragment, używający <!-- [CDATA[]]> do zawinięcia surowego kodu C#. Skrót klawiszowy cr teraz wywołuje wstawienie metody Console.ReadLine() poprzez dwukrotne naciśnięcie klawisza Tab.

Tim wskazuje, że formatowanie jest dziedziczone ze środowiska Visual Studio użytkownika, co oznacza, że wcięcia i odstępy będą odpowiadać Twoim ustawieniom.

Importowanie fragmentów kodu do Visual Studio

Tim pokazuje, jak zaimportować plik .snippet używając narzędzi Tools > Code Snippet Manager. Wybiera lokalizację Moje fragmenty kodu, upewniając się, że fragment pojawia się, gdy jest potrzebny.

Po zaimportowaniu, wpisanie cr + Tab Tab wstawia linię Console.ReadLine(), gotową do przypisania jej wartości do zmiennej lub wykorzystania w bloku obsługi wyjątków.

Wielokrotnego użytku nagłówki dokumentacji

Następnie, Tim przedstawia fragment dokumentacji - często potrzebny w projektach korporacyjnych lub zespołach współpracujących. Tworzy fragment za pomocą skrótu docme, który generuje blok komentarza:

/// Title:
/// Author:
/// Date:
/// Purpose:
/// Title:
/// Author:
/// Date:
/// Purpose:

To jest idealne do śledzenia zmian, autorstwa i kontekstu pliku. Podczas gdy narzędzia takie jak Git zajmują się wersjonowaniem, nagłówki oferują szybkie odwołania wizualne, szczególnie w dużych zespołach.

Fragmenty HTML: Przykład formularza Bootstrap

Fragmenty nie są tylko dla kodu C#. Tim pokazuje, jak ich używać w HTML—idealne do tworzenia formularzy, elementów wejściowych i zbiorów uporządkowanych znaczników.

On kopiuje przykład formularza Bootstrap i pakuje go w ten sam format fragmentu XML, zmieniając język na html. Po zaimportowaniu wpisanie skrótu sampleform wstawia gotową strukturę HTML, co oszczędza Ci konieczności wielokrotnego odwoływania się do zewnętrznych URL-i lub kopiowania szablonu.

Zaawansowany fragment z symbolami zastępczymi i zmiennymi

To jest miejsce, gdzie rzeczy stają się bardziej zaawansowane — i potężniejsze. Tim tworzy fragment kodu, który pobiera wartość konfiguracyjną:

_config.GetValue<string>("values:myTest");
_config.GetValue<string>("values:myTest");

Pokazuje, jak używać symboli zastępczych zarówno dla typów (string, int, bool), jak i ścieżki (values:myTest), aby programista musiał wypełnić tylko to, co się różni.

W XML używa:

<Declarations>
  <Literal>
    <id>ValType</id>
    <Default>string</Default>
    <ToolTip>Data type of the value</ToolTip>
  </Literal>
  <Literal>
    <id>Path</id>
    <Default>values:myTest</Default>
    <ToolTip>Config path</ToolTip>
  </Literal>
</Declarations>
<Declarations>
  <Literal>
    <id>ValType</id>
    <Default>string</Default>
    <ToolTip>Data type of the value</ToolTip>
  </Literal>
  <Literal>
    <id>Path</id>
    <Default>values:myTest</Default>
    <ToolTip>Config path</ToolTip>
  </Literal>
</Declarations>

W treści fragmentu:

_config.GetValue<$ValType$>("$Path$")
_config.GetValue<$ValType$>("$Path$")

To wykorzystanie zmiennych i deklaracji umożliwia elastyczne, wyraziste i zwięzłe generowanie kodu. Jest idealny do zadań takich jak pobieranie ustawień zabezpieczeń, dostęp do słowników lub odczytywanie zagnieżdżonych wartości z plików JSON.

Dłączego fragmenty kodu poprawiają wydajność

Tim kończy, wyjaśniając, że fragmenty kodu to nie tylko kwestia prędkości—promują one spójność praktyk, redukują błędy i poprawiają czytelność kodu w całym zespole. Z czasem, nawet zaoszczędzenie kilku sekund na fragment może zaowocować godzinami zaoszczędzonymi.

Podkreśla, że fragmenty kodu pomagają w:

  • Inicjalizacja częstych zadań

  • Ustandaryzowane obsługiwanie wyjątków za pomocą try-catch-finally

  • Tworzenie całych szablonów klas

  • Praca w blokach finally, zorganizowanych blokach catch oraz przesłanianie metod

Podsumowanie: Przewaga programisty

Niezależnie od tego, czy tworzysz złożone systemy, czy proste aplikacje, fragmenty kodu mogą pomóc szybciej i bardziej konsekwentnie pisać kod C lub kod C#. Umożliwiają Ci:

  • Wyeliminować powtórzenia

  • Skoncentruj się na logice biznesowej

  • Utrzymuj czysty, interpolowany i dobrze udokumentówany kod bazowy

Według sugestii Tima w jego obszerne wideo, zbadaj własne nawyki programowania. Odkryj, gdzie wpisujesz te same rzeczy wielokrotnie. Następnie zdecyduj się na jedno podejście: utwórz fragment.

Wkrótce zauważysz, że przekształciłeś swój przepływ pracy — czyniąc rozwijanie bardziej wydajnym, zorganizowanym i przyjemnym.

Szybkie pomysły na fragmenty kodu na start

  • tryfinally – Generowanie bloków try + finally

  • logerror – Wstaw logikę logowania za pomocą Log.Error()

  • propnotify – Właściwość z INotifyPropertyChanged

  • filecheck – Jeśli File.Exists(path) z logiką wewnętrzną

  • foreachdict – Przejdź przez Dictionary<TKey, TValue>

Wskazówka Tima: Nie kopiuj i wklejaj tylko z innego pliku—stwórz fragment i nigdy więcej go nie przepisuj.

Hero Worlddot related to Tworzenie snippetów kodu w C# - Dostosuj Visual Studio dla wydajności
Hero Affiliate related to Tworzenie snippetów kodu w C# - Dostosuj Visual Studio dla wydajności

Zarabiaj więcej, dzieląc się tym, co kochasz

Tworzysz treści dla deweloperów pracujących z .NET, C#, Java, Python, czy Node.js? Zamień swoją wiedzę specjalistyczną na dodatkowy dochód!

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie