Visual Studio'da Visual F# ile geliştirme

Bu makale, F# geliştirmeye yönelik Visual Studio özellikleri hakkında bilgi içerir.

F# desteğini yükleme

Visual Studio'da F# ile geliştirmek için, henüz yapmadıysanız önce .NET masaüstü geliştirme iş yükünü yükleyin. Visual Studio iş yüklerini Visual Studio Yükleyicisi aracılığıyla yüklersiniz. Bunu Araçlar Araçları>ve Özellikleri Al'ı seçerek açabilirsiniz.

Visual Studio'da .NET masaüstü geliştirme iş yükü

F# proje özellikleri

Visual Studio'da F# için çeşitli proje ve öğe şablonları kullanılabilir. Aşağıdaki görüntüde .NET Core ve .NET Standard için bazı F# proje şablonları gösterilmektedir:

Visual Studio'da F# proje şablonları

Aşağıdaki görüntüde F# öğesi şablonlarından bazıları gösterilmektedir:

Visual Studio'da F# öğe şablonları

Veri erişimi için öğe şablonları hakkında daha fazla bilgi için bkz. F# türü sağlayıcıları.

Aşağıdaki tabloda F# için proje özelliklerindeki özellikler özetlenmiştir:

Proje ayarı F# dilinde destekleniyor mu? Notlar
Kaynak dosyalar Evet
Derleme, hata ayıklama ve başvuru ayarları Evet
Çoklu Hedef Oluşturma Evet
Simge ve bildirim Hayı Derleyici komut satırı seçenekleri aracılığıyla kullanılabilir.
ASP.NET İstemci Hizmetleri Hayı
ClickOnce (Tek Tıklamayla Kurulum) Hayı Varsa başka bir .NET dilinde bir istemci projesi kullanın.
Güçlü adlandırma Hayı Derleyici komut satırı seçenekleri aracılığıyla kullanılabilir.
Derleme yayımlama ve sürüm oluşturma Hayı
Kod analizi Hayı Kod çözümleme araçları el ile veya derleme sonrası komutunun bir parçası olarak çalıştırılabilir.
Güvenlik (güven düzeylerini değiştirme) Hayı

Proje Tasarımcısı

Proje Tasarımcısı , ilgili işlevlere göre gruplandırılmış birkaç proje özellik sayfasından oluşur. F# projeleri için kullanılabilen sayfalar çoğunlukla diğer diller için kullanılabilir olan sayfaların bir alt kümesidir ve aşağıdaki tabloda açıklanmıştır. İlgili C# Proje Tasarımcısı sayfasına bağlantılar sağlanır.

Proje Tasarımcısı sayfası İlgili bağlantılar Açıklama
Uygulama Uygulama Sayfası, Proje Tasarımcısı Kitaplık mı yoksa yürütülebilir dosya mı oluşturduğunuz, uygulamanın hangi .NET sürümünü hedeflediği ve uygulamanın kullandığı kaynak dosyalarının nerede depolandığı hakkında bilgi gibi uygulama düzeyi ayarları ve özellikleri belirtmenizi sağlar.
İnşa et Derleme Sayfası, Proje Tasarımcısı Kodun nasıl derlenmiş olduğunu denetlemenizi sağlar.
Derleme Olayları Derleme Olayları Sayfası, Proje Tasarımcısı Derlemeden önce veya sonra çalıştırılacak komutları belirtmenizi sağlar.
Hata ayıklama Hata Ayıklama Sayfası, Proje Tasarımcısı Hata ayıklama sırasında uygulamanın nasıl çalıştığını denetlemenizi sağlar. Bu, hangi komutların kullanılacağını ve uygulamanızın başlangıç dizininin ne olduğunu ve yerel kod ve SQL gibi etkinleştirmek istediğiniz özel hata ayıklama modlarını içerir.
Paket (yalnızca.NET SDK'sı) Mevcut Değil NuGet paketi olarak yayımlarken NuGet Paketi meta verilerini tanımlamanızı sağlar.
Başvuru Yolları Bir projede referansları yönetme Kodun bağımlı olduğu derlemelerin nerede aranacağını belirtmenizi sağlar.
Kaynaklar (yalnızca.NET SDK'sı) Mevcut Değil Varsayılan kaynak dosyası oluşturmanızı ve yönetmenizi sağlar.

F#'a özgü ayarlar

Aşağıdaki tabloda F#'a özgü ayarlar özetlenir:

Proje Tasarımcısı sayfası Ayarlar Açıklama
İnşa et Kuyruk çağrıları oluşturma Seçilirse, kuyruk Microsoft Ara Dil (MSIL) yönergesinin kullanımını etkinleştirir. Bu, yığın çerçevesinin kuyruk özyinelemeli işlevleri için yeniden kullanılmasına neden olur. Derleyici seçeneğine --tailcalls eşdeğerdir.
İnşa et Diğer bayraklar Ek derleyici komut satırı seçenekleri belirtmenize olanak tanır.

Kod ve metin düzenleyicisi özellikleri

Visual Studio kodu ve metin düzenleyicilerinin aşağıdaki özellikleri F# dilinde desteklenir:

Özellik Açıklama F# dilinde destekleniyor mu?
Otomatik olarak açıklama ekleme Kodun bölümlerine açıklama eklemenizi veya açıklamayı kaldırmanızı sağlar. Evet
Otomatik olarak biçimlendir Standart girinti ve stil ile kodu yeniden biçimlendirer. Hayı
Yer imleri Düzenleyicideki yerleri kaydetmenizi sağlar. Evet
Girintiyi değiştir Seçili satırları girintiler veya girintilerini çıkarır. Evet
Akıllı girintileme İmleci F# kapsam kurallarına göre otomatik olarak girintisini artırır ve girintisini geri alır. Evet
Metin bulma ve değiştirme Bir dosyada, projede veya çözümde aramanızı ve olası metni değiştirmenizi sağlar. Evet
.NET API'sinin tanımına gidin İmleç bir .NET API'sine yerleştirildiğinde.NET meta verilerinden oluşturulan kodu gösterir. Hayı
Kullanıcı tanımlı API tanımına gitme İmleç tanımladığınız bir program varlığında olduğunda, imleci kodunuzda varlığın tanımlandığı konuma taşır. Evet
Satıra Git Dosyadaki belirli bir satıra satır numarasına göre gitmenize olanak tanır. Evet
Dosyanın üst kısmındaki gezinti çubukları Koddaki konumlara atlamanızı sağlar. Örneğin işlev adı. Evet
Blok Yapısı Yönergeleri Önizleme için üzerine gelinebilen F# kapsamlarını gösteren yönergeleri gösterir. Evet
Ana Hatlar Daha kompakt bir görünüm oluşturmak için kodunuzun bölümlerini daraltmanızı sağlar. Evet
Sekme tuşu Boşlukları sekmelere dönüştürür. Evet
Tür renklendirmesi Tanımlı tür adlarını özel bir renkte gösterir. Evet
Hızlı Bul' u seçin. Bkz. Hızlı Bul, Bul ve Değiştir Penceresi. Bir dosya veya projede aramanızı sağlar. Evet
Ctrl+Tanıma Git'e tıklayın Tanıma Git'i çağırmak için Ctrl tuşunu basılı tutmanızı ve F# simgesine tıklamanızı sağlar. Evet
QuickInfo'dan Tanıma git Tanıma Git'i çağıran araç ipuçlarının içinde tıklanabilir simgeler. Evet
Tümüne Git Ctrl+T aracılığıyla tüm F# yapıları için genel, benzer eşleşen gezintiyi etkinleştirir. Evet
Satır içi Yeniden Adlandırma Bir simgenin satır içi tüm oluşumlarını yeniden adlandırır. Evet
Tüm Başvuruları Bul Kod tabanındaki bir simgenin tüm oluşumlarını bulur. Evet
Ad kodu düzeltmeyi basitleştirme F# simgeleri için gereksiz niteleyicileri kaldırır. Evet
Kullanılmayan deyim kodu düzeltmesini open kaldırma Belgedeki tüm gereksiz open deyimleri kaldırır. Evet
Kullanılmayan değer kodu düzeltmesi Kullanılmayan bir tanımlayıcıyı alt çizgiye yeniden adlandırmayı önerir. Evet

Visual Studio'da kodu düzenleme ve metin düzenleyicisinin özellikleri hakkında genel bilgi için bkz. Düzenleyicide kod yazma.

IntelliSense özellikleri

Aşağıdaki tabloda F# dilinde desteklenen ve desteklenmeyen IntelliSense özellikleri özetlenmektedir:

Özellik Açıklama F# dilinde destekleniyor mu?
Arabirimleri otomatik olarak uygulama Arabirim yöntemleri için kod saplamaları oluşturur. Evet
Kod parçacıkları Ortak kodlama yapılarından oluşan bir kitaplıktan alınan kodu konulara ekler. Hayı
Word'leri Tamamlama Siz yazarken sözcükleri ve adları tamamlayarak yazmayı kaydeder. Evet
Otomatik tamamlama Etkinleştirildiğinde, sözcük tamamlama işleminin siz yazarken ilk eşleşmeyi seçmesine neden olur; bunun yerine birini seçmenizi veya Ctrl+Ara Çubuğu'na basmanızı beklersiniz. Evet
Açılmamış ad alanlarındaki simgeler için teklif tamamlama Otomatik tamamlama ile, açılmamış bir ad alanında bulunan eşleşen bir simge önerilir ve seçildiğinde ilgili open deyimin tamamlanması önerilir. Evet
Kod öğeleri oluşturma Çeşitli yapılar için saptama kodu oluşturmanızı sağlar. Hayı
Liste Üyeleri Üye erişim işlecini (.) yazdığınızda, bir türün üyelerini gösterir. Evet
Kullanımı Düzenle/Aç C# içindeki deyimleri veya F# içindeki açık yönergeleri kullanarak başvuruda bulunan ad alanlarını düzenler. Hayı
Parametre Bilgisi İşlev çağrısı yazarken parametreler hakkında yararlı bilgileri gösterir. Evet
Hızlı Bilgi Kodunuzdaki tüm tanımlayıcılar için tam bildirimi görüntüler. Evet
Otomatik küme ayracı tamamlama F# ayraç benzeri söz dizimi yapılarını işlemsel bir şekilde otomatik olarak tamamlar. Evet

IntelliSense hakkında genel bilgi için bkz. IntelliSense kullanma.

Hata ayıklama özellikleri

Aşağıdaki tabloda, F# kodunda hata ayıkladığınızda kullanılabilen özellikler özetlenmiştir:

Özellik Açıklama F# dilinde destekleniyor mu?
Otomatikler penceresi Otomatik veya geçici değişkenleri gösterir. Hayı
Kesme nokta -ları Hata ayıklama sırasında belirli noktalarda kod yürütmeyi duraklatmanızı sağlar. Evet
Koşullu kesme noktaları Yürütmenin duraklatılıp duraklatılmayacağını belirleyen bir koşulu test eden kesme noktalarını etkinleştirir. Evet
Düzenle ve Devam Et Çalışan bir programda hata ayıklayıcıyı durdurmadan ve yeniden başlatmadan hata ayıklarken kodun değiştirilmesini ve derlenmesine olanak tanır. Hayı
İfade değerlendirici Çalışma zamanında kodu değerlendirir ve yürütür. Hayır, ancak C# ifade değerlendiricisi kullanılabilir, ancak C# söz dizimini kullanmanız gerekir.
Geçmiş hata ayıklama Daha önce yürütülen koda geçmenizi sağlar. Evet
Yerel ayarlar penceresi Yerel olarak tanımlanmış değerleri ve değişkenleri gösterir. Evet
çalıştır- imleç İmleci içeren satıra ulaşılana kadar kodu yürütmenizi sağlar. Evet
Adım At Yürütmeyi ilerletmenizi ve herhangi bir işlev çağrısına geçmenizi sağlar. Evet
AdımLa Geçerli yığın çerçevesinde yürütmeyi ilerletmenizi ve herhangi bir işlev çağrısını geçmenizi sağlar. Evet

Visual Studio hata ayıklayıcısı hakkında genel bilgi için bkz. Visual Studio'da hata ayıklama.

Ek araçlar

Aşağıdaki tabloda Visual Studio araçlarında F# desteği özetlemektedir.

Araç Açıklama F# dilinde destekleniyor mu?
Arama Hiyerarşisi Kodunuzda işlev çağrılarının iç içe yapısını görüntüler. Hayı
Kod Ölçümleri Kodunuz hakkında satır sayıları gibi bilgiler toplar. Hayı
Sınıf Görünümü Projedeki kodun tür tabanlı bir görünümünü sağlar. Hayı
Hata Listesi penceresi Koddaki hataların listesini gösterir. Evet
F# Etkileşimli F# kodu yazmanızı (veya kopyalayıp yapıştırmanızı) ve projenizin derlemesinde bağımsız olarak hemen çalıştırmanızı sağlar. F# Etkileşimli penceresi Okuma, Değerlendirme, Yazdırma Döngüsü (REPL) şeklindedir. Evet
Nesne Tarayıcısı Derlemedeki türleri görüntülemenizi sağlar. Derlenmiş derlemelerde göründükleri şekilde F# türleri tam olarak siz yazarken görünmez. F# türlerinin derlenmiş gösterimine göz atabilirsiniz, ancak türleri F# dilinde göründükleri şekilde görüntüleyemezsiniz.
Çıktı penceresi Derleme çıkışını görüntüler. Evet
Performans analizi Kodunuzun performansını ölçmek için araçlar sağlar. Evet
Özellikler penceresi Odaklanmış geliştirme ortamında nesnenin özelliklerinin düzenlenmesini görüntüler ve etkinleştirir. Evet
Sunucu Gezgini Çeşitli sunucu kaynaklarıyla etkileşim kurmanın yollarını sağlar. Evet
Çözüm Gezgini Projeleri ve dosyaları görüntülemenizi ve yönetmenizi sağlar. Evet
Görev Listesi Kodunuzla ilgili iş öğelerini yönetmenizi sağlar. Hayı
Test projeleri Kodunuzu test etmenize yardımcı olan özellikler sağlar. Hayı
Alet Çantası Denetimler ve metin veya kod bölümleri gibi sürüklenebilir nesneler içeren sekmeleri görüntüler. Evet

Ayrıca bakınız