Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Mapy kódu v sadě Visual Studio vám můžou pomoct vyhnout se ztrátě ve velkých základech kódu, neznámém kódu nebo starším kódu. Když například ladíte, budete se muset podívat na kód v mnoha souborech a projektech. Pomocí map kódu můžete procházet části kódu a porozumět vztahům mezi nimi. Tímto způsobem nemusíte sledovat tento kód v hlavě ani kreslit samostatný diagram. Takže když dojde k přerušení vaší práce, mapy kódu pomáhají aktualizovat paměť o kódu, na kterém pracujete.
Zelená šipka ukazuje, kde se v editoru zobrazuje kurzor.
Podrobnosti o příkazech a akcích, které můžete použít při práci s mapami kódu, najdete v tématu Procházení a změna uspořádání map kódu.
Přečtěte si další informace o ladění v sadě Visual Studio pomocí ladicího nástroje.
Poznámka:
K vytváření a úpravám map kódu potřebujete edici Visual Studio Enterprise. V edicích Visual Studio Community a Professional můžete otevřít diagramy vygenerované v edici Enterprise, ale nemůžete je upravovat.
Pochopení problému
Předpokládejme, že ve výkresovém programu došlo k chybě, na které pracujete. Pokud chcete chybu reprodukovat, otevřete řešení v sadě Visual Studio a stisknutím klávesy F5 spusťte ladění.
Když nakreslíte čáru a zvolíte Zpět poslední tah, nic se nestane, dokud nenakreslíte další čáru.
Začnete tedy hledat metodu Undo . Najdete ho PaintCanvas ve třídě.
Zahájení mapování kódu
Teď začněte mapovat metodu undo a její relace. V editoru kódu přidáte metodu undo a pole, která odkazuje na novou mapu kódu. Při vytváření nové mapy může chvíli trvat indexování kódu. To pomáhá rychlejšímu spouštění pozdějších operací.
Návod
Zelené zvýraznění zobrazuje poslední položky přidané do mapy. Zelená šipka zobrazuje pozici kurzoru v kódu. Šipky mezi položkami představují různé relace. Další informace o položkách na mapě získáte tak, že na ně přesunete myš a prozkoumáte jejich popisy.
Navigace a prozkoumání kódu z mapy
Pokud chcete zobrazit definici kódu pro každé pole, poklikejte na pole na mapě nebo vyberte pole a stiskněte klávesu F12. Zelená šipka se pohybuje mezi položkami na mapě. Kurzor v editoru kódu se také automaticky přesune.
Návod
Zelenou šipku na mapě můžete také přesunout přesunutím kurzoru v editoru kódu.
Principy vztahů mezi částmi kódu
Nyní chcete vědět, který jiný kód komunikuje s poli history a paintObjects. Do mapy můžete přidat všechny metody, které odkazují na tato pole. Můžete to udělat z mapy nebo editoru kódu.
Poznámka:
Pokud přidáte položky z projektu, který je sdílený ve více aplikacích, jako je Windows Phone nebo Windows Store, zobrazí se tyto položky vždy s aktuálně aktivním projektem aplikace na mapě. Pokud tedy změníte kontext na jiný projekt aplikace, kontext na mapě se také změní pro všechny nově přidané položky ze sdíleného projektu. Operace, které provádíte s položkou na mapě, se vztahují pouze na ty položky, které sdílejí stejný kontext.
Změňte rozložení tak, aby přeuspořádaly tok relací a usnadnily čtení mapy. Položky můžete také přesouvat po mapě přetažením.
Návod
Ve výchozím nastavení je přírůstkové rozložení zapnuté. Při přidávání nových položek se mapa co nejméně mění. Pokud chcete změnit uspořádání celé mapy při každém přidání nových položek, vypněte přírůstkové rozložení.
Pojďme se podívat na tyto metody. Na mapě poklikejte na metodu PaintCanvas nebo vyberte tuto metodu a stiskněte klávesu F12. Zjistíte, že tato metoda vytvoří history a paintObjects jako prázdné seznamy.
Teď opakujte stejný postup a prozkoumejte definici clear metody. Zjistíte, že clear provádí některé úlohy s paintObjects a history. Potom volá metodu Repaint .
Teď prozkoumejte definici addPaintObject metody. Provádí také některé úlohy s history a paintObjects. Volá také Repaint.
Zjištění problému prozkoumáním mapy
Zdá se, že všechny metody, které upravují history a paintObjects volají Repaint.
undo Metoda však nevolá Repaint, i když undo upraví stejná pole. Takže si myslíte, že můžete tento problém vyřešit voláním Repaint z undo.
Pokud jste neměli mapu k zobrazení tohoto chybějícího volání, mohlo by být obtížnější tento problém najít, zejména u složitějšího kódu.
Sdílení zjišťování a dalších kroků
Než tuto chybu opravíte vy nebo někdo jiný, můžete si na mapě udělat poznámky o problému a jak ji opravit.
Například můžete do mapy přidávat komentáře a označovat položky pomocí barev.
Pokud máte nainstalovaný Microsoft Outlook, můžete mapu poslat e-mailem ostatním. Mapu můžete také exportovat jako obrázek nebo jiný formát.
Oprava problému a zobrazení toho, co jste udělali
Chcete-li tuto chybu opravit, přidáte volání Repaint do undo.
Pokud chcete potvrdit opravu, restartujte ladicí relaci a zkuste chybu reprodukovat. Když teď zvolíte Zpět: poslední tah, funguje to tak, jak očekáváte, a potvrzuje, že jste provedli správnou opravu.
Mapu můžete aktualizovat tak, aby zobrazovala opravu, kterou jste provedli.
Mapa nyní zobrazuje spojení mezi vrácením zpět a překreslením.
Poznámka:
Při aktualizaci mapy se může zobrazit zpráva s informací, že se aktualizoval index kódu použitý k vytvoření mapy. To znamená, že někdo změnil kód, což způsobí, že vaše mapa neodpovídá aktuálnímu kódu. To vám nezabrání v aktualizaci mapy, ale možná budete muset mapu znovu vytvořit, abyste potvrdili, že odpovídá kódu.
Teď jste s vyšetřováním hotovi. Úspěšně jste našli a opravili problém namapováním kódu. Máte také mapu, která vám pomůže procházet kód, pamatovat si, co jste se naučili, a ukazuje kroky, které jste provedli k vyřešení problému.