{"id":5121,"date":"2023-05-19T15:02:13","date_gmt":"2023-05-19T13:02:13","guid":{"rendered":"https:\/\/ekiwi.de\/?p=5121"},"modified":"2023-08-06T11:15:47","modified_gmt":"2023-08-06T09:15:47","slug":"visual-studio-methode-aus-markierte-code-zeilen-erstellen-refactoring-umgestalten","status":"publish","type":"post","link":"https:\/\/ekiwi.de\/index.php\/5121\/visual-studio-methode-aus-markierte-code-zeilen-erstellen-refactoring-umgestalten\/","title":{"rendered":"Visual Studio: Methode aus markierte Code-Zeilen erstellen (Refactoring\/Umgestalten)"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Inhalt<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/ekiwi.de\/index.php\/5121\/visual-studio-methode-aus-markierte-code-zeilen-erstellen-refactoring-umgestalten\/#Refactoring_mit_Rechtsklick_geht_nicht\" >Refactoring mit Rechtsklick geht nicht<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/ekiwi.de\/index.php\/5121\/visual-studio-methode-aus-markierte-code-zeilen-erstellen-refactoring-umgestalten\/#Refactor_uebers_Menue\" >Refactor \u00fcbers Men\u00fc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/ekiwi.de\/index.php\/5121\/visual-studio-methode-aus-markierte-code-zeilen-erstellen-refactoring-umgestalten\/#Tastenkombination_zum_Extrahieren_einer_Methode\" >Tastenkombination zum Extrahieren einer Methode<\/a><\/li><\/ul><\/nav><\/div>\n<p>Wer mit Visual Studio (<abbr title=\"Visual Studio\">VS<\/abbr>) programmiert, kommt manchmal in die Situation, dass man einige Code-Zeilen innerhalb einer Methode in eine eigene Funktion\/Methode auslagern m\u00f6chte. Dies kann sein, weil man den Code \u00fcbersichtlicher gestalten m\u00f6chten oder weil der betreffende Code mehrfach ben\u00f6tigt wird und es sich somit anbietet f\u00fcr den Code eine eigene Methode zu erstellen.<\/p>\n<p>Die Vorgehensweise bestehenden Code in eine neue Methode zu \u00fcberf\u00fchren nennt sich <strong>Refactoring <\/strong>(<em>Umstrukturierung\/Umgestalten von Code<\/em>). Man muss also nach einem entsprechenden Eintrag in <a title=\"Visual Studio: Windows Application in Class Library \u00e4ndern\" href=\"https:\/\/ekiwi.de\/index.php\/1001\/visual-studio-windows-application-in-class-library-aendern\/\">Visual Studio<\/a> suchen.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Refactoring_mit_Rechtsklick_geht_nicht\"><\/span>Refactoring mit Rechtsklick geht nicht<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Die intuitive Vorgehensweise w\u00e4re, die betreffenden Code-Zeilen zu markieren und dann per Rechtsklick einen entsprechenden Eintrag f\u00fcr das Refactoring im Kontext-Men\u00fc zu suchen. Leider findet man hier nicht das entsprechende Feature.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Refactor_uebers_Menue\"><\/span>Refactor \u00fcbers Men\u00fc<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Das Refactoring hat Microsoft in VS im Men\u00fc &#8222;<em>Edit<\/em>&#8220; bzw. bei deutscher Spracheinstellung im &#8222;<em>Bearbeiten<\/em>&#8220; -Men\u00fc untergebracht.\u00a0 Zuvor den gew\u00fcnschten Code, der extrahiert werden soll, markieren und dann \u00fcbers Men\u00fc einmal &#8222;<em>Refactor<\/em>&#8220; \u27a5 &#8222;<em>Extract Method&#8230;<\/em>&#8220; ausw\u00e4hlen. Im deutschen Men\u00fc hei\u00dft es &#8222;<em>Umgestalten<\/em>&#8220; \u27a5 &#8222;<em>Methode extrahieren&#8230;<\/em>&#8222;.<\/p>\n<figure id=\"attachment_5115\" aria-describedby=\"caption-attachment-5115\" style=\"width: 700px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5115\" src=\"\/wp-content\/uploads\/2023\/05\/visual-studio-create-method-from-selection-1.jpg\" alt=\"Visual Studio Code-Auswahl in Methode umwandeln\" width=\"700\" height=\"440\" srcset=\"\/wp-content\/uploads\/2023\/05\/visual-studio-create-method-from-selection-1.jpg 700w, \/wp-content\/uploads\/2023\/05\/visual-studio-create-method-from-selection-1-300x189.jpg 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><figcaption id=\"caption-attachment-5115\" class=\"wp-caption-text\">Code-Zeilen markieren und unter &#8222;<em>Bearbeiten<\/em>&#8222;, &#8222;<em>Umgestalten<\/em>&#8222;, &#8222;<em>Methode extrahieren&#8230;<\/em>&#8220; ausw\u00e4hlen<\/figcaption><\/figure>\n<p>Es werden dann die markierten Code-Zeilen bereits ersetzt durch &#8222;<em>NewMethod<\/em>&#8222;, die direkt unten drunter als neue Implementierung der Methode eingef\u00fcgt werden. Es \u00f6ffnet sich gleichzeitig ein kleines Fenster, in welchem man den Namen der neuen Methode anpassen kann. In dem Beispiel hier wurde der Name auf &#8222;<em>UpdateProperties<\/em>&#8220; angepasst. Dr\u00fcck man danach <em>Enter,<\/em> wird sowohl die Implementierung als auch die eingef\u00fcgte Referenz automatisch umbenannt. Wer sich unsicher ist, ob hier alles richtig l\u00e4uft, kann mit der Tastenkombination &#8222;<em>Shift+Enter<\/em>&#8220; sich eine Vorschau anzeigen lassen.<\/p>\n<figure id=\"attachment_5117\" aria-describedby=\"caption-attachment-5117\" style=\"width: 608px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5117\" src=\"\/wp-content\/uploads\/2023\/05\/visual-studio-create-method-from-selection-2.jpg\" alt=\"Screenshot Visual Studio neuen Namen f\u00fcr extrahierte Methode vergeben\" width=\"608\" height=\"302\" srcset=\"\/wp-content\/uploads\/2023\/05\/visual-studio-create-method-from-selection-2.jpg 608w, \/wp-content\/uploads\/2023\/05\/visual-studio-create-method-from-selection-2-300x149.jpg 300w\" sizes=\"auto, (max-width: 608px) 100vw, 608px\" \/><figcaption id=\"caption-attachment-5117\" class=\"wp-caption-text\">neuen Namen f\u00fcr extrahierte Methode eingeben<\/figcaption><\/figure>\n<p>Im nachfolgenden <a title=\"Druck-Taste\/Print-Taste f\u00fcr das Screenshot-Werkzeug Snipping-Tool deaktivieren\" href=\"https:\/\/ekiwi-blog.de\/53825\/windows-druck-taste-fuer-snipping-tool-deaktivieren\/\" target=\"_blank\" rel=\"noopener\">Screenshot<\/a> sieht, dass aus dem markierten Code erfolgreich eine neue Methode erzeugt worden ist. Diese kann man nun beliebig oft wiederverwenden.<\/p>\n<figure id=\"attachment_5119\" aria-describedby=\"caption-attachment-5119\" style=\"width: 577px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5119\" src=\"\/wp-content\/uploads\/2023\/05\/visual-studio-create-method-from-selection-3.jpg\" alt=\"Screenshot der Implementation der neuen Methode und Ersetzen des ausgew\u00e4hlten Codes\" width=\"577\" height=\"304\" srcset=\"\/wp-content\/uploads\/2023\/05\/visual-studio-create-method-from-selection-3.jpg 577w, \/wp-content\/uploads\/2023\/05\/visual-studio-create-method-from-selection-3-300x158.jpg 300w\" sizes=\"auto, (max-width: 577px) 100vw, 577px\" \/><figcaption id=\"caption-attachment-5119\" class=\"wp-caption-text\">Implementierung neuer Methode wird darunter eingef\u00fcgt und markierte Code-Zeilen werden mit Methode ersetzt<\/figcaption><\/figure>\n<h2><span class=\"ez-toc-section\" id=\"Tastenkombination_zum_Extrahieren_einer_Methode\"><\/span>Tastenkombination zum Extrahieren einer Methode<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Wem der Weg \u00fcber das Bearbeiten-Men\u00fc zu umst\u00e4ndlich ist, der gelangt auch schneller zum Ziel durch Verwendung der passenden Tastenkombination (Shortcut). Dazu einfach:<\/p>\n<ol>\n<li>betreffenden Code markieren<\/li>\n<li><em>Strg+R<\/em> und <em>Strg+M<\/em> nacheinander dr\u00fccken (Strg-Taste bleibt dabei gedr\u00fcckt)<\/li>\n<li>Methoden-Name vergeben und wieder <em>Enter<\/em> dr\u00fccken.<\/li>\n<\/ol>","protected":false},"excerpt":{"rendered":"<p>Wer mit Visual Studio (VS) programmiert, kommt manchmal in die Situation, dass man einige Code-Zeilen innerhalb einer Methode in eine<\/p>\n","protected":false},"author":2,"featured_media":2228,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[13],"tags":[190,653,80,559,193,191],"class_list":["post-5121","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programmierung","tag-c","tag-microsoft","tag-programmierung","tag-programming","tag-visual-basic","tag-visual-studio"],"_links":{"self":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/5121","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/comments?post=5121"}],"version-history":[{"count":0,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/5121\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media\/2228"}],"wp:attachment":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media?parent=5121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/categories?post=5121"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/tags?post=5121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}