Sdílet prostřednictvím


Mapování závislostí ve vašem kódu v grafech závislostí

Pokud chcete v rámci váš kód pochopit závislosti, jejich namapování pomocí sady Visual Studio Ultimate.Pokud chcete v rámci všech váš kód pochopit závislosti, vizualizovat jejich vytvořením map kódu (Visual Studio Ultimate pouze).Díky tomu můžete zobrazit, jak kódu, která vyhoví společně bez čtení prostřednictvím souborů a řádků kódu.

Graf s vybrané položky a rozšířené skupiny

Zde jsou některé videa:

Zde je, co budete potřebovat:

  • Sady visual Studio Ultimate 2013

  • Visual C# .NET nebo Visual Basic .NET kódu v řešení nebo sestavení (.dll nebo .exe)

  • Nativní nebo spravované kódu C nebo C++ projektů Visual C++, hlavičkové soubory (hlaviček nebo #include), nebo binárních souborů.

  • Visual Studio 2013 Update 3 k mapování závislosti ve:

    • Projekty, které sdílejte kód na více aplikací

    • X ++ projekty a sestavení provedené z modulů .NET pro aplikaci Microsoft Dynamics AX

    Můžete také přetáhnout sestavení a binární soubory z Průzkumníka Windows do existujícího grafu a získat barevně relace.

Začněte zde:

  • Chcete-li zobrazit celkového závislosti v rámci vašeho řešení, přejděte na Architektura nabídky.Klikněte na tlačítko Generovat graf závislosti, pro řešení.

    - nebo -

  • Chcete-li zobrazit určité závislostí v rámci vašeho řešení, otevřete Průzkumníka řešení.Vyberte projekty, odkazy na sestavení, složek, soubory, typy nebo členy, které vás zajímají.Na Průzkumníka řešení nástrojů, klepněte na tlačítko vytvořit nový graf dokumentVytvořit nový graf z tlačítko vybrané uzly.

Rovněž můžete:

  • Podívejte se na téma závislosti mezi C nebo C++ zdrojové soubory a soubory hlaviček.

  • Grafy závislostí sdílené složky

  • Vytvořit grafy programově

Podívejte se na téma celkového závislosti

Podívejte se na téma závislosti v rámci vašeho řešení

  1. Na Architektura nabídky, klikněte na tlačítko Generovat graf závislosti, řešení pro.

    Zobrazí se graf, který ukazuje na sestavení nejvyšší úrovně a souhrnná propojení mezi nimi.Širší souhrnného propojení, více závislosti reprezentuje.Skupina Externí obsahuje něco mimo řešení, včetně závislostí platformy.Externí sestavení obsahuje pouze položky, které jsou používány.

    Graf nejvyšší úrovně závislosti sestavení

  2. Chcete-li zobrazit v rámci sestavení, rozbalte ji.Přesunutí ukazatele myši nad sestavení a potom klikněte na tlačítko na dvojitou šipku (^) jakmile se zobrazí.(Klávesnice: vyberte položku, stiskněte klávesu PLUS klíč (+).) Chcete-li prozkoumat hlubší znalosti úrovně kódu, proveďte stejné pro obory názvů, typy a členy.

    Graf závislosti s seskupených uzly

    Ve výchozím nastavení, obsahové vztahy se zobrazí jako skupiny, které můžete rozbalit nebo sbalit.Chcete-li zobrazit skupiny relace jako odkazy v místní nabídce grafu klikněte na tlačítko skupiny, Zapnout seskupení.

    Graf závislosti s uzly a odkazy

  3. Chcete-li zkontrolovat položky závislosti reprezentované souhrnným odkazem, nejprve vyberte odkaz a pak otevřete místní nabídku.Klikněte na tlačítko Zobrazit, Přispívání odkazy v aktuálním diagramu nebo Přispívání odkazy v novém diagramu.

    Visual Studio rozbalí skupiny na obou koncích spojení a zobrazí pouze položky a závislosti, které se účastní odkazu.

  4. Chcete-li získat další informace o položce nebo propojení, přesuňte ukazatel myši na položku, dokud se nezobrazí její popisek.Tato hodnota udává kategorií, představuje odkaz.

  5. Chcete-li zobrazit, co Barva vazby, znamená to, na panelu nástrojů grafu, klikněte na tlačítko legendu.

    Pokud vidíte zelený odkaz, nemusí to znamená, že je právě relaci dědičnosti.Může také být volání metody, ale ty skryty pomocí relaci dědičnosti.

  6. Chcete-li zobrazit závislosti mezi členy ve skupinách, klepněte na položku v grafu.

    Graf s vybrané položky a rozšířené skupiny

  7. Chcete-li vyhledat potenciální problémy ve vašem kódu Spustit analyzer.

Další informace:

Podívejte se na téma závislosti v rámci sestavení nebo binárních souborů.

  • Vytvořte prázdný graf nebo otevřete existující graf (soubor .dgml).Z vnějšku aplikace Visual Studio přetáhněte sestavení nebo binární soubory do grafu.

    [!POZNÁMKA]

    Sestavení nebo binární soubory můžete z Průzkumníku Windows přetáhnout pouze tehdy, pokud používáte aplikaci Windows Explorer a Visual Studio na stejné úrovni oprávnění Řízení uživatelských účtů (UAC).Například pokud je zapnutý nástroj Řízení uživatelských účtů a používáte aplikaci Visual Studio jako správce, Průzkumník Windows zablokuje možnost přetahování.Chcete-li tento problém obejít, ujistěte se, že je spuštěna aplikace Visual Studio jako správce nebo vypněte nástroj Řízení uživatelských účtů.V systému Windows 8 se Průzkumník Windows jmenuje Průzkumník souborů.

Vytvoření prázdného grafu

  1. V Průzkumníka řešení, otevřete místní nabídku pro vaše řešení nejvyšší úrovně uzel.Klikněte na tlačítko Přidat, novou položku.

  2. V části nainstalované, klikněte na tlačítko Obecné.

  3. V pravém podokně klikněte na tlačítko řízené dokumentu grafu.

    Nyní máte prázdné grafu, který se zobrazí ve vašem řešení položky řešení složky.

    Chcete-li otevřít nové prázdné grafu bez přidání do vašeho řešení na soubor nabídky, klikněte na tlačítko Nový, souboru.

    Chcete-li přidat prázdné grafu do projektu modelování, otevřete Architektura nabídky, klikněte na tlačítko Nový Diagram.

Dotazy a odpovědi

D: Proč trvá tak dlouho k vytvoření grafu?

O: při generování grafu poprvé, Visual Studio indexuje všechny závislé součásti, které nalezne.Tento proces může chvíli trvat, zejména pro velké řešení, ale tím bude vylepšit vyšší výkon.Pokud váš kód změní, Visual Studio reindexes pouze aktualizované kód.Pokud nechcete, aby čekání na graf tak, aby dokončit, můžete kdykoli zrušit tento krok a vyzkoušejte tento:

  • Vložte do grafu pouze ty závislosti, které vás zajímají.

  • Před vytvořením grafu pro kompletní řešení snižte rozsah řešení.

Přestože lze sadu Visual Studio spustit s 1 GB operační paměti, doporučujeme, aby váš počítač měl alespoň 2 GB operační paměti, aby se zabránilo dlouhým prodlevám, když aplikace Visual Studio vytváří index kódu a generuje graf.

Může trvat déle vytvářet grafy nebo přidávat položky do grafu z Průzkumníku řešení, když je vlastnost Kopírovat do výstupní složky položky projektu nastavena na možnost Vždy kopírovat.To může způsobit problémy s přírůstkovým sestavením a opakovaným sestavením projektu aplikací Visual Studio.Chcete-li zvýšit výkon, změňte tuto vlastnost na Kopírovat, pokud je novější nebo PreserveNewest.Podívejte se na téma Přírůstková sestavení.

D: Proč nebylo sadu Visual Studio vytvořit mé grafu?

O: k tomu může dojít, protože žádný z projekty v řešení byla úspěšně vytvořena.Sada Visual Studio generuje graf, pokud se alespoň jeden projekt vytvoří úspěšně.Grafu zobrazí závislosti pouze pro kód úspěšně vytvořena.V případě chyby sestavení pro některé součásti, pak tyto chyby se zobrazí v grafu.Ujistěte se, že se součást skutečně sestaví a má závislosti, než na základě grafu učiníte rozhodnutí ohledně architektury.

Podívejte se na téma určité závislostí

Představte si například, že máte revize kódu k provedení v některé soubory s změny čekající na zpracování.Chcete-li zobrazit závislosti ve tyto změny, vytvoření grafu závislosti z těchto souborů.

Graf závislosti s seskupených uzly

Podívejte se na téma určité závislostí ve vašem řešení

  1. Otevřít Průzkumníka řešení.Vyberte projekty, odkazy na sestavení, složek, soubory, typy a členy, které vás zajímají.

  2. Zobrazí v grafu položek a jejich členové.Na Průzkumníka řešení nástrojů, klepněte na tlačítko vytvořit nový graf dokumentVytvořit nový graf z tlačítko vybrané uzly.

    Chcete-li vyhledat položky, které jsou závislé na typy nebo členy, otevřete typ nebo člena místní nabídku z Průzkumníka řešení.Klepněte na typ závislosti.Pak vyberte výsledky.

    Jak vizualizovat konkrétního kódu

    Tak, aby obsahoval nadřazená hierarchie s položkami, na Průzkumníka řešení nástrojů, otevřete vytvořit nový dokument grafu... seznamu.Klikněte na tlačítko Nový graf závislosti s nadřazených.

    Jak vizualizovat určitý kód a nadřazených

    Můžete také přetáhnout položky do prázdné nebo stávající grafu.Chcete-li vytvořit prázdné grafu na soubor nabídky, klikněte na tlačítko Nový, soubor, řízené dokumentu grafu.Chcete-li zahrnout nadřízenou hierarchii pro vaše položky, stiskněte a podržte klávesu CTRL při přetahování položky.

    [!POZNÁMKA]

    Když přidáváte položky z projektu, který je sdílen napříč více aplikacemi, jako jsou Windows Phone nebo Windows Store, tyto položky se zobrazí na mapě s aktuálně aktivním projektem aplikace.Pokud změníte kontext na jiný projekt aplikace a přidáte další položky ze sdíleného projektu, tyto položky se nyní zobrazí s nově aktivním projektem aplikace.Operace, které provádíte s položkou na mapě, se vztahují pouze na ty položky, které sdílejí stejný kontext.

  3. Chcete-li prozkoumat položky, rozbalte je.Přesunutí ukazatele myši nad položku a potom kliknutím na dvojitou šipku (^) tlačítko se objeví.Chcete-li rozbalit všechny položky, otevřete místní nabídku pro graf.Klikněte na tlačítko skupiny, Rozbalit vše.

    [!POZNÁMKA]

    Tato možnost není k dispozici v případě, že rozbalení všech skupin vytvoří nepoužitelnost grafu nebo problémů paměti.

  4. Chcete-li zobrazit členy, které jsou v kódu, ale nejsou zobrazeny v grafu, klikněte na tlačítko znovu načíst podřízené objektyZnovu načíst ikonu děti.Tyto členy skupiny se zobrazí s jiný styl, abyste viděli, je jednodušší.Podívejte se na téma Úpravy a přizpůsobení grafů závislostí.

  5. Chcete-li zobrazit více položek, které se vztahují k projektům v grafu, otevřete místní nabídky dané položky.Klikněte na tlačítko Zobrazit a druh vztah, který vás zajímá.

    Pro sestavení klikněte na tlačítko:

    Odkazovaná sestavení

    Přidejte sestavení, na které odkazuje toto sestavení.Externí sestavení se zobrazí ve skupině Externí typy.

    Odkazování na sestavení

    Přidejte sestavení do řešení, která odkazují na toto sestavení.

    Pro třídu klikněte na tlačítko:

    Základní typy

    Pro třídu přidáte základní třídy a rozhraní implementované.

    V rámci rozhraní přidejte základní rozhraní.

    Odvozené typy

    Třída přidejte odvozené třídy.

    V rámci rozhraní přidejte odvozené rozhraní a implementaci tříd nebo struktur.

    Všechny základní typy

    Přidejte rekurzivně hierarchii základní třídy nebo rozhraní.

    Všechny odvozené typy

    V případě třídy přidejte všechny odvozené třídy rekurzivně.

    V rámci rozhraní přidejte rekurzivně veškerá odvozená rozhraní a implementaci tříd nebo struktur.

    Hierarchie obsahu

    Přidejte hierarchii nadřazeného kontejneru.

    Používané typy

    Přidejte všechny třídy a jejich členy, které tato třída používá.

    Typy Použito

    Přidejte všechny třídy a jejich členy, které tuto třídu používají.

    Pro metodu klikněte na tlačítko:

    Hierarchie obsahu

    Přidejte hierarchii nadřazeného kontejneru.

    Volané metody

    Přidejte metody, které tato metoda volá.

    Volající metody

    Přidejte metody, které tuto metodu volají.

    Přepsané metody v základních typech

    V případě metody, která přepíše jiné metody nebo implementuje metodu rozhraní, přidejte všechny abstraktní nebo virtuální metody základních tříd, které jsou přepsány, a případně metodu rozhraní, které je implementováno.

    Odkazovaná pole

    Přidejte pole, na která odkazuje tato metoda.

    Pole, a klikněte na tlačítko:

    Hierarchie obsahu

    Přidejte hierarchii nadřazeného kontejneru.

    Odkazující metody

    Přidejte metody, které odkazují na toto pole.

Podívejte se na téma určité závislostí v sestavení nebo binárních souborů.

  1. Na Architektura nabídky, klikněte na tlačítko Windows, Průzkumník architektury.

  2. Ve sloupci první pod systému souborů, klikněte na tlačítko Vybrat soubory.

  3. V poli Otevřít vyhledejte a vyberte sestavení nebo binární soubory.Klikněte na tlačítko Open pro jejich přidání do dalšího sloupce v Průzkumník architektury.

  4. V dalším sloupci vyberte sestavení nebo binární soubory.

    Ve výchozím nastavení zobrazuje další sloupec položky obsažené ve vybraných položkách.

    Tip

    Chcete-li vybrat další související položky, rozbalte sbalený sloupec napravo od sloupce s výběry.V části Navigace uzly vyberte typy položek, které vás zajímají.V části Odchozí navigace nebo Příchozí navigace vyberte typy vztahů, které vás zajímají.Podívejte se na téma Vyhledávání kódu pomocí Průzkumníka architektury.

  5. Vyhledejte a vyberte všechny položky, které chcete vložit do grafu.

  6. Chcete-li vytvořit novou grafu, na Průzkumník architektury nástrojů, klepněte na tlačítko vytvořit nový graf dokument ze všech vybraných uzlůVytvořit nový graf z tlačítko vybrané uzly.

    -nebo-

    Chcete-li přidat výběr do grafu, postupujte takto:

    1. Otevřete soubor .dgml grafu, nebo vytvořte prázdný graf.

    2. Na Průzkumník architektury panel nástrojů, klepněte na tlačítko Přidat všechny vybrané uzly do dokumentu aktuálně viditelné grafuPřidat všechny vybrané uzly do grafu tlačítko.

      -nebo-

      Přetáhněte položky z části Průzkumník architektury do grafu.

Podívejte se na téma závislosti mezi jazyky C a C++ zdrojové soubory a soubory hlaviček.

Pokud chcete vytvořit podrobnější grafy pro projekty v jazyce C++, nastavte možnost kompilátoru procházet informace (/FR) na těchto projektech.Podívejte se na téma /FR, /Fr (Vytvořit soubor .Sbr).Jinak se objeví zpráva s dotazem, zda chcete tuto možnost nastavit.Pokud vyberete možnost OK, tím se nastaví možnosti pro aktuálního grafu.Můžete skrýt zprávu pro všechny novější grafy.Pokud skryjete tuto zprávu, můžete si dělat ji znovu zobrazit.Nastavit následující klíč registru na 0 nebo odstranění klíče:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\NativeProvider : AutoEnableSbr

Když otevřete řešení, které obsahuje projekty Visual C++, může trvat nějakou dobu, než se aktualizuje databáze technologie IntelliSense.Během této doby nebude možné vytvořit grafy závislosti pro soubory se záhlavím (.h nebo #include), dokud se nedokončí aktualizace databáze IntelliSense.Na stavovém řádku v dolní části sady Visual Studio můžete sledovat průběh aktualizace.Chcete-li vyřešit problémy nebo zprávy, které se zobrazí, protože jsou zakázány určitá nastavení technologie IntelliSense, naleznete v části Poradce při potížích s grafy pro jazyky C a C++ kód.

  • Zobrazit závislosti mezi všemi zdrojových souborech a hlavičkové soubory v rámci vašeho řešení na Architektura nabídky, klikněte na tlačítko Generovat graf závislosti, pro soubor začlenění.

    Graf závislosti pro nativního kódu

  • Chcete-li zobrazit závislosti mezi aktuálně otevřít soubor a související zdrojových souborech a hlavičkové soubory, otevřete zdrojový soubor nebo soubor hlaviček.Otevřete místní nabídku soubor kdekoli uvnitř souboru.Klikněte na tlačítko Generovat grafu soubory zahrnutí.

    Graf závislosti první úrovně pro soubor.

Poradce při potížích s grafy pro jazyky C a C++ kód

Tyto položky nejsou podporovány pro jazyky C a C++ kód:

  • Základní typy se nezobrazují na grafech, které obsahují nadřazené hierarchie.

  • Většina položek nabídky Zobrazit není k dispozici pro kód jazyka C a C++.

Tyto problémy mohlo dojít při vytváření grafů závislostí pro jazyky C a C++ kód:

Problém

Možná příčina

Řešení

Generování grafu závislosti se nezdařilo.

V řešení nebyly úspěšně sestaveny žádné projekty.

Opravte chyby sestavení, k nimž došlo, a potom znovu vytvořte graf.

Visual Studio přestane reagovat při pokusu o generování grafu závislosti z nabídky Architektura.

Soubor databáze programů (.pdb) může být poškozen.

Soubor .pdb ukládá informace o ladění, jako je typ, metoda a informace zdrojového souboru.

Znovu sestavte řešení a potom akci opakujte.

Určitá nastavení pro databázi procházení IntelliSense jsou zakázána.

Určitá nastavení technologie IntelliSense, může být zakázáno v Visual Studio Možnosti dialogového okna.

Nastavení, které se jim umožní zapněte.

Podívejte se na téma Možnosti, textový editor, C/C++, upřesnit.

Zpráva Neznámé metody se zobrazí v uzlu metody.

K tomuto problému dochází, protože nelze vyřešit název metody.

Binární soubor nemusí mít základní přemístění tabulky.

Zapnout /FIXED:NO možnost v propojovacího programu.

Podívejte se na téma /FIXED (Pevná základní adresa).

Soubor databáze programů (.pdb) nemusí být vytvořen.

Soubor .pdb ukládá informace o ladění, jako je typ, metoda a informace zdrojového souboru.

Zapnout /DEBUG možnost v propojovacího programu.

Podívejte se na téma /DEBUG (Generovat ladicí informace).

V očekávaných umístěních nelze otevřít nebo najít soubor .pdb.

Ujistěte se, že v předpokládaném umístění existuje soubor .pdb.

Informace o ladění byly ze souboru .pdb odstraněny.

Pokud byla použita možnost /PDBSTRIPED v Linkeru, místo toho zahrňte kompletní soubor PDB.

Podívejte se na téma /PDBSTRIPPED (Odstranit privátní symboly).

Volající není funkcí a je převodní rutinou v binárním souboru nebo ukazatelem v datové sekci.

Pokud má volající jinou bitovou šířku, zkuste použít _declspec(dllimport), aby se zabránilo jiné bitové šířce.

Další informace:

Grafy závislostí sdílené složky

Sdílet s ostatními uživateli sady Visual Studio grafu

  • Použijte nabídku Soubor k uložení grafu.

    -nebo-

    Chcete-li uložit graf jako součást určitého projektu, otevřete místní nabídku pro plochu grafu.Klikněte na tlačítko přesunout <DependencyGraphName.dgml> do a projektu, kde chcete uložit grafu.

    Visual Studio uloží graf jako soubor .dgml, který můžete sdílet s ostatními uživateli aplikace Visual Studio Ultimate, Visual Studio Premium a Visual Studio Professional.

    [!POZNÁMKA]

    Před sdílením grafu s uživateli, kteří používají Visual Studio Premium a Visual Studio Professional, je třeba rozbalit všechny skupiny, zobrazit skryté uzly a odkazy křížové skupiny a načíst všechny odstraněné uzly, které mají jiní uživatelé vidět ve vašem grafu.Jinak ostatní uživatelé nebudou moci tyto položky zobrazit.

    Při uložení grafu, který je v projektu modelování nebo byl zkopírován z projektu modelování do jiného umístění, může dojít k následující chybě:

    "Nelze uložit název souboru mimo adresáře projektu.Propojené položky nejsou podporovány.“

    Aplikace Visual Studio zobrazí chybu, ale přesto vytvoří uloženou verzi.Chcete-li této chybě zabránit, vytvořte graf mimo projekt modelování.Potom jej můžete uložit do požadovaného umístění.Nebude fungovat, pokud budete chtít soubor pouze zkopírovat do jiného umístění v řešení a potom jej uložit.

Export grafu jako obrázku, aby jej bylo možné kopírovat do jiných aplikací, jako například Microsoft Word nebo PowerPoint

  1. Otevřete místní nabídku surface grafu.Klikněte na tlačítko Upravit, Zkopírujte bitovou kopii.

  2. Vložte obrázek do jiné aplikace.

Export grafu jako souboru XPS, aby jej bylo možné zobrazit v prohlížeči XML nebo XAML, například v aplikaci Internet Explorer

  1. Otevřete místní nabídku surface grafu.Klikněte na tlačítko Uložit ve formátu XPS.

  2. Přejděte na místo, kam chcete soubor uložit.

  3. Pojmenujte graf.Ujistěte se, že je políčko Uložit jako typ nastaveno na možnost Soubory XPS (*.xps).Klikněte na tlačítko Uložit.

Vytvořit grafy programově

Chcete-li vytvořit graf dokumenty (soubory .dgml), mohl pracovat během zpracování dávky spustit GraphCmd.exe nástroj příkazového řádku.Můžete například najít závislostí, které byly změněny mezi sestavení, spusťte nástroj po jednotlivých sestavení.Tento nástroj hledejte v této složce: 12.0\Common7\IDE C:\Program Files\Microsoft Visual Studio.

GraphCmd.exe podporuje pouze kód .NET a generuje informace o závislostech pouze pro sestavení nebo soubory .dgml, nikoli pro zdrojový kód v řešení Visual Studio nebo v souborech projektu.GraphCmd.exe pracuje mimo aplikaci Visual Studio, a podpora činností v dotazech DGQL je proto omezena.

Zde je syntaxe GraphCmd.exe:

GraphCmd -? -all -exceptions -input File_Name -query File_Name -exec "DGQL_Statement" -output File_Name -path alias=path

Zde jsou možnosti pro GraphCmd.exe:

Tyto možnosti lze zadat více než jednou: -input, -query, -exec, a -path

-?

Zobrazte nápovědu pro soubor GraphCmd.exe.

-all

Zahrňte všechny přechodné výsledky dotazu, nejen pro poslední sadu uzlů.

-exceptions

Vytvořte sestavu výjimek dotazu jako soubor dokumentu grafu (.dgml).

-input Název_souboru

Zpracujte zadaný soubor .dgml.

To je užitečné pro následné zpracování velkého souboru .dgml a jeho filtrování proto, že ho tak lze snadněji vizualizovat v aplikaci Visual Studio.

-query Název_souboru

Spuštění zadaného souboru DGQL nebo .dgql (Directed Graph Query Language).

Další informace:

-exec "DGQL_Statement"

Spustí zadaný příkaz DGQL.

Viz Princip jazyka DGQL (Directed Graph Query Language).

-output Název_souboru

Výstupní soubor zadaný .dgml.

-path alias=path

Zadejte nový alias má být použita v vstupu a výstupu DGML dokumentů.

Příklad:

GraphCmd -output MyGeneratedGraph.dgml -path "MyPathAlias=C:\Program Files\..."

Viz Aliasy pro běžně používané cesty.

Aliasy pro běžně používané cesty

Aliasy pro běžně používané cesty zmenšují velikost souboru .dgml a zkracují čas potřebný k načtení nebo uložení souboru.Chcete-li vytvořit alias, přidejte část <Paths></Paths> na konec souboru .dgml.V této části přidejte prvek <Path/>, který chcete definovat jako alias pro cestu:

<Paths>
   <Path Id="MyPathAlias" Value="C:\...\..." />
</Paths>

Chcete-li odkazovat na alias z elementu v souboru .dgml, uzavřete Id z < cesta / > prvek s znak dolar ($) a závorky (()):

<Nodes>
   <Node Id="MyNode" Reference="$(MyPathAlias)MyDocument.txt" />
</Nodes>
<Properties>
   <Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" />
</Properties>

Chcete-li upravit .dgml soubory, naleznete v části Úpravy a přizpůsobení grafů závislostí.

Tady se dozvíte víc o řízené grafu dotazu jazyk (DGQL)

DGQL je kompaktní dotazovací jazyk, který můžete použít k sestavení souborů DGML.Příkaz jazyka DGQL následuje střídající vzor výběru uzlu a akcí tak, aby každý výběr uzlu vytvořil vstup pro další akci, jejíž výstup se stane vstupem pro další výběr uzlu, a tak dále.

Formát příkazu jazyka DGQL:

<node selection> / <action> / <node selection> / <action> / ...

Následující tabulka popisuje syntaxi jazyka DGQL používanou k výběru uzlů:

*

Vybere všechny uzly.

+ "text"

Vybere všechny uzly, které obsahují "text".

+ Id.Equals("text")

Vybere všechny uzly jehož Id se rovná "text".

+ Background.Contains("text")

Vybere všechny uzly jehož Background atribut má hodnotu, která obsahuje řetězec "text".

+ "text1" + "text2" + ...

Vybere všechny uzly, které odpovídají "text1"nebo"text2".

+ MyProperty="True"

Vybere všechny uzly, které mají vlastnost s názvem MyProperty jehož hodnota je "True".

- Label.Contains("text")

Vybere všechny uzly s výjimkou těch, které mají Label atributů, které Contains řetězec "text".

+ Category.Is("MyCategory")

Vybere všechny uzly, které mají kategorie s názvem MyCategory nebo která dědí z MyCategory.

V následující tabulce jsou uvedeny příklady přímých akcí, které lze provádět na vybraných uzlech:

Vzorová akce

Popis

Microsoft.Contains

Vrací všechny uzly, které jsou obsaženy ve vstupních uzlech.Můžete nahradit Contains odkazem na jinou kategorii.

Microsoft.Open

Otevře zdrojový kód pro vstupní uzly.

[!POZNÁMKA]

Funguje pouze v Visual Studio.

Microsoft.AllOutBoundLinks

Vrátí všechny uzly, které jsou cílem odchozího odkazu ze vstupních uzlů.

Microsoft.AllInboundLinks

Vrátí všechny uzly, které jsou zdrojovým zakončením odkazu na vstupní uzly.

Microsoft.Core.CreateGroupsByProperties

Volání GroupByProperties Akce.

Microsoft.AllNodes

Vrací všechny uzly v celém dosavadním grafu.

Akce zaměřené na data volí položky pouze na základě údajů ze vstupních uzlů a odkazů.Při porovnání kategorií pomocí akcí řízených daty jsou zahrnuty děděné kategorie.Následující tabulka obsahuje příklady akcí řízených daty:

Typ

Popis

Node:Both:Category

Vrátí všechny uzly, které mají kategorii Category a jsou propojeny se vstupními uzly odkazem, který odkazuje v obou směrech.

Link:Both:Category

Vrátí všechny uzly, které jsou propojeny s vstupními uzly na odkaz, který odkazuje v obou směrech a má kategorii Category.

Link:Backward:Category

Vrátí všechny uzly, které odkazují do vstupních uzlů s odkazem, který má kategorii Category.

Link:Forward:Category

Vrátí všechny uzly, které vedou ze vstupních uzlů s odkazem, který má kategorii Category.

Tipy

  • Obvykle existuje „výchozí“ akce pro danou sadu vstupních uzlů, která je automaticky vybrána v Průzkumníku architektury.Ke stejnému chování použijte prázdnou akci: //

  • Prázdný znak nemá v DGQL značný význam, takže dotaz můžete naformátovat tak, aby se v případě potřeby vešel na jeden řádek.To je užitečné, když použijete –exec u možnosti GraphCmd.

  • Při ladění DGQL, použijte akci "Execute Expanded" v Průzkumníku architektury, abyste lépe viděli každý krok dotazu a našli krok, který nemá očekávané výsledky.

Příklad

Následující příkaz jazyka DGQL provede dotaz, jak je popsáno v následujícím postupu:

+ Id.Equals("Microsoft.Solution.ClassView") / "Microsoft.Solution.ClassView" / * / "Node:Both:CodeSchema_Class" / + CodeSchemaProperty_IsPublic.Equals("True")
  1. Klikněte na tlačítko Zobrazení tříd uzel v prvním sloupci Průzkumník architektury.

  2. Provedení akce "Microsoft.Solution.ClassView", který vrací všechny obory názvů v řešení.

  3. Použití * Chcete-li vybrat všechny obory názvů.

  4. Vybere všechny uzly, které mají kategorii CodeSchema_Class a souvisí s obory názvů pomocí propojení v obou směrech.To budou obvykle odkazy obsahu.

  5. Filtrujte výsledné třídy pouze na ty, které mají vlastnost CodeSchemaProperty_IsPublic="True".

Technicky, akce "Microsoft.Solution.ClassView" je zbytečná, protože je akce "default" (výchozí) pro uzel Zobrazení tříd.Proto je možné nahradit tuto akci s // pro zjednodušení dotazu a naformátování na jednom řádku následovně:

+Id.Equals("Microsoft.Solution.ClassView")//*/"Node:Both:CodeSchema_Class"/+CodeSchemaProperty_IsPublic.Equals("True")

Co dalšího mohu udělat?

Kde lze získat další informace?

Kategorie

Odkazy

Diskuzní fóra

Blogy