Visual Studio'da C++ kodunu düzenleme ve yeniden düzenleme
Visual Studio kodunuzu yazmanıza, düzenlemenize ve yeniden düzenlemenize yardımcı olacak çeşitli araçlar sağlar.
IntelliSense
IntelliSense, siz yazarken sizin için semboller ve kod parçacıkları öneren güçlü bir kod tamamlama aracıdır. Visual Studio'da C++ IntelliSense gerçek zamanlı olarak çalışır, güncelleştirdikçe kod tabanınızı analiz eder ve öneriler sağlar. Siz daha fazla karakter yazdıkça, önerilen sonuçların listesi daraltılır.
Bazı simgeler sonuçları daraltmaya yardımcı olmak için otomatik olarak atlanır. Örneğin, sınıf nesnesinin üyelerine sınıfın dışından erişirken, varsayılan olarak özel üyeleri veya korumalı üyeleri göremezsiniz (bir alt sınıf bağlamında değilseniz). Alttaki düğmeleri kullanarak filtrelemeyi ayarlayabilirsiniz.
Açılan listeden simgeyi seçtikten sonra Sekme, Enter veya diğer işleme karakterlerinden biriyle otomatik olarak tamamlayabilirsiniz (varsayılan olarak: { } [ ] ( ) . , : ; + - * / % & | ^ ! = ? @ # \
). Bu listeden karakter eklemek veya listeden karakter kaldırmak için Hızlı Başlat'ta (Ctrl + Q) "IntelliSense" araması yapın ve Metin Düzenleyicisi > C/C++ > Gelişmiş seçeneğini belirleyin. Üye Listesi İşleme Karakterleri seçeneği, listeyi istediğiniz değişikliklerle özelleştirmenizi sağlar.
Üye Listesi Filtre Modu seçeneği, ne tür IntelliSense otomatik tamamlama önerileri göreceğinizi denetler. Varsayılan olarak, Benzer olarak ayarlanır. Benzer aramada MyAwesomeClass adlı bir simgeniz varsa ,"MAC" yazabilir ve sınıfı otomatik tamamlama önerilerinizde bulabilirsiniz. Benzer algoritma, simgelerin listede görünmesi için uyması gereken en düşük eşiği ayarlar. Akıllı filtreleme, yazdığınız değerle eşleşen alt dizeler içeren tüm simgeleri görüntüler. Ön ek filtreleme, yazdıklarınızla başlayan dizeleri arar.
C++ IntelliSense hakkında daha fazla bilgi için bkz. Visual C++ IntelliSense ve IntelliSense için C++ projesi yapılandırma.
IntelliCode
IntelliCode, yapay zeka destekli IntelliSense'tir. En olası adayı tamamlama listenizin en üstüne yerleştirir. IntelliCode önerileri, GitHub'da her biri 100'den fazla yıldıza sahip binlerce açık kaynak projesini temel alır. Kodunuzun bağlamı ile birleştirildiğinde, tamamlama listesi yaygın uygulamaları teşvik etmek için uyarlanır.
C++ yazarken IntelliCode, C++ Standart Kitaplığı gibi popüler kitaplıkları kullanırken yardımcı olur. Kodunuzun bağlamı, önce en yararlı önerileri sağlamak için kullanılır. Aşağıdaki örnekte üye size
işlevi genellikle işlevle birlikte kullanıldığından sort
sonuç listesinin en üstüne çıkarılır.
Visual Studio 2022 ve Visual Studio 2019'da IntelliCode, C++ Masaüstü Geliştirme iş yükünde isteğe bağlı bir bileşen olarak kullanılabilir. IntelliCode'un C++ için etkin olduğundan emin olmak için Araçlar>Seçenekleri>IntelliCode>Genel'e gidin ve C++ temel modelini Etkin olarak ayarlayın.
Visual Studio 2017'de IntelliCode, Visual Studio Market'te uzantı olarak kullanılabilir.
Tahmine Dayalı IntelliSense (Deneysel)
Tahmine dayalı IntelliSense, IntelliSense açılan listesinde görüntülenen sonuç sayısını sınırlamak için bağlamsal farkındalık kullanan deneysel bir özelliktir. Algoritma, yalnızca beklenen türle eşleşen sonuçları göstermesi için tür eşleştirme uygular. En basit durumda, IntelliSense açılan listesini yazıp int x =
çağırırsanız yalnızca tamsayıları veya tamsayıları döndüren işlevleri görürsünüz. Bu özellik, hala geliştirme aşamasında olduğundan varsayılan olarak kapalıdır. Genel sembollerle en iyi şekilde çalışır; üye işlevleri henüz desteklenmiyor. Hızlı Başlat'ta "Tahmine Dayalı" yazarak veya Araçlar>Seçenekler>Metin Düzenleyicisi>C/C++>Deneysel>Tahmine Dayalı IntelliSense'i Etkinleştir'e giderek bu özelliği açabilirsiniz.
Tahmine Dayalı IntelliSense'i geçersiz kılmak ve daha uzun listeyi göstermek için Ctrl + J tuşlarına basın. Tahmine Dayalı IntelliSense açıksa, Ctrl + J çağrılırsa Tahmine dayalı filtre kaldırılır. Ctrl + J tuşlarına yeniden basıldığında, erişilebilirlik filtresi uygun olduğunda Üye Listesi sonuçlarından kaldırılır. IntelliSense açılan listesinin altındaki ([+]) düğmesi, Ctrl + J ile aynı işlemi yapar. Gösterilenler hakkında araç ipucu bilgilerini görmek için düğmenin üzerine gelin.
Yukarıdaki ekran görüntüsünde açılan listenin altında birkaç düğme gösterilmektedir. Bunlar, farklı sonuç türleri için IntelliSense Filtrelerini etkinleştirir:
- Değişkenler ve Sabitler
- İşlevler
- Türler
- Makrolar
- Numaralandırmalar
- Ad alanları
Düğme yalnızca geçerli IntelliSense oturumunuzla ilgiliyse görüntülenir. Genellikle tüm düğmeleri aynı anda görmezsiniz.
Şablon IntelliSense
Şablon çubuğu, imleciniz şablon tanımında olduğunda görüntülenen bir kullanıcı arabirimi öğesidir. Şablon gövdesini düzenlerken görünecek intellisense için örnek şablon bağımsız değişkenleri sağlayabildiğiniz için kullanışlıdır. Örneğin, şablon bağımsız değişkeninin türünde std::vector<int>
olduğunu belirtebilirsiniz. Ardından, şablon gövdesinde bu bağımsız değişkeni kullandığınızda, üyelerini std::vector<int>
intellisense'te görürsünüz.
Şablon Çubuğu'nu <genişletmek/daraltmak için T> simgesine tıklayın. Parametreler için bağımsız değişken türlerini belirttiğiniz Düzenle penceresini açmak için kalem simgesine tıklayın veya Şablon Çubuğu'na çift tıklayın.
Şablon Çubuğu, kodunuzda şablonun örneklemelerine göre parametre türlerini otomatik olarak doldurabilir. Kod tabanınızda şablonun örneğini oluşturmak için kullanılan tüm somut bağımsız değişkenlerin listesini görmek için Varolan Tüm Örneklemeleri Ekle'ye tıklayın.
Düzenleyicinin alt kısmındaki bir pencere, her örneklemenin nerede bulunduğunu ve bağımsız değişkenlerinin ne olduğunu gösterir. Örnek oluşturmanın bulunduğu kodunuzdaki konuma gitmek için bir örnekleme seçebilirsiniz.
Şablon Çubuğu bilgileri kullanıcıya özgüdür. Klasöründe depolanır .vs
ve kaynak denetimine kaydedilmez.
Hata dalgalı çizgiler ve hızlı düzeltmeler
Düzenleyici kodunuzla ilgili sorunlar algılarsa, sorunun altına renkli dalgalı çizgiler ekler. Kırmızı dalgalı çizgiler derlenmeyecek kodu gösterir. Yeşil dalgalı çizgiler, hala ciddi olabilecek diğer sorun türlerini gösterir. Sorunlar hakkında daha fazla bilgi edinmek için Hata Listesi penceresini açabilirsiniz.
Bazı hata türleri ve yaygın kodlama desenleri için düzenleyici, dalgalı çizginin üzerine geldiğinizde görüntülenen ampul biçiminde bir Hızlı Düzeltme sunar. Önerileri görmek için aşağı oka tıklayın.
Aşağıdaki örnekte, bir vector
bildirildi ancak tanım bulunamadı, bu nedenle düzenleyici gerekli üst bilgi dosyasını eklemeyi teklif ediyor:
Düzenleyici ayrıca bazı yeniden düzenleme fırsatları için Hızlı Düzeltmeler sunar. Örneğin, bir üst bilgi dosyasında sınıf bildirirseniz, Visual Studio bunun için ayrı bir .cpp dosyasında bir tanım oluşturmayı önerir.
Değişiklik izleme
Bir dosyada her değişiklik yaptığınızda, kaydedilmemiş değişikliklerin yapıldığını belirtmek için sol tarafta sarı bir çubuk görünür. Dosyayı kaydettiğinizde, çubuk yeşile döner. Belge düzenleyicide açık olduğu sürece yeşil ve sarı çubuklar korunur. Belgeyi son açtığınızdan bu yana yapılan değişiklikleri temsil ederler.
Kodu taşıma
Kod satırlarını seçip Alt tuşunu basılı tutarak ve Yukarı/Aşağı ok tuşlarına basarak yukarı ve aşağı taşıyabilirsiniz.
Kod parçacıkları ekleme
Kod parçacığı, önceden tanımlanmış bir kaynak kodu parçasıdır. Tek bir noktaya veya seçili metne sağ tıklayın ve kod parçacığı eklemek veya seçili metni kod parçacığıyla çevrelemek için Kod Parçacığı'nı seçin. Aşağıdaki çizimde, seçilen bir deyimi for döngüsüyle çevrelemek için üç adım gösterilmektedir. Son görüntüdeki sarı vurgular, sekme tuşuyla erişdiğiniz düzenlenebilir alanlardır. Daha fazla bilgi için bkz . Kod Parçacıkları.
Bir işlev seçilidir. İşlev adına sağ tıkladıktan sonra görüntülenen açılan listede Şununla Çevrele... sarı renkle vurgulanır. Şununla Çevrele: açılan listesinde bir 'for' döngüsü için kod parçacığı seçilir. Bu, işlevin çevresine bir for döngüsü yerleştirmeye neden olur. Döngü değişkeni ve sınırı, düzenlenebilir alanlar olduğunu belirtmek için sarı renkte gösterilir.
Sınıf Ekle
Proje menüsünden veya Çözüm Gezgini bağlam menüsünden yeni bir sınıf ekleyin:
Varolan bir sınıfı değiştirmek veya incelemek için Sınıf Sihirbazı'nı da kullanabilirsiniz.
Daha fazla bilgi için bkz . Kod Sihirbazlarıyla İşlevsellik Ekleme (C++).
Yeniden Düzenle
Yeniden düzenleme işlemleri, Hızlı İşlem bağlam menüsünün altında veya düzenleyicideki bir ampule tıklayarak kullanılabilir. Bazıları, Yeniden Düzenlemeyi Düzenle > menüsünde de bulunur. Bu özellikler şunları içerir:
- Yeniden Adlandır
- İşlevi Ayıkla
- Saf Sanalları Uygula
- Bildirim / Tanım Oluştur
- Move İşleminin Tanımı
- Ham Dize Sabit Değerine Dönüştür
- İmzayı Değiştir
ClangFormat ve EditorConfig ile kod stili uygulama
Visual Studio 2017 ve üzeri, Clang/LLVM tabanlı C++ için popüler bir kod biçimlendirme yardımcı programı olan ClangFormat için yerleşik destekle birlikte gelir. Bu yaygın biçimlerden birini kullanacak şekilde ayarlamak için Hızlı Başlat'a "ClangFormat" yazın:
- LLVM
- Krom
- Mozilla
- WebKit
- Visual Studio
Ayrıca, tüm kod dosyalarına aynı düzeyde veya _clang-format
altında özel kurallar uygulamak için kendi .clang-format
veya dosyanızı da sağlayabilirsiniz.
Dosyalar kaynak denetimi aracılığıyla kolayca paylaşılabilir, böylece tüm geliştirme ekibiniz genelinde kodlama kurallarını zorunlu kılabilirsiniz.
Visual Studio 2017 ve üzeri, benzer şekilde çalışan EditorConfig'i de destekler. Ancak ClangFormat, C++'a özgü kurallar da dahil olmak üzere EditorConfig'den daha fazla stil seçeneğine sahiptir. EditorConfig ile .editorconfig dosyaları oluşturur ve bu klasörler ve alt klasörleri için kod stillerini belirtmek üzere bunları kod tabanınızın farklı klasörlerine yerleştirirsiniz. .editorconfig dosyası, üst klasörlerdeki diğer .editorconfig dosyalarının yerini alır ve Araçlar>Seçenekleri aracılığıyla yapılandırılan biçimlendirme ayarlarının üzerine yazar. Sekmeler ve boşluklar, girinti boyutu ve daha fazlası için kurallar ayarlayabilirsiniz. Daha fazla bilgi için bkz . EditorConfig ile taşınabilir, özel düzenleyici ayarları oluşturma.
Diğer biçimlendirme seçenekleri
Hızlı Başlat arama kutusu, bir ayarı veya aracı bulmanın en hızlı yolunu sağlar. Ana menüde yer alır. Yazmaya başladığınızda otomatik tamamlama listesi sonuçları filtreler.
Girintiler, ayraç tamamlama ve renklendirme gibi biçimlendirme seçeneklerini ayarlamak için Hızlı Başlat penceresine "C++ Biçimlendirme" yazın.
Diğer biçimlendirme seçenekleri, ana menüde Gelişmiş Düzenle>altında bulunur.
C++'a özgü düzenleme özelliklerini etkinleştirme ve yapılandırma seçenekleri, Araçlar>Seçenekleri>Metin Düzenleyicisi>C/C++ altında bulunur. Ayarlamak istediğiniz seçeneği belirledikten sonra, iletişim kutusu odaktayken F1 tuşuna basarak daha fazla yardım alabilirsiniz. Genel kod biçimlendirme seçenekleri için Hızlı Başlat'a yazınEditor C++
.
Visual Studio'nun gelecekteki bir sürümüne dahil edilebilen veya eklenmeyebilir deneysel özellikler, Metin Düzenleyicisi C++ Deneysel iletişim kutusunda bulunur. Visual Studio 2017 ve sonraki sürümlerde bu iletişim kutusunda Tahmine Dayalı IntelliSense'i etkinleştirebilirsiniz.
Ayrıca bkz:
C++ kodunu
okuma ve anlama Visual Studio'da
C++ kod tabanınızda gezinme C++ için Live Share ile işbirliği yapma