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.
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 ) veya ikili dosyalarda yerel veya yönetilen C veya
#include
C++ koduMicrosoft Dynamics AX için .NET modüllerinden yapılan X++ projeleri ve derlemeleri
Not
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.
Önkoşullar
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.
Not
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:
Çözüm Gezgini'da üst düzey çözüm düğümünüzün kısayol menüsünü açın. Yeni Öğe Ekle'yi>seçin.
Yeni Öğe Ekle iletişim kutusundaki Yüklü altında Genel kategorisini seçin.
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 yeni>bir kod eşleme 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:
Menü çubuğunda Çözüm için Mimari>Kod Eşlemesi Oluştur'u seçin. Kodunuzu son oluşturduğunuzdan bu yana değişmemişse, bunun yerine Derlemeden Çözüm için Mimari>Kod Haritası Oluştur'a seçebilirsiniz.
Aralarındaki en üst düzey derlemeleri ve 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.
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.
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.
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.
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 için 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.
İ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.
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.
Ayrıca, temel alınan çözüm kodunu etkilemeden tek tek grupları ve öğeleri haritadan gizleyerek veya kaldırarak haritayı basitleştirebilirsiniz.
Öğ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.
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. Yöntem çağrıları da olabilir, ancak bunlar devralma ilişkisi tarafından gizlenir. Belirli bağlantı türlerini görmek için Filtreler bölmesindeki onay kutularını kullanarak ilgilenmediğiniz türleri gizleyin.
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.
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.
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.
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.
İç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.
İlişkileri görüntülemek için grupları genişletin ve haritadaki öğeleri seçin.
Ayrıca bkz:
- Kod haritalarına göz atma ve bunları yeniden düzenleme
- DGML dosyalarını düzenleyerek kod haritalarını özelleştirme
- Çözümleyici çalıştırarak kodunuzdaki olası sorunları bulma
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.
Çözüm Gezgini eşlemek istediğiniz projeleri, derleme başvurularını, klasörleri, dosyaları, türleri veya üyeleri seçin.
Çözüm Gezgini araç çubuğunda Kod Eşlemesinde Göster'i seçin. Alternatif olarak, bir veya bir öğe grubunun kısayol menüsünü açın ve Kod Eşlemesinde Göster'i seçin.
Ayrıca öğeleri Çözüm Gezgini, Sınıf Görünümü veya Nesne Tarayıcısı'ndan yeni veya mevcut bir kod haritasına sürükleyebilirsiniz. Öğ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.
Not
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 projesi olarak değiştirirseniz ve paylaşılan projeden daha fazla öğe eklerseniz, bu öğeler yeni etkin olan uygulama projesiyle görünür. Eşleme üzerinde bir öğeyle gerçekleştirdiğiniz işlemler, yalnızca aynı bağlamı paylaşılan öğeler için geçerlidir.
Harita, seçili öğeleri içeren derlemeleri içinde gösterir.
Öğeleri keşfetmek için 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.
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.
İlgilendiğiniz öğeleri sınıfa ve gerekirse üye düzeyine kadar genişletmeye devam edin.
Kodda yer alan ancak haritada görünmeyen üyeleri görmek için, grubun sol üst köşesindeki Alt Öğeleri Yeniden Oluştur simgesine tıklayın.
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:
Seçenek Açıklama Derlemeleri Göster Bu Başvurular Bu derlemenin başvurduğu derlemeleri ekleyin. Dış derlemeler Dışlar grubunda görünür. Buna Başvuran Derlemeleri Göster Çözümde bu derlemeye başvuran derlemeleri ekleyin. Bir ad alanı için, görünür değilse, İçeren Derlemeyi Göster'i seçin.
Sınıf veya arabirim için şunları seçin:
Seçenek Açıklama Temel Türleri Göster Bir sınıf için taban sınıfı ve uygulanan arabirimleri ekleyin.
Bir arabirim için temel arabirimleri ekleyin.Türetilmiş Türleri Göster Bir sınıf için türetilmiş sınıfları ekleyin.
Bir arabirim için türetilmiş arabirimleri ve uygulama sınıflarını veya yapılarını ekleyin.Bu Başvuruların Türlerini Göster Tüm sınıfları ve bu sınıfın kullandığı üyeleri ekleyin. Buna Başvuran Türleri Göster Tüm sınıfları ve bu sınıfı kullanan üyelerini ekleyin. İçeren Ad Alanını Göster Üst ad alanını ekleyin. İçeren Ad Alanı ve Derlemeyi Göster Üst kapsayıcı hiyerarşisini ekleyin. Tüm Temel Türleri Göster Yinelemeli olarak taban sınıf veya arabirim hiyerarşisi ekleyin. Türetilmiş Tüm Türleri Göster Bir sınıf için tüm türetilmiş sınıfları yinelemeli olarak ekleyin.
Bir arabirim için türetilmiş tüm arabirimleri ve uygulama sınıflarını veya yapılarını yinelemeli olarak ekleyin.Bir yöntem için şunları seçin:
Seçenek Açıklama Bu Çağrıların Yöntemlerini Göster Bu yöntemin çağırdığı yöntemleri ekleyin. Bu Başvuruların Alanlarını Göster Bu yöntemin başvurduğu alanları ekleyin. İçeren Türü Göster Üst türü ekleyin. İçeren Türü, Ad Alanını ve Derlemeyi Göster Üst kapsayıcı hiyerarşisini ekleyin. Geçersiz Kılınan Yöntemleri Göster Diğer yöntemleri geçersiz kılan veya bir arabirimin yöntemini uygulayan bir yöntem için geçersiz kılınan taban sınıflardaki tüm soyut ya da sanal yöntemleri ve varsa arabirimin uygulanan yöntemini ekleyin. Bir alan veya özellik için şunları seçin:
Seçenek Açıklama İçeren Türü Göster Üst türü ekleyin. İçeren Türü, Ad Alanını ve Derlemeyi Göster Üst kapsayıcı hiyerarşisini ekleyin. Harita ilişkileri gösterir. Bu örnekte, eşleme yöntemi tarafından
Find
çağrılan yöntemleri ve çözümdeki veya harici konumlarını gösterir.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.
İlgili içerik
- Kod haritalarını paylaşma
- C++ için kod eşlemeleri oluşturma
- Kod haritası performansını geliştirme
- Uygulamalarınızda hata ayıklamak için kod haritalarını kullanma
- Hata ayıklarken çağrı yığınında eşleştirme yöntemleri
- Kod haritası çözümleyicilerini kullanarak olası sorunları bulma
- Kod haritalarına göz atma ve bunları yeniden düzenleme
- DGML dosyalarını düzenleyerek kod haritalarını özelleştirme