Kod eşlemeleriyle bağımlılıkları eşleme

Bu makalede kod eşlemeleri ile kodunuz genelinde bağımlılıkları görselleştirmeyi öğreneceksiniz.

Kod eşlemeleri nedir?

Visual Studio'da kod eşlemeleri, program kodunuzun dosyaları ve kod satırlarını okumadan nasıl bir araya topduğunu daha hızlı görmenize yardımcı olur. Bu haritalarla, kodunuzda yapısı ve bağımlılıkları, güncelleştirme ve önerilen değişikliklerin maliyetini tahmin etme dahil olmak üzere kuruluşu ve ilişkileri görebilirsiniz.

Visual Studio'da kod eşlemeleriyle bağımlılıkları görüntülemeyi gösteren ekran görüntüsü.

Kod için bağımlılıkları şu dillerde eşleyebilirsiniz:

  • Çözüm veya derlemelerde Visual C# veya Visual Basic (.dll veya .exe)

  • Visual C++ projelerinde, üst bilgi dosyalarında (.h veya #includeC++) veya ikili dosyalarda yerel veya yönetilen C veya C++ kodu

  • Microsoft Dynamics AX için .NET modüllerinden yapılan X++ projeleri ve derlemeleri

Uyarı

C# veya Visual Basic dışındaki projelerde, kod eşlemesi başlatmak veya var olan bir kod eşlemesine öğe eklemek için daha az seçenek vardır. Örneğin, bir C++ projesinin metin düzenleyicisinde bir nesneye sağ tıklayıp bir kod eşlemesine ekleyemezsiniz. Ancak Çözüm Gezgini, Sınıf Görünümü ve Nesne Tarayıcısı'ndan tek tek kod öğelerini veya dosyalarını sürükleyip bırakabilirsiniz.

Prerequisites

Visual Studio'da kod eşlemesi oluşturmak için önce Kod Eşlemesi ve Canlı Bağımlılık Doğrulama bileşenlerini yükleyin

Kod eşlemeleri oluşturmak ve düzenlemek için Visual Studio Enterprise sürümü gerekir. Ancak Visual Studio Community ve Professional sürümlerinde Enterprise sürümünde oluşturulan diyagramları açabilirsiniz ancak düzenleyemezsiniz.

Uyarı

Visual Studio Enterprise'da oluşturulan haritaları Visual Studio Professional kullanan diğer kişilerle paylaşmadan önce, haritadaki tüm öğelerin (gizli öğeler, genişletilmiş gruplar ve gruplar arası bağlantılar gibi) görünür olduğundan emin olun.

Kod haritası ekleme

Boş bir kod eşlemesi oluşturup derleme başvuruları, dosyalar ve klasörler gibi öğeleri bu haritaya sürükleyebilir veya çözümünüzün tamamı veya bir bölümü için bir kod eşlemesi oluşturabilirsiniz.

Boş bir kod eşlemesi eklemek için:

  1. Çözüm Gezgini'nde üst düzey çözüm düğümünüzün kısayol menüsünü açın. Yeni Öğe Ekle'yi> seçin.

  2. Yeni Öğe Ekle iletişim kutusundaki Yüklü altında Genel kategorisini seçin.

  3. Yönlendirilmiş Grafik Belgesi(.dgml) şablonunu ve ardından Ekle'yi seçin.

    İpucu

    Bu şablon alfabetik olarak görünmeyebilir, bu nedenle görmüyorsanız şablon listesinin en altına kadar aşağı kaydırın.

    Çözümünüzün Çözüm Öğeleri klasöründe boş bir harita görüntülenir.

Benzer şekilde, Mimari> Yeni Kod Haritası veya Dosya Yeni Dosya'yı seçerek çözümünüze eklemeden> bir>dosyası oluşturabilirsiniz.

Daha fazla bilgi edinin:

Çözümünüz için kod haritası oluşturma

Çözümünüzdeki tüm bağımlılıkları görmek için:

  1. Menü çubuğunda Çözüm için Mimari>Kod Eşlemesi Oluştur'u seçin. Kodunuz son derlemeden bu yana değişmediyse, bunun yerine Derleme Yapmadan Çözüm için Kod Haritası Oluştur seçeneğine tıklayabilirsiniz.

    Çözüm için Kod Eşlemesi Oluştur komutunu gösteren ekran görüntüsü.

    En üst düzey montajlar ve bunlar arasındaki toplu bağlantıları gösteren bir harita oluşturulur. Toplama bağlantısı ne kadar genişse, o kadar fazla bağımlılık temsil eder.

  2. Proje türü simgelerinin (Test, Web ve Telefon Projesi gibi), kod öğelerinin (Sınıflar, Yöntemler ve Özellikler gibi) ve ilişki türlerinin (Devralan Kaynak, Uygulama ve Çağrılar gibi) listesini göstermek veya gizlemek için kod eşlemesi araç çubuğundaki Gösterge düğmesini kullanın.

    Derlemelerin üst düzey bağımlılık grafiğini gösteren ekran görüntüsü.

    Bu örnek çözüm Çözüm Klasörleri (Testler ve Bileşenler), Test Projeleri, Web Projeleri ve derlemeler içerir. Varsayılan olarak, tüm kapsama ilişkileri gruplar olarak görünür ve bunu genişletip daraltabilirsiniz. Dışlar grubu, platform bağımlılıkları dahil olmak üzere çözümünüzün dışındaki her şeyi içerir. Dış derlemeler yalnızca kullanılan öğeleri gösterir. Sistem temel türleri, dağınıklığı azaltmak için varsayılan olarak haritada gizlenir.

  3. Haritanın detayına gitmek için projeleri ve derlemeleri temsil eden grupları genişletin. CTRL+A tuşlarına basarak tüm düğümleri seçip ardından kısayol menüsünden Gruplandır, Genişlet'i seçerek her şeyi genişletebilirsiniz.

    Kod haritasında genişletilmiş tüm grupları gösteren ekran görüntüsü.

  4. Ancak, bu büyük bir çözüm için yararlı olmayabilir. Aslında, karmaşık çözümler için bellek sınırlamaları tüm grupları genişletmenizi engelleyebilir. Bunun yerine, tek bir düğümün içini görmek istiyorsanız, onu genişletin. Fare işaretçinizi düğümün üzerine getirin ve göründüğünde köşeli çift ayraç (aşağı ok) öğesine tıklayın.

    Kod eşlemesindeki bir düğümün nasıl genişletildiğini gösteren ekran görüntüsü.

    İsterseniz, öğeyi seçip artı tuşuna (+ ) basarak da klavyeyi kullanabilirsiniz. Daha derin kod düzeylerini keşfetmek için ad alanları, türler ve üyeler için aynı işlemi yapın.

    İpucu

    Fare, klavye ve dokunma kullanarak kod haritalarıyla çalışma hakkında daha fazla ayrıntı için bkz. Kod haritalarına göz atma ve yeniden düzenleme.

  5. Haritayı basitleştirmek ve tek tek parçalara odaklanmak için kod haritası araç çubuğunda Filtreler'i seçin ve yalnızca ilgilendiğiniz düğüm ve bağlantı türlerini seçin. Örneğin, tüm Çözüm Klasörü ve Derleme kapsayıcılarını gizleyebilirsiniz.

    Kapsayıcıları filtreleyerek haritayı basitleştirmeyi gösteren ekran görüntüsü.

    Ayrıca, temel alınan çözüm kodunu etkilemeden tek tek grupları ve öğeleri haritadan gizleyerek veya kaldırarak haritayı basitleştirebilirsiniz.

  6. Öğeler arasındaki ilişkileri görmek için bunları haritada seçin. Bağlantıların renkleri, Gösterge bölmesinde gösterildiği gibi ilişki türlerini gösterir.

    Çözümler arasında bağımlılıkları görüntülemeyi gösteren ekran görüntüsü.

    Bu örnekte mor bağlantılar çağrılar, noktalı bağlantılar başvurular ve açık mavi bağlantılar ise alan erişimidir. Yeşil bağlantılar devralma olabilir veya birden fazla ilişki türünü (veya kategoriyi) gösteren toplu bağlantılar olabilir.

    İpucu

    Yeşil bir bağlantı görürseniz, bu yalnızca bir devralma ilişkisi olduğu anlamına gelmez. Metot çağrıları da olabilir, ancak bunlar devralma ilişkisi nedeniyle gizlenir. Belirli bağlantı türlerini görmek için Filtreler bölmesindeki onay kutularını kullanarak ilgilenmediğiniz türleri gizleyin.

  7. Bir öğe veya bağlantı hakkında daha fazla bilgi edinmek için, araç ipucu görünene kadar işaretçiyi üzerine taşıyın. Bu, bir kod öğesinin veya bağlantının temsil ettiği kategorilerin ayrıntılarını gösterir.

    İlişki kategorilerini gösteren ekran görüntüsü.

  8. Toplama bağlantısıyla temsil edilen öğeleri ve bağımlılıkları incelemek için önce bağlantıyı seçin ve ardından kısayol menüsünü açın. Katkıda Bulunan Bağlantıları Göster'i (veya Yeni Kod Haritasında Katkıda Bulunan Bağlantıları Göster)'i seçin. Bu işlem, bağlantının her iki ucundaki grupları genişletir ve yalnızca bağlantıya katılan öğeleri ve bağımlılıkları gösterir.

  9. Haritanın belirli bölümlerine odaklanmak için ilgilenmediğiniz öğeleri kaldırmaya devam edebilirsiniz. Örneğin, sınıf ve üye görünümünde detaya gitmek için Filtreler bölmesindeki tüm ad alanı düğümlerini filtrelemeniz yeterlidir.

    Sınıf ve üye düzeyinde detaya gitmeyi gösteren ekran görüntüsü.

  10. Karmaşık bir çözüm haritasına odaklanmanın bir diğer yolu da mevcut bir haritadan seçilen öğeleri içeren yeni bir harita oluşturmaktır. Odaklanmak istediğiniz öğeleri seçerken Ctrl tuşunu basılı tutun, kısayol menüsünü açın ve Seçimden Yeni Grafik'i seçin.

    Seçili öğelerin yeni bir kod haritasında nasıl gösterildiğini gösteren ekran görüntüsü.

  11. İçeren bağlam yeni haritaya taşınır. Filtreler bölmesini kullanarak görmek istemediğiniz Çözüm Klasörleri'ni ve diğer kapsayıcıları gizleyin.

    Görünümü basitleştirmek için kapsayıcıları filtrelemeyi gösteren ekran görüntüsü.

  12. İlişkileri görüntülemek için grupları genişletin ve haritadaki öğeleri seçin.

    İlişkileri görüntülemek için öğeleri seçmeyi gösteren ekran görüntüsü.

Ayrıca bkz:

Bağımlılıkları görüntüleme

Bekleyen değişiklikleri olan bazı dosyalarda gerçekleştirmek için bir kod gözden geçirmeniz olduğunu varsayalım. Bu değişikliklerdeki bağımlılıkları görmek için bu dosyalardan bir kod eşlemesi oluşturabilirsiniz.

Kod haritasındaki bağımlılıkları gösteren ekran görüntüsü.

  1. Çözüm Gezgini, Sınıf Görünümü veya Nesne Tarayıcısı'ndan öğeleri yeni veya mevcut bir kod eşlemesine sürükleyin. Öğelerinizin üst hiyerarşisini eklemek için, öğeleri sürüklerken Ctrl tuşunu basılı tutun veya varsayılan eylemi belirtmek için kod eşlemesi araç çubuğundaki Üst Öğeleri Ekle düğmesini kullanın. Derleme dosyalarını Windows Gezgini gibi Visual Studio dışından da sürükleyebilirsiniz.

    Uyarı

    Windows Phone veya Microsoft Store gibi birden çok uygulama arasında paylaşılan bir projeden öğeler eklediğinizde, bu öğeler o anda etkin olan uygulama projesiyle haritada görünür. Bağlamı başka bir uygulama projesiyle değiştirir ve paylaşılan projeden daha fazla öğe eklerseniz, bu öğeler artık yeni etkin uygulama projesiyle birlikte görünür. Haritadaki bir öğeyle gerçekleştirdiğiniz işlemler yalnızca aynı bağlamı paylaşan öğeler için geçerlidir.

  2. Harita, seçili öğeleri içeren derlemeleri içinde gösterir.

    Öğeleri haritada grup olarak gösteren ekran görüntüsü.

  3. Öğeleri keşfetmek için onları genişletin. Fare işaretçisini öğenin üzerine getirin, ardından göründüğünde köşeli çift ayraç (aşağı ok) simgesine tıklayın.

    Çocuk öğe ekleme okunu gösteren ekran görüntüsü.

    Tüm öğeleri genişletmek için , Ctrl+A kullanarak öğeleri seçin, ardından haritanın kısayol menüsünü açın ve Grup>Genişlet'i seçin. Ancak, tüm grupların genişletilmesi kullanılamayan bir harita veya bellek sorunları oluşturuyorsa bu seçenek kullanılamaz.

  4. İlgilendiğiniz öğeleri sınıfa ve gerekirse üye düzeyine kadar genişletmeye devam edin.

    Sınıf ve üye düzeyine genişletilmiş grupları gösteren ekran görüntüsü.

    Kodda yer alan ancak haritada görünmeyen üyeleri görmek için, grubun sol üst köşesindeki Alt Öğeleri Yeniden Getir simgesine Refetch Children Simgesi tıklayın.

  5. Haritadaki öğelerle ilgili daha fazla öğe görmek için birini seçin ve kod haritası araç çubuğunda İlişkilileri Göster'i seçin, ardından haritaya eklenecek ilgili öğelerin türünü seçin. Alternatif olarak, bir veya daha fazla öğe seçin, kısayol menüsünü açın ve ardından haritaya eklenecek ilgili öğelerin türü için Göster seçeneğini belirleyin. Örneğin:

    Derleme için şunları seçin:

    Option Açıklama
    Bu Başvuruların Gösterdiği Derlemeler Bu derlemenin referans verdiği derlemeleri ekleyin. Dış derlemeler Harici Bileşenler grubunda görünür.
    Bunu Referans Veren Derlemeleri Göster Çözümde bu derlemeye başvuran derlemeler ekleyin.

    Bir ad alanı için, eğer görünür değilse İçeren Derlemeyi Göster'i seçin.

    Sınıf veya arabirim için seçim yapın:

    Option Açıklama
    Temel Türleri Göster Bir sınıf için temel sınıfı ve uygulanan arabirimleri ekleyin.

    Arabirim için temel arabirimleri ekleyin.
    Türetilmiş Türleri Göster Bir sınıf için türetilmiş sınıfları ekleyin.

    Arabirim için türetilmiş arabirimleri ve uygulayan sınıfları veya yapıları ekleyin.
    Bunun Referans Verdiği Türleri Göster Bu sınıfın kullandığı tüm sınıfları ve üyelerini ekleyin.
    Buna Referans Veren Türleri Göster Bu sınıfı kullanan tüm sınıfları ve üyelerini ekleyin.
    İçeren Ad Alanını Göster Ana ad alanını ekleyin.
    Ad Alanı ve Derleme İçereni Göster Ana kapsayıcı hiyerarşisini ekleyin.
    Tüm Temel Türleri Göster Temel sınıfı veya arabirim hiyerarşisini özyinelemeli olarak ekleyin.
    Türetilmiş Tüm Türleri Göster Bir sınıf için türetilmiş tüm sınıfları özyinelemeli olarak ekleyin.

    Bir arabirim için tüm türetilmiş arabirimleri ekleyin ve sınıfları veya yapıları özyinelemeli olarak uygulayın.

    Bir yöntem için şunları seçin:

    Option Açıklama
    Bu Çağrıların Yöntemlerini Göster Bu yöntemin çağırdığını yöntemleri ekleyin.
    Bu Referansların Alanlarını Göster Bu yöntemin başvurduğunu alanları ekleyin.
    İçeren Türü Göster Üst türü ekleyin.
    İçeren Türü, Ad Alanını ve Derlemeyi Göster Ana kapsayıcı hiyerarşisini ekleyin.
    Geçersiz Kılınan Yöntemleri Göster Diğer yöntemleri geçersiz kılan veya arabirimin yöntemini uygulayan bir yöntem için geçersiz kılınan temel sınıflara tüm soyut veya sanal yöntemleri ve varsa arabirimin uygulanan yöntemini ekleyin.

    Bir alan veya özellik için şunları seçin:

    Option Açıklama
    İçeren Türü Göster Üst türü ekleyin.
    İçeren Türü, Ad Alanını ve Derlemeyi Göster Ana kapsayıcı hiyerarşisini ekleyin.

    Yöntemleri göstermek için komutunu gösteren ekran görüntüsü.

  6. Harita ilişkileri gösterir. Bu örnekte harita, Find yöntemi tarafından çağrılan yöntemleri ve bunların çözümdeki ya da harici konumlarını gösterir.

    Kod haritasındaki belirli bağımlılıkları gösteren ekran görüntüsü.

  7. Haritayı basitleştirmek ve tek tek parçalara odaklanmak için kod haritası araç çubuğunda Filtreler'i seçin ve yalnızca ilgilendiğiniz düğüm ve bağlantı türlerini seçin. Örneğin, Çözüm Klasörleri, Derlemeler ve Ad Alanları'nın görüntülenmesini kapatın.

    Görüntüyü basitleştirmeye yönelik Filtre seçeneklerini gösteren ekran görüntüsü.