2012-09-06 10 views
10

Visual Studio'da bir proje oluşturduğunuzda, Çıktı Penceresi hataların ve uyarıların yer aldığı oluşturma işleminin durumunu verir. Bu satırların çift tıklanması, editörde bu hatayı/uyarıyı içeren dosyayı açacaktır.Çıktı Penceresinde kaynağa gitmek için çift tıklatın

Şimdi, bu işlevin Debug.WriteLine veya bunun gibi bir şeyden çıktı almak mümkün mü? Böylece örneğin

Buffering: 13:03:20 to 13:03:21 

için ayıklama penceresi çıkışları bunu çift tıklayarak ve o Debug.WriteLine aramanın yeri olduğu için, BufferClass.cs, çizgi 45 için alınması mümkün olacaktır zaman.

Bu, ya .net kitaplıkları aracılığıyla veya bir Visual Studio Uzantısı aracılığıyla mümkün mü?

cevap

12

Sadece devam edip bunu kendim halledeceğim.

doğrudan böyle mesajınızı, kaynak dosyaya atlamak biçimlendirmek edebilmek için:

string.Format("{0}({1})", filePath, lineNumber); 

Bu şekilde, Visual Studio otomatik olarak çift tıklama işlevsellik eklemek ve kaynağına doğrudan götürecektir. Visual Studio 2012 yeni işlevleri, kullanırsanız

Ayrıca, burada açıklandığı şekilde: Caller Details, bu gibi Günlüğü Yöntem uygulayabilirsiniz: Ayrıca

private void LogData(string message, 
        [CallerMemberName] string callerName = "", 
        [CallerLineNumber] int lineNumber = -1, 
        [CallerFilePath] string filePath = "") 
    { 
     Debug.WriteLine(message); 
     Debug.WriteLine(string.Format(" {0}({1})", filePath, lineNumber)); 
    } 

ekleyerek ": Hata" veya ": Sonunda uyarı "Visual Studio, kırmızı veya sarı renk yapar. Bunu daha ayrıntılı açıklayan herhangi bir makale varsa, gerçekten bilmek isterim.

+1

Satır numarasından sonra bir ileti eklemek için (büyük olasılıkla yaparsınız) bir iki nokta üst üste eklemelisiniz. Şöyle görünecektir: 'string.Format (" {0} ({1}): {2} ", filePath, satırNumarası, msg);' –

+1

Resmi makale: [Özel Oluşturma Adımı Çıktısını Biçimlendirme veya Olay Oluşturma ] (https://docs.microsoft.com/en-us/cpp/ide/formatting-the-output-of-a-custom-build-step-or-build-event) –

+1

Blog girişi: [MSBuild/Visual Studio farkında hata mesajları ve mesaj formatları] (https://blogs.msdn.microsoft.com/msbuild/2006/11/02/msbuild-visual-studio-aware-error-messages-and-message-formats/) (değil önceki bağlantı olarak tam/resmi olarak ama biraz daha açıklayıcı). –

4

Eh, bu soru (cevap) biraz modası geçmiş olabilir, bu yüzden beni yenilemek izin görüntülenir: Visual Studio 2013'te

, aşağıdaki biçim dosyası/hattına bağlantıyı neden görünen tek

C#: C/C++ için

{0}({1}): <message here> 

, bu bir koşuşturma vermek:

bu mesajı yankılandı

Bitiş parantezinden sonra iki nokta üst üste eklemezseniz veya dosya adı ile satır numarası arasında boşluk varsa, kaynak koduna bağlanmaz.

+0

Hala VS2015 (C++) için çalışıyorum, teşekkürler! – javaLover

İlgili konular