2008-10-17 9 views
21

मैं इस तरह एक हेडर फाइल है:विजुअल स्टूडियो 2005 के लिए त्रुटि सूची के संदेश फलक में दिखाने के लिए आउटपुट कैसे प्राप्त करूं?

#ifndef __GEN_NOTE_MARKERS_TO_DEVELOPERS_HPP__ 
#define __GEN_NOTE_MARKERS_TO_DEVELOPERS_HPP__ 

    #ifdef _DEBUG 

    // macros for turning a number into a string 
    #define STRING2(x) #x 
    #define STRING(x) STRING2(x) 

    #ifdef TRIAGE_MESG_AS_WARNING 
     #define TRIAGE_TODO_TAG(description) __pragma(message(__FILE__"("STRING(__LINE__)") : warning : TRIAGE TO-DO: " STRING(description))) 
     #define TRIAGE_FIXTHIS_TAG(description) __pragma(message(__FILE__"("STRING(__LINE__)") : warning : TRIAGE FIXTHIS: " STRING(description))) 
    #else 
     #define TRIAGE_TODO_TAG(description) __pragma(message(__FILE__"("STRING(__LINE__)") : message : TRIAGE TO-DO: " STRING(description))) 
     #define TRIAGE_FIXTHIS_TAG(description) __pragma(message(__FILE__"("STRING(__LINE__)") : message : TRIAGE FIXTHIS: " STRING(description))) 
    #endif 
    #else 
    #define TRIAGE_TODO_TAG(description) 
    #define TRIAGE_FIXTHIS_TAG(description) 
    #endif 

#endif // __GEN_NOTE_MARKERS_TO_DEVELOPERS_HPP__ 

कौन सा दृश्य स्टूडियो 2005 में उत्पादन फलक के लिए नोट आउटपुट जब 'TRIAGE_MESG_AS_WARNING' परिभाषित किया गया है, दृश्य स्टूडियो इन संदेशों को फसल और उन्हें त्रुटि में चेतावनी के रूप में सूची जाएगा सूची। ऐसा इसलिए होता है क्योंकि पाठ प्रारूप एक चेतावनी से मेल खाता है। हालांकि, मैं नहीं चाहता कि वे हर समय चेतावनियों के रूप में दिखें, मैं बजाय त्रुटि सूची के संदेश फलक में दिखाई दूंगा।

तुम कैसे प्रारूप लाइनों आप "आउटपुट विंडो" में डाल कर इतना है कि दृश्य स्टूडियो ऑटो जादुई उन्हें "संदेश" "त्रुटि सूची" विंडो के टैब में दिखाई देगा?

उपरोक्त कोड में संदेशों के लिए मैंने जो प्रारूप स्थापित किया है, वह अन्य आउटपुट से संदेश जैसा दिखता है, लेकिन उसी तरह कटाई नहीं होती है।

एक सहकर्मी ने मुझे सुझाव दिया कि मुझे संदेश फलक को लिखने के लिए 'कस्टम ऑटोमेशन ऑब्जेक्ट' लिखने की आवश्यकता हो सकती है। ऐसा लगता है कि दर्द की तरह लगता है, खासतौर पर जब से उचित फलक द्वारा त्रुटि फलक और चेतावनी फलक में प्रविष्टियों के साथ समाप्त होना मुश्किल होता है। क्या यह एक संभावित एवेन्यू है?

हम अप्रबंधित सी ++ का उपयोग कर रहे हैं, इसलिए हम केवल प्रबंधित (.NET) पर टूलिंग पर भरोसा नहीं कर सकते हैं। हम हुक के साथ वीएस का विस्तार नहीं करना चाहते हैं।

+1

कोई भी इसे विजुअल स्टूडियो 2010 में काम करने का प्रयास करता है? – bzlm

उत्तर

5

मेरा मानना ​​है कि वे अतिरिक्त श्रेणी जोड़ने के बारे में भूल गए: जानकारी। कम से कम यह बाहरी उपकरणों के लिए आउटपुट प्रारूप में निर्दिष्ट नहीं है।

प्रशस्ति पत्र: "श्रेणी या तो 'त्रुटि' या ' चेतावनी' होना चाहिए केस कोई फर्क नहीं पड़ता मूल की तरह, श्रेणी स्थानीय नहीं किया जाना चाहिए।।।"

लिंक: http://blogs.msdn.com/msbuild/archive/2006/11/03/msbuild-visual-studio-aware-error-messages-and-message-formats.aspx

+0

मुझे नहीं लगता कि जल्द ही कोई जादुई समाधान आ जाएगा। ऐसा लगता है कि किसी भी कारण से, यह बाहरी उपकरणों (या यहां तक ​​कि मैक्रो जेनरेट किए गए संदेशों) के लिए पहुंच योग्य नहीं है। – Aaron

0

मैं आपके प्रश्न को सही ढंग से समझ नहीं सकता लेकिन मैं इसे एक शॉट भी दूंगा।

क्या आपने ट्रेसविच इम्प्लांटेशन देखा है? आप विभिन्न श्रोताओं को लागू कर सकते हैं और टेक्स्ट, कंसोल इत्यादि जैसे विभिन्न स्रोतों को जानकारी आउटपुट कर सकते हैं

यह आपकी आवश्यकता हो सकती है।

शुभकामनाएं!

+0

ऐसा लगता है कि यह केवल प्रबंधित कोड के लिए है। निश्चित रूप से एक अच्छा सीसा अगर मैं उपयोग कर रहा था, लेकिन मैं अप्रबंधित सी ++ कर रहा हूँ। – Aaron

+0

हाँ, मुझे यकीन नहीं था कि क्या यह आपकी स्थिति के लिए उपलब्ध था लेकिन मैंने सोचा कि मैं कम से कम आपको एक प्रमुख शुरुआत दूंगा! :) – scootdawg

-2

क्या आप अपने कोड के भीतर "ट्रेस" कमांड का उपयोग नहीं कर सकते? यह आउटपुट विंडो के भीतर जो भी पाठ आपको बताएगा वह बस रखेगा। तो त्रुटि संदेशों को रखने के लिए आपको पहले उन्हें प्रारूपित करने की आवश्यकता होगी।

+0

मुझे त्रुटि सूची के संदेश फलक में रुचि है, आउटपुट विंडो नहीं। मैं आपके उत्तर देने की सराहना करता हूं, लेकिन यह सवाल का समाधान नहीं करता है। – Aaron

2

ठीक है मेरे पास एक शिकार है और ऐसा लगता है कि यदि आप विजुअल स्टूडियो एसडीके स्थापित करते हैं तो आप ऐसा कर सकते हैं।

मैं इस लिंक here

आप Microsoft.VisualStudio.Shell नाम स्थान मेरा मानना ​​है कि का उपयोग करने की आवश्यकता होगी मिल गया। ऊपर के लिंक से कोड की

स्निपेट्स इस प्रकार हैं:

//Get the "Error List Window" 

ErrorListProvider errorProvider = new ErrorListProvider(this); 
Task newError = new Task(); 
newError.ErrorCategory = TaskErrorCategory.Error; // or TaskErrorCategory.Warning for warnings 
newError.Category = TaskCategory.BuildCompile; 
newError.Text = "Some Error Text"; 
errorProvider.Tasks.Add(newError); 

मैं अभी तक इस प्रयास नहीं किया है, इसलिए यदि आप सफल रहे हैं आप भविष्य में संदर्भ के लिए यहाँ वापस पोस्ट कर सकता है।

1

मैं इस रूप में अच्छी तरह काम करने के लिए प्राप्त करने का प्रयास किया है, और जहाँ तक मैं बता सकता हूँ, अपने असंभव है जब तक आप वास्तव में अपने खुद प्लग में वी.एस. के लिए लिखते हैं कि पार्स करता है उत्पादन और कार्यों को उत्पन्न करता है । यह वास्तव में एक आसान काम होगा, और मुझे उम्मीद है कि वे इसे भविष्य में किसी बिंदु पर जोड़ देंगे (मुझे प्लग-इन लिखने पर परेशान नहीं किया जा सकता है, समय के अलावा कई अन्य छोटी परियोजनाएं चल रही हैं: एल)

अंत में, मैंने इसे चेतावनी के रूप में आउटपुट करने का विकल्प चुना है, जो कि बहुत बुरा नहीं है, यह देखते हुए कि मैं सभी चेतावनियों को ठीक करने का प्रयास कैसे करता हूं (या यदि वे जानबूझकर हैं, तो उस छोटी सी चेतावनी को बंद करें कोड और टिप्पणी अगर यह स्पष्ट नहीं है कि चेतावनी को क्यों नजरअंदाज किया जा रहा है)

+0

मेरे सहकर्मी ने वही कहा है। आप और वह शायद सही हैं। ने कहा कि सहकर्मी ने मुझे बताया कि वीएस 2010 में एक संदेश फलक भी नहीं है। जवाब के लिए धन्यवाद! – Aaron

0

क्या आपने कार्य सूची कीवर्ड को अनुकूलित करने का प्रयास किया है?

This page सुझाव देता है कि ऐसा करना संभव है। मेरा सुझाव है कि आप वहां से पढ़ते हैं, अगर आप पहले से ही नहीं हैं।

+0

मुझे वास्तव में कार्य सूची में दिलचस्पी नहीं है। मुझे त्रुटि सूची के संदेश फलक में रूचि है। उत्तर के लिए धन्यवाद। – Aaron

संबंधित मुद्दे

 संबंधित मुद्दे