Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bildirim sistemleri
Kullanıcıya Visual Studio'da neler olduğunu yazılım geliştirme görevleriyle ilgili olarak bilgilendirmenin çeşitli yolları vardır.
Herhangi bir bildirim uygularken:
Bildirim sayısını en düşük etkin sayıya kadar tutun. Bildirim iletileri, Visual Studio kullanıcılarının çoğunluğuna veya belirli bir özellik/özellik alanının kullanıcılarına uygulanmalıdır. Bildirimlerin aşırı kullanımı kullanıcıyı yanıltabilir veya sistemin kullanım kolaylığını azaltabilir.
Kullanıcının daha karmaşık seçimler yapmak ve daha fazla işlem yapmak için uygun bağlamı çağırmak için kullanabileceği net, eyleme dönüştürülebilir iletiler sunduğundan emin olun.
Zaman uyumlu ve zaman uyumsuz iletileri uygun şekilde sunun. Zaman uyumlu bildirimler, bir web hizmetinin kilitlenmesi veya bir kod özel durumu oluşturması gibi bir durumla hemen ilgilenilmesi gerektiğini gösterir. Kullanıcı, bu durumlardan, kalıcı bir iletişim kutusu gibi giriş gerektiren bir şekilde hemen haberdar edilmelidir. Zaman uyumsuz bildirimler, bir derleme işleminin tamamlanması veya bir web sitesi dağıtımının tamamlanması gibi, kullanıcının bilmesi gereken ancak hemen işlem yapması gerekmeyen bildirimlerdir. Bu iletiler daha ortamlı olmalı ve kullanıcının görev akışını kesintiye uğratmamalıdır.
Kalıcı iletişim kutularını yalnızca kullanıcının iletiyi kabul etmeden veya iletişim kutusunda sunulan bir karar vermeden önce başka işlem yapmasını önlemek için gerekli olduğunda kullanın.
Ortam bildirimleri artık geçerli olmadığında kaldırın. Bildirim aldığı sorunu gidermek için zaten bir işlem yapmışsa kullanıcının bildirimi kapatmasını gerektirmez.
Bildirimlerin yanlış bağıntılara yol açabileceğini unutmayın. Kullanıcılar, eylemlerinin bir veya daha fazlasının nedensel bir ilişki olmadığında bildirim tetiklediğini düşünebilir. Bildirim iletisinde bağlam, tetikleyici ve bildirimin kaynağı hakkında net olun.
Doğru yöntemi seçme
Kullanıcıya iletinizi bildirmek için doğru yöntemi seçmenize yardımcı olması için bu tabloyu kullanın.
Metot | Kullanma | Kullanmayın |
---|---|---|
Kalıcı hata iletisi iletişim kutuları | Devam etmeden önce kullanıcı yanıtı gerektiğinde kullanın. | Kullanıcıyı engellemeye ve akışını kesmeye gerek kalmadığında kullanmayın. İletiyi başka, daha az müdahaleci bir şekilde göstermek mümkünse kalıcı iletişim kutularını kullanmaktan kaçının. |
IDE durum çubuğu | İşlemin durumuyla ilgili ortam metinsel bilgiler olduğunda kullanın. | Yalnız kullanmayın. En iyi başka bir geri bildirim mekanizmasıyla birlikte kullanılır. |
Eklenmiş bilgi çubuğu | Araç penceresinde veya belge penceresinde ilerleme durumunu, hata durumunu, sonuçları ve/veya eyleme dönüştürülebilir bilgileri bildirmek için kullanın. | Bilgiler, bilgi çubuğunun yerleştirildiği konumla ilgili değilse kullanmayın. Belge/araç penceresinin dışında kullanmayın. |
Fare imleci değişiklikleri | Bir işlemin devam ettiğini bildirmek için kullanılabilir. Farede sürükle/bırak işlemi devam ederken veya fare imlecinin çizim modu gibi belirli bir modda olduğu gibi bir durum değişikliği olduğunu bildirmek için de kullanılır. | Kısa ilerleme değişiklikleri veya imlecin kabarması olasıysa (örneğin, işlemin tamamı yerine daha uzun süre çalışan bir işlemin bölümlerine bağlı olduğunda) kullanmayın. |
İlerleme göstergeleri | İlerleme durumunu bildirmeniz gerektiğinde kullanın (kesin veya belirsiz). Her biri için çeşitli ilerleme göstergesi türleri ve belirli kullanımlar vardır. Bkz. İlerleme göstergeleri. | |
Visual Studio Bildirimleri penceresi | Bildirimler penceresi genel olarak genişletilebilir değildir. Bununla birlikte, lisansınızla ilgili kritik sorunlar ve Visual Studio güncelleştirmelerine veya paketlere yönelik bilgilendirme bildirimleri de dahil olmak üzere Visual Studio hakkında bir dizi ileti iletmek için kullanılır. | Diğer bildirim türleri için kullanmayın. |
Hata listesi | Sorun doğrudan kullanıcının açık olan çözümüyle (hata/uyarı/bilgi) ilgili olduğunda, kod üzerinde işlem gerçekleştirmesi gerekebilir. Bu, örneğin şunları içerir: - Derleyici iletileri (hata/uyarı/bilgi) - Kodla ilgili Kod Çözümleyicisi/Tanılama iletileri - İleti oluşturma Proje veya çözüm dosyalarıyla ilgili sorunlar için uygun olabilir, ancak önce Çözüm Gezgini bir göstergeyi göz önünde bulundurun. |
Kullanıcının açık çözüm koduyla hiçbir ilişkisi olmayan öğeler için kullanmayın. |
Düzenleyici bildirimleri: Ampul | Açık dosyada var olan bir sorunu gidermek için kullanılabilecek bir düzeltmeniz olduğunda kullanın. Ampul'ün, yeniden düzenleme gibi kullanıcının kodunda isteğe bağlı olarak kullanılabilecek Hızlı Eylemleri barındırmak için de kullanılması gerektiğini, ancak bu durumda "bildirim stili" gösterilmeyeceğini unutmayın. |
Açık dosyayla ilişkisi olmayan öğeler için kullanmayın. |
Düzenleyici bildirimleri: Dalgalı çizgiler | Kullanıcıyı açık kodunun belirli bir aralığıyla ilgili bir sorun konusunda uyarmak için kullanın (örneğin, hatalar için kırmızı dalgalı çizgi). | Açık kodlarının belirli bir yayılma alanıyla ilgili olmayan öğeler için kullanmayın. |
Ekli durum çubukları | Belirli bir araç penceresi, belge penceresi veya iletişim kutusu penceresi bağlamında içerik veya işlemle ilgili durumu sağlamak için kullanın. | Belirli bir pencere içindeki içerikle ilişkisi olmayan genel ürün bildirimleri, işlemler veya öğeler için kullanmayın. |
Windows tepsisi bildirimleri | Kullanıma hazır olmayan işlemler veya yardımcı uygulamalar için bildirimleri ortaya çıkarmak için kullanın. | IDE ile ilgili bildirimler için kullanmayın. |
Bildirim balonları | Uzak işlemi bildirmek veya IDE dışında değişiklik yapmak için kullanın. | IDE içindeki işlemleri kullanıcıya bildirmek için bir araç olarak kullanmayın. |
Bildirim yöntemleri
Kalıcı hata iletisi iletişim kutuları
Kullanıcının onayını veya eylemini gerektiren bir hata iletisi görüntülemek için kalıcı bir hata iletisi iletişim kutusu kullanılır.
Kullanıcıyı veritabanına geçersiz bir bağlantı dizesi konusunda uyaran kalıcı bir hata iletisi iletişim kutusu
IDE durum çubuğu
Kullanıcıların durum çubuğu metnini fark etme olasılığı, tüm bilgisayar deneyimleri ve Windows platformuyla ilgili belirli deneyimlerle ilişkilidir. Visual Studio müşteri tabanı her iki alanda da deneyimlenebilir, ancak bilgili Windows kullanıcıları bile durum çubuğundaki değişiklikleri kaçırabilir. Bu nedenle, durum çubuğu en iyi bilgilendirme amacıyla veya başka bir yerde sunulan bilgiler için yedekli bir ipucu olarak kullanılır. Kullanıcının hemen çözümlemesi gereken her türlü kritik bilgi bir iletişim kutusunda veya Bildirimler araç penceresinde sağlanmalıdır.
Visual Studio durum çubuğu, çeşitli bilgi türlerinin görüntülenmesine izin verecek şekilde tasarlanmıştır. Geri bildirim, tasarımcı, ilerleme çubuğu, animasyon ve istemci için bölgelere ayrılır.
Geri bildirim bölgesi ve tasarımcı bölgesi her zaman görünür durumdadır. İlerleme çubuğu ve animasyon bölgeleri her zaman dinamik ve kullanıcı bağlamını temel alır. Tasarımcı bölgesi, metin iletisi için eşlik eden bir kaynaktan çekilen dizenin uzunluğuna göre belirlenen statik bir genişliğe sahiptir. Bu, yerelleştirmenin kod değişikliğine gerek kalmadan genişliği yeniden boyutlandırmasına olanak tanır. İngilizce için bu dizenin genişliği yaklaşık 220 pikseldir. Tasarımcı bölgesi normal şekilde davranır ve geri bildirim bölgesi kalan alanı emer.
Durum çubuğu, IDE'nin hata ayıklama modunda olması gibi çeşitli IDE durum değişiklikleriyle iletişim kurarak görsel ilgi alanı ve işlevsel değer eklemek için de renklendirilir.
IDE durum çubuğu renkleri
Eklenmiş bilgi çubuğu
Bilgi çubuğu, kullanıcıyı durum veya koşul hakkında bilgilendirmek için belge penceresinin veya araç penceresinin en üstünde kullanılabilir. Ayrıca, kullanıcının kolayca işlem gerçekleştirmesi için bir yönteme sahip olabilmesi için komutlar da sunabilir. Bilgi Çubuğu standart bir kabuk denetimidir. Kendi IDE'nizi oluşturmaktan kaçının. Bu, IDE'deki diğer kullanıcılarla tutarsız hareket eder ve tutarsız görünür. Uygulama ayrıntıları ve kullanım kılavuzu için bkz . Bilgi Çubukları .
Belge penceresine eklenmiş bir bilgi çubuğu, kullanıcıyı IDE'nin geçmiş hata ayıklama modunda olduğu ve düzenleyicinin standart hata ayıklama modunda olduğu gibi yanıt vermeyeceği konusunda uyarır.
Fare imleci değişiklikleri
Fare imlecini değiştirirken VSColor hizmetine bağlı olan ve imleçle zaten ilişkilendirilmiş renkleri kullanın. İmleç değişiklikleri, devam eden bir işlemi göstermek için ve kullanıcının sürüklenebilen, bırakılabilir veya nesne seçmek için kullanılan bir hedefin üzerine geldiği isabet bölgelerini göstermek için kullanılabilir.
Meşgul/bekleme faresi imlecini yalnızca tüm kullanılabilir CPU süresinin bir işlem için ayrılması gerektiğinde kullanın ve kullanıcının daha fazla giriş belirtmesini engelleyin. Çok iş parçacığı kullanan iyi yazılmış uygulamalarda çoğu durumda, kullanıcıların başka işlemler yapmasının engellendiği zamanlar nadir olmalıdır.
İmleç değişikliklerinin, başka bir yerde sunulan bilgiler için yedekli bir ipucu olarak yararlı olduğunu unutmayın. Özellikle kullanıcının ele alması gereken kritik bir şeyi iletmeye çalışırken kullanıcıyla iletişim kurmanın tek yolu olarak bir imleç değişikliğine güvenmeyin.
İlerleme göstergeleri
İlerleme göstergeleri, tamamlanması birkaç saniyeden uzun sürecek işlemler sırasında kullanıcıya geri bildirimde bulunmak için önemlidir. İlerleme göstergeleri yerinde (devam eden eylemin başlatma noktasına yakın), eklenmiş bir durum çubuğunda, kalıcı bir iletişim kutusunda veya Visual Studio durum çubuğunda gösterilebilir. Kullanımları ve uygulamalarıyla ilgili devam eden göstergeler konusundaki yönergeleri izleyin.
Visual Studio Bildirimleri penceresi
Visual Studio Bildirimleri penceresi, geliştiricilere lisanslama, ortam (Visual Studio), uzantılar ve güncelleştirmeler hakkında bilgi sağlar. Kullanıcılar tek tek bildirimleri kapatabilir veya belirli bildirim türlerini yoksaymayı seçebilir. Yoksayılan bildirimlerin listesi Bir Araç > Seçenekleri sayfasında yönetilir.
Bildirimler penceresi şu anda genişletilebilir değil.
Visual Studio Bildirimleri araç penceresi
Hata listesi
Hata listesindeki bir bildirim, derleme ve derleme işlemi sırasında oluşan hataları ve uyarıları gösterir ve kullanıcının kodda bu özel kod hatasına gitmesine izin verir.
Visual Studio'da hata listesi
Ekli durum çubukları
IDE durum çubuğu dinamik olduğundan, istemci bölgesi bağlamı etkin belge penceresine ayarlandığından ve kullanıcının bağlamı ve/veya sistem yanıtlarında güncelleştirilen bilgilerle, bilgilerin sürekli görüntülenmesini sağlamak veya uzun vadeli zaman uyumsuz işlemlerde durum vermek zordur. Örneğin, IDE durum çubuğu birden çok çalıştırma ve/veya hemen eyleme dönüştürülebilir öğe seçimleri için test çalıştırması sonuçlarının bildirimleri için uygun değildir. Bu tür durum bilgilerinin, kullanıcının seçim yaptığı veya bir işlem başlattığı belge veya araç penceresi bağlamında saklanması önemlidir.
Visual Studio'da katıştırılmış durum çubuğu
Windows tepsisi bildirimleri
Windows bildirim alanı, Windows görev çubuğunda sistem saatinin yanındadır. Birçok yardımcı program ve yazılım bileşeni, kullanıcının ekran çözünürlüğünü değiştirme veya yazılım güncelleştirmelerini alma gibi sistem genelindeki görevler için bir bağlam menüsü elde edebilmesi için bu alanda simgeler sağlar.
Ortam düzeyi bildirimlerin Windows bildirim alanında değil Visual Studio Notifications hub'ında ortaya çıkarılması gerekir.
Bildirim balonları
Bildirim kabarcıkları bir düzenleyici/tasarımcı içinde veya Windows Bildirim alanının bir parçası olarak bilgi olarak görünebilir. Kullanıcı bu kabarcıkları daha sonra çözebileceği sorunlar olarak algılar ve bu, kritik olmayan bildirimler için bir avantajdır. Baloncuklar, kullanıcının hemen çözmesi gereken kritik bilgiler için uygun değildir. Visual Studio'da bildirim baloncukları kullanıyorsanız bildirim baloncukları için Windows Masaüstü kılavuzunu izleyin.
Visual Studio için kullanılan Windows Bildirim alanında bildirim balonu
İlerleme göstergeleri
İlerleme göstergeleri, kullanıcıya geri bildirimde bulunmak için bildirim sisteminin önemli bir parçasıdır. İşlemlerin ve işlemlerin ne zaman tamamlanacağı kullanıcıya bildirir. Bilinen gösterge türleri arasında ilerleme çubukları, dönen imleçler ve animasyonlu simgeler bulunur. İlerleme göstergesinin türü ve yerleşimi, bildirilenler ve işlemin veya işlemin tamamlanmasının ne kadar süreceği dahil olmak üzere bağlama bağlıdır.
Faktörler
Hangi gösterge türünün uygun olduğunu belirlemek için aşağıdaki faktörleri belirlemeniz gerekir.
Zamanlama: İşlemin süresi
Kalıcılık: İşlemin ortama kalıcı olup olmadığı (işlem tamamlanana kadar kullanıcı arabirimini kilitler)
Kalıcı/Geçici: İlerlemenin nihai sonucunun daha sonra bildirilmesi ve/veya görüntülenebilmesi gerekip gerekmediği
Determinate/Indeterminate: İşlem bitiş zamanının ve ilerleme durumunun hesaplanıp hesaplanamayacağı
Grafik/Metin konumu: İlerleme veya işlemin satır içinde, ileti gövdesinde veya Ağaç denetimi gibi belirli bir denetimde yakalanıp yakalanmadığı
Yakınlık: İlerleme durumunun ilgili olduğu kullanıcı arabirimine yakın olması gerekip gerekmediği. (Örneğin, uzak olabilecek durum çubuğunda olabilir veya işlemi başlatan düğmenin yakınında olması gerekir mi?)
İlerlemeyi belirleme
İlerleme türü | Ne zaman ve nasıl kullanılır? | Notlar |
---|---|---|
İlerleme çubuğu (determinate) | Beklenen süre >5 saniyedir. İşlem ayrıntılarının metinsel açıklamasını içerebilir. |
Animasyona metin eklemeyin. |
Bilgi Çubuğu | Bağlamsal kullanıcı arabirimiyle ilişkili mesajlaşma. Bkz. Bilgi Çubukları. İşlem ayrıntılarının metinsel açıklamasını içerebilir. |
Birden çok işlemi belirtmeniz gerektiğinde birden çok bilgi çubuğu kullanmayın. Bunun yerine yığılmış ilerleme çubuklarını kullanın. |
Çıktı Penceresi | Geçici bildirim: Kullanıcının tamamlandıktan sonra ayrıntılarını gözden geçirmek istediği uygulama düzeyi işlem. | Kullanıcının daha sonra verilere başvurması gerekip gerekmediğini kullanmayın . |
Günlük dosyası | İşlem tamamlandıktan sonra ayrıntıların kaydedilmesinin önemli olduğu durumlarda geçici bildirimle eşleştirilir. | |
Durum çubuğu | Geçici bildirim: Kullanıcının tamamlandıktan sonra ayrıntılarına ihtiyaç duymadığı uygulama düzeyinde işlem. Eklenmiş bir ilerleme çubuğu içerir. İşlem ayrıntılarının metinsel açıklamasını içerebilir. |
Belirsiz ilerleme durumu
İlerleme türü | Ne zaman ve nasıl kullanılır? | Notlar |
---|---|---|
İlerleme çubuğu (belirsiz) | Beklenen süre >5 saniyedir. İşlem ayrıntılarının metinsel açıklamasını içerebilir. |
Animasyona metin eklemeyin. |
Karıncalar (animasyonlu yatay noktalar) | Sunucuya gidiş dönüş. Üst kapsayıcının üst kısmında bağlamın yakın noktasına yerleştirilir. |
Kapsayıcının tamamı tarafından üst öğeli değilse KULLANMAYIN. |
Spinner (ilerleme halkası) | Bağlamsal kullanıcı arabirimiyle ilişkili işlem veya alanın göz önünde bulundurulacağı yer. İşlem ayrıntılarının metinsel açıklamasını içerebilir. |
|
Bilgi Çubuğu | Bağlamsal kullanıcı arabirimiyle ilişkili mesajlaşma. Bkz. Bilgi Çubukları. | Birden çok işlemi belirtmeniz gerektiğinde birden çok bilgi çubuğu kullanmayın. Bunun yerine yığılmış ilerleme çubuklarını kullanın. |
Çıktı Penceresi | Geçici bildirim: Kullanıcının tamamlandıktan sonra ayrıntılarını gözden geçirmek isteyeceği uygulama düzeyi işlem. | Oturumlar arasında kalıcı olması gereken bilgiler için kullanmayın. |
Günlük dosyası | İşlem tamamlandıktan sonra ayrıntıların kaydedilmesinin önemli olduğu durumlarda geçici bildirimle eşleştirilir. | |
Durum çubuğu | Geçici bildirim: Kullanıcının tamamlandıktan sonra ayrıntılarına ihtiyaç duymadığı uygulama düzeyinde işlem. Eklenmiş ilerleme çubuğu içerir. İşlem ayrıntılarının metinsel açıklamasını içerebilir. |
İlerleme göstergesi türleri
İlerleme çubukları
Belirsiz
Belirsiz ilerleme çubuğu
"Belirsiz", bir işlemin veya işlemin genel ilerleme durumunun belirlenemediği anlamına gelir. Sınırsız süre gerektiren veya bilinmeyen sayıda nesneye erişen işlemler için belirsiz ilerleme çubukları kullanın. Olup bitenlere eşlik etmek için metinsel bir açıklama kullanın. Zaman tabanlı işlemlere sınır vermek için zaman aşımlarını kullanın. Belirsiz ilerleme çubukları, ilerlemenin kaydedildiğini göstermek için animasyonları kullanır, ancak başka bilgi sağlamaz. Yalnızca olası doğruluk eksikliğine bağlı olarak belirsiz bir ilerleme çubuğu seçmeyin.
Belirli
İlerleme çubuğunu belirleme
"Determinate", bir işlemin veya işlemin doğru tahmin edilemese bile sınırlanmış bir süre gerektirdiği anlamına gelir. İşlemin tamamlanmasını açıkça belirtin. İşlem tamamlanmadığı sürece ilerleme çubuğunun yüzde 100'e gitmesine izin vermeyin. İlerleme çubuğunu belirleme animasyonu soldan sağa 0'dan %100'e taşınır.
İşlem sırasında ilerleme göstergesini hiçbir zaman geri taşımayın. Çubuk, işlem başladığında kararlı bir şekilde ilerlemeli ve sona erdiğinde %100'e ulaşmalıdır. İlerleme çubuğunun amacı, kaç adımın söz konusu olduğuna bakılmaksızın kullanıcıya tüm işlemin ne kadar sürdüğü hakkında bir fikir vermektir.
Eşzamanlı raporlama (yığılmış ilerleme çubukları)
Bir işlem uzun zaman alacaksa (belki birkaç dakika) biri bir işlemin genel ilerleme durumunu, diğeri ise geçerli adımın ilerleme durumunu gösteren iki ilerleme çubuğu kullanılabilir. Örneğin, bir kurulum programı çok sayıda dosya kopyalanıyorsa, bir ilerleme çubuğu tüm işlemin ne kadar sürdüğünü, bir saniye ise geçerli dosyanın veya dizinin hangi yüzdesinin kopyalandığını göstermek için kullanılabilir. Yığılmış ilerleme çubuklarını kullanarak beşten fazla eşzamanlı işlemi veya işlemi raporlamayın. Bildirecek beşten fazla eşzamanlı işleminiz veya işleminiz varsa İptal düğmesini içeren kalıcı bir iletişim kutusu kullanın ve ilerleme ayrıntılarını Çıkış Penceresi'ne bildirin.
Metinsel açıklamalar
Olup bitenlere ve tahmini tamamlanma süresine eşlik etmek için metinsel bir açıklama kullanın. Bir işlemin ne kadar süreceğini belirlemek mümkün değilse geri bildirimde bulunmak için ilerleme çubuğu yerine animasyonlu bir simge daha iyi bir seçim olabilir.
Visual Studio, durum çubuğunda Visual Studio ile tümleştirilmiş herhangi bir ürün tarafından kullanılabilecek standart bir ilerleme çubuğu sağlar. İlerleme çubuğu animasyonluyken neler olduğuna ilişkin metinsel açıklamalar için durum çubuğu metni güncelleştirilebilir.
Diğer ilerleme göstergeleri
Karıncalar (animasyonlu yatay noktalar)
"Karıncalar", animasyonlu yatay noktalar, belirsiz bir gidiş dönüş sunucu işlemi için görsel bir başvuru sağlar.
Spinner (ilerleme halkası)
Döndürücü ("ilerleme halkası" olarak da bilinir), bağlamsal kullanıcı arabirimiyle ilgili olarak öncelikli olarak kullanılan belirsiz bir ilerleme göstergesidir. Bir değiştiriciyi metin kategorisi üst bilgisi, mesajlaşma veya denetim gibi ilgili içeriğine yakın bir şekilde görüntüleyin.
İmleç geri bildirimi
2-7 saniye arasında süren işlemler için imleç geri bildirimi sağlayın. Bu genellikle işletim sistemi tarafından sağlanan bekleme imlecini kullanmak anlamına gelir. Yönergeler için Cursors.Wait Özelliği ADLı MSDN makalesine bakın.
İlerleme göstergesi konumları
Durum çubuğu
Durum çubuğu, uygulamanızın çalışmasını kesintiye uğratmadan kullanıcıya iletileri ve yararlı bilgileri görüntüleyecek bir yer sağlar. Genellikle pencerenin en altında görüntülenen ilerleme durumu, ilerleme durumu çubuğu göstergesiyle birlikte ilerleme durumuyla ilgili bir ileti içeren bir araç ipucu bölmesi olacaktır.
İlerleme çubuğu içeren durum çubuğu
Metin açıklaması içeren durum çubuğu
Bilgi Çubuğu
Durum çubuğuna benzer şekilde, bilgi çubuğu bağlamsal bildirim ve mesajlaşma sağlar. Bu bildirim, ilerleme çubuğu veya değiştirici gibi belirsiz ilerleme göstergeleriyle de eşleştirilebilir. Bilgi çubuğu ayrıntılı düzey ilerleme durumu veya belirlenebilir ilerleme göstergesi sağlamamalıdır. Bkz. Bilgi Çubukları.
İlerleme çubuğu ve metin açıklaması içeren bilgi çubuğu
Satır içi
Satır içi ilerleme durumu göstergesi, ilerleme yükleyicisi türlerinden herhangi biri tarafından temsil edilebilir. genellikle ilerleme göstergesi mesajlaşma ile eşleştirilir, ancak bu bir gereksinim değildir.
Metinsel açıklama ile birleştirilmiş değiştirici
Yığılmış ilerleme çubuklarını belirleme
Sunucu Gezgini satır içi metni: Yenileniyor...
Araç pencereleri
Genel ilerleme göstergesi, araç çubuğunun hemen altına yerleştirilmiş belirsiz bir ilerleme çubuğuyla temsil edilir.
Ekip Gezgini genel belirsiz ilerleme çubuğu
İletişim Kutuları
İletişim kutuları ilerleme yükleyicisi türlerinden herhangi birini içerebilir. İlerleme göstergeleri mesajlaşma ile eşleştirilebilir ve ayrıntılı ve alt süreçleri temsil eden birden çok ilerleme göstergesi düzeyiyle birleştirilebilir.
Eşzamanlı işlemler ve birden çok ilerleme göstergesi türü içeren Visual Studio iletişim kutusu
İlerleme yükleyicisi ve ileti satır içi komutu içeren Visual Studio iletişim kutusu
Belge iyi
Belge kutusu, denetimlerle birlikte birden çok ilerleme yükleyicisi türünü görüntüleyebilir.
Araç çubuğunun altındaki belirsiz ilerleme çubuğu
Çıktı Penceresi
Çıkış penceresi, satır içi metin iletisi aracılığıyla işlem ilerlemesini ve devam eden ilerleme durumunu işlemek için uygundur. Herhangi bir Çıkış penceresi ilerleme durumu raporlaması ile birlikte Durum çubuğunu kullanmanız gerekir.
Devam eden işlem durumu ve bekleme mesajlaşması ile Çıkış Penceresi
Bilgi Çubukları
Bilgi çubukları kullanıcıya dikkat noktasına yakın bir gösterge sağlar ve paylaşılan bilgi çubuğu denetimini kullanmak, görsel görünümde ve etkileşimde tutarlılık sağlar.
Visual Studio'daki Bilgi Çubukları
Bilgi çubuğu için uygun kullanımlar
Kullanıcıya geçerli bağlamla ilgili engelleyici olmayan ancak önemli bir ileti vermek için
Kullanıcı arabiriminin, geçmiş hata ayıklama gibi bazı etkileşim etkilerini taşıyan belirli bir durumda veya koşulda olduğunu belirtmek için
Kullanıcıya, bir uzantının performans sorunlarına neden olması gibi sorunlar algılandığını bildirmek için
Kullanıcıya, düzenleyicinin bir dosyanın sekmeler ve boşluklar karıştırdığını algılaması gibi kolayca işlem gerçekleştirmesi için bir yol sağlamak için
Yapın:
Bilgi çubuğu ileti metnini kısa ve noktaya kadar tutun.
Bağlantıların ve düğmelerin üzerindeki metni kısa tutun.
Kullanıcılara sağladığınız "eylem" seçeneklerinin çok az olduğundan ve yalnızca gerekli eylemleri gösterdiğinden emin olun.
Yapma:
Araç çubuğuna yerleştirilmesi gereken standart komutlar sunmak için bilgi çubuğunu kullanın.
Kalıcı iletişim kutusu yerine bilgi çubuğu kullanın.
Pencerenin dışında kayan ileti oluşturma.
Aynı pencere içindeki çeşitli konumlarda birden çok bilgi çubuğu kullanın.
Aynı anda birden çok bilgi çubuğu gösterilebilir mi?
Evet, aynı anda birden çok bilgi çubuğu gösterilebilir. Bunlar ilk gelen ilk servis siparişte, ilk bilgi çubuğu üstte ve ek bilgi çubukları aşağıda gösterilen şekilde görüntülenir.
Kullanıcı aynı anda en fazla üç bilgi çubuğu görür ve bundan sonra daha fazla bilgi çubuğu varsa, bilgi çubuğu bölgesi kaydırılabilir hale gelir.
Bilgi çubuğu oluşturma
Bilgi çubuğunda soldan sağa dört bölüm vardır:
Simge: Burası, bilgi çubuğu için görüntülemek istediğiniz herhangi bir simgeyi (uyarı simgesi gibi) eklediğiniz yerdir.
Metin: Kullanıcının içinde bulunduğu senaryoyu/durumu ve gerekirse metin içindeki bağlantıları açıklamak için metin ekleyebilirsiniz. Metni kısa tutmayı unutmayın.
Eylemler: Bu bölüm, kullanıcının bilgi çubuğunuzda gerçekleştirebileceği eylemlere yönelik bağlantılar ve düğmeler içermelidir.
Kapat düğmesi: Sağdaki son bölümde kapat düğmesi olabilir.
Yönetilen kodda standart bilgi çubuğu oluşturma
InfoBarModel sınıfı, bir bilgi çubuğu için veri kaynağı oluşturmak için kullanılabilir. Şu dört oluşturucudan birini kullanın:
public InfoBarModel(IEnumerable<IVsInfoBarTextSpan> textSpans, ImageMoniker image = default(ImageMoniker), bool isCloseButtonVisible = true);
public InfoBarModel(string text, ImageMoniker image = default(ImageMoniker), bool isCloseButtonVisible = true);
public InfoBarModel(IEnumerable<IVsInfoBarTextSpan> textSpans, IEnumerable<IVsInfoBarActionItem> actionItems, ImageMoniker image = default(ImageMoniker), bool isCloseButtonVisible = true);
public InfoBarModel(string text, IEnumerable<IVsInfoBarActionItem> actionItems, ImageMoniker image = default(ImageMoniker), bool isCloseButtonVisible = true);
Burada köprü, eylem düğmesi ve simge içeren bir metin içeren infobarmodeli oluşturan bir örnek verilmiştir.
var infoBar = new InfoBarModel(
textSpans: new[]
{
new InfoBarTextSpan("This is a "),
new InfoBarHyperlink("hyperlink"),
new InfoBarTextSpan(" InfoBar.")
},
actionItems: new[]
{
new InfoBarButton("Click Me")
},
image: KnownMonikers.StatusInformation,
isCloseButtonVisible: true);
Yerel kodda standart bilgi çubuğu oluşturma
Yerel koddan bilgi çubuğu sağlamak için IVsInfoBar arabirimini uygulayın.
public interface IVsInfoBar
{
IVsInfoBarActionItemCollection ActionItems { get; }
ImageMoniker Image { get; }
bool IsCloseButtonVisible { get; }
IVsInfoBarTextSpanCollection TextSpans { get; }
}
Bilgi çubuğundan bilgi çubuğu UIElement alma
InfoBarModel veya IVsInfoBar uygulaması, kullanıcı arabiriminde gösterilmesi için UIElement'e dönüştürülmesi gereken veri modelleridir. UIElement, SVsInfoBarUIFactory/IVsInfoBarUIFactory hizmetiyle alınabilir.
private bool TryCreateInfoBarUI(IVsInfoBar infoBar, out IVsInfoBarUIElement uiElement)
{
IVsInfoBarUIFactory infoBarUIFactory = serviceProvider.GetService(typeof(SVsInfoBarUIFactory)) as IVsInfoBarUIFactory;
if (infoBarUIFactory == null)
{
uiElement = null;
return false;
}
uiElement = infoBarUIFactory.CreateInfoBar(infoBar);
return uiElement != null;
}
Yerleştirme
Bilgi çubukları aşağıdaki konumlardan birinde veya daha fazlasında gösterilebilir:
Araç pencereleri
Belge sekmesinde
Önemli
Genel bağlam hakkında bir ileti vermek için bir bilgi çubuğu konumlandırmak mümkündür. Bu, araç çubuklarıyla belge kutusu arasında görünür. Bu, IDE'nin "atlama ve sarsıntı" ile ilgili sorunlara neden olduğu ve kesinlikle gerekli ve uygun olmadığı sürece kaçınılması gerektiği için önerilmez.
ToolWindowPane'a bilgi çubuğu yerleştirme
ToolWindowPane.AddInfoBar(IVsInfoBar) yöntemi, araç penceresine bilgi çubuğu eklemek için kullanılabilir. Bu API bir IVsInfoBar (InfoBarModel'in varsayılan bir uygulama olduğu) veya IVsUIElement ekleyebilir.
Belgeye veya ToolWindowPane olmayan bir belgeye bilgi çubuğu yerleştirme
Herhangi bir IVsWindowFrame'e bilgi çubuğu yerleştirmek için VSFPROPID_InfoBarHost özelliğini kullanarak çerçevenin IVsInfoBarHost değerini alın ve ardından bilgi çubuğu UIElement öğesini ekleyin.
private void AddInfoBar(IVsWindowFrame frame, IVsUIElement uiElement)
{
IVsInfoBarHost infoBarHost;
if (TryGetInfoBarHost(frame, out infoBarHost))
{
infoBarHost.AddInfoBar(uiElement);
}
}
private bool TryGetInfoBarHost(IVsWindowFrame frame, out IVsInfoBarHost infoBarHost)
{
object infoBarHostObj;
if (ErrorHandler.Failed(frame.GetProperty((int)__VSFPROPID7.VSFPROPID_InfoBarHost, out infoBarHostObj)))
{
infoBarHost = null;
return false;
}
infoBarHost = infoBarHostObj as IVsInfoBarHost;
return infoBarHost != null;
}
Ana pencereye bilgi çubuğu yerleştirme
Ana pencereye bir bilgi çubuğu yerleştirmek için IVsShell hizmetinin VSSPROPID_MainWindowInfoBarHost kullanarak ana pencerenin IVsInfoBarHost dosyasını alın ve ardından buna bilgi çubuğu UIElement öğesini ekleyin.
Kullanıcının bilgi çubuğumda ne zaman işlem yapacağı hakkında bilgi edinecek miyim?
Evet, her olay eylemini bilgi çubuğu yazarına döndüreceğiz. Daha sonra bilgi çubuğundaki kullanıcı seçimine göre IDE'de işlem yapmak bilgi çubuğu yazarına bağlıdır. Kapat düğmesine tıklanan ana bilgisayardan bilgi çubukları otomatik olarak kaldırılır, ancak kapatıldıktan sonra diğer bilgi çubuklarının kaldırılması gerekiyorsa ek çalışma gerekir. Telemetrinin de her bilgi çubuğu tarafından bağımsız olarak günlüğe kaydedilmesi gerekir.
ToolWindowPane'da bilgi çubuğu olaylarını alma
ToolWindowPane'da bilgi çubukları için iki olay vardır. ToolWindowPane içindeki bir bilgi çubuğu kapatıldığında InfoBarClosed olayı oluşturulur. InfoBarActionItemClicked olayı, bilgi çubuğunun içindeki bir köprüye veya düğmeye tıklandığında oluşturulur.
Bilgi çubuğu olaylarını doğrudan UIElement'ten alma
IVsInfoBarUIElement.Advise, doğrudan bir bilgi çubuğunun UIElement öğesinden olaylara abone olmak için kullanılabilir. IVsInfoBarUIEvents'in uygulanması yazarın yakın ve tıklama olaylarını almasına olanak sağlar.
public interface IVsInfoBarUIEvents
{
void OnActionItemClicked(IVsInfoBarUIElement infoBarUIElement, IVsInfoBarActionItem actionItem);
void OnClosed(IVsInfoBarUIElement infoBarUIElement);
}
Hata doğrulama
Kullanıcı, gerekli bir alanın atlanması veya verilerin yanlış biçimde girilmiş olması gibi kabul edilebilir olmayan bilgiler girdiğinde, engelleyici bir açılır hata iletişim kutusu kullanmak yerine denetimin yakınında denetim doğrulama veya geri bildirim kullanmak daha iyidir.
Alan doğrulama
Form ve alan doğrulaması üç bileşenden oluşur: denetim, simge ve araç ipucu. Çeşitli denetim türleri bunu kullanabilir ancak örnek olarak bir metin kutusu kullanılır.
Alan gerekiyorsa Gerekli ve <>alan arka planının açık sarı (VSColor: Environment.ControlEditRequiredBackground
) ve ön plan gri (VSColor: ): Environment.ControlEditRequiredHintText
Program denetimin, odak başka bir denetime taşındığında veya kullanıcı bir [Tamam] işleme düğmesine tıkladığında ya da kullanıcı belgeyi veya formu kaydettiğinde girilen geçersiz içerik durumunda olduğunu belirleyebilir.
Geçersiz içerik durumu belirlendiğinde, denetimin içinde veya hemen yanında bir simge görünür. Simgenin veya denetimin üzerine gelindiğinde hatayı açıklayan bir araç ipucu görünmelidir. Ayrıca, geçersiz durumu oluşturan denetimin çevresinde 1 piksellik bir kenarlık görünmelidir.
Alan doğrulaması için düzen belirtimleri
Simge konumu için kabul edilebilir varyasyonlar
Kullanıcıların doğrulama hataları hakkında bilgilendirilmesi gereken sayısız benzersiz durum vardır. Kullanıcı arabiriminin denetim türünü ve yapılandırmasını göz önünde bulundurarak, durumunuz için uygun simge yerleşimini seçin.
Alan doğrulama simgesi konumları için kabul edilebilir varyasyonlar
Sunucuya veya ağ bağlantısına gidiş dönüş gerektiren doğrulama
Bazı durumlarda, içeriği doğrulamak için sunucuya gidiş dönüş gerekir ve kullanıcı ilerleme durumunu, doğrulanmış ve hata durumlarını göstermek önemlidir. Aşağıdaki şekilde bu durumun bir örneği ve önerilen kullanıcı arabirimi gösterilmektedir.
Sunucuya gidiş dönüş içeren doğrulama
"Doğrulanıyor..." ve "Yeniden Dene" metni.
Yerinde uyarı metni
Hata iletisini denetime yakın bir hata durumuna yerleştirmek için kullanılabilir bir alan olduğunda, bu yalnızca araç ipucunun kullanılması tercih edilir.
Yerinde uyarı metni
Filigran
Bazen bir denetimin veya pencerenin tamamı hata durumundadır. Bu durumda, hatayı belirtmek için bir filigran kullanın.
Filigran alanı doğrulaması