वीएस EnvironmentEvent
मॉड्यूल (टूल्स-> मैक्रोज़-> मैक्रोज़ आईडीई ...) या ALT + F11 में निम्न मैक्रो जोड़ें। निर्माण के बाद मैक्रो चलता है या नहीं, सफलतापूर्वक या नहीं।
यह आउटपुट विंडो से टेक्स्ट आउटपुट पाइप करेगा, विशेष रूप से Build
आउटपुट विंडो के build_output.log
पर देखें। अन्य IDE Guids can be found on MSDN।
एक संदर्भ के रूप में, समाधान पर HOWTO: Get an OutputWindowPane to output some string from a Visual Studio add-in or macro
दृश्य स्टूडियो संदेशों को दिखाने के लिए एक आउटपुट खिड़की ("देखें", "अन्य विंडोज", "आउटपुट" मेनू) प्रदान करता है, डिबग जानकारी आधारित था , आदि यही कारण है कि खिड़की जैसे कि "स्रोत नियंत्रण", "बिल्ड" "डीबग", आदि
स्वचालन मॉडल (EnvDTE)प्रदान करता है कई शीशे कि एक combobox के माध्यम से चुना जा सकता है, प्रदान करता हैEnvDTE.OutputWindow, EnvDTE.OutputWindowPanes और EnvDTE.OutputWindowPane कक्षाएं।
Private Sub BuildEvents_OnBuildDone(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles BuildEvents.OnBuildDone
Const BUILD_OUTPUT_PANE_GUID As String = "{1BD8A850-02D1-11D1-BEE7-00A0C913D1F8}"
Dim t As OutputWindowPane
Dim txtOutput As TextDocument
Dim txtSelection As TextSelection
Dim vsWindow As Window
vsWindow = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput)
Dim vsOutputWindow As OutputWindow
Dim objOutputWindowPane As OutputWindowPane
Dim objBuildOutputWindowPane As OutputWindowPane
vsOutputWindow = DirectCast(vsWindow.Object, OutputWindow)
For Each objOutputWindowPane In vsOutputWindow.OutputWindowPanes
If objOutputWindowPane.Guid.ToUpper = BUILD_OUTPUT_PANE_GUID Then
objBuildOutputWindowPane = objOutputWindowPane
Exit For
End If
Next
txtOutput = objBuildOutputWindowPane.TextDocument
txtSelection = txtOutput.Selection
txtSelection.StartOfDocument(False)
txtSelection.EndOfDocument(True)
objBuildOutputWindowPane.OutputString(Date.Now)
txtSelection = txtOutput.Selection
solutionDir = IO.Path.GetDirectoryName(DTE.Solution.FullName)
My.Computer.FileSystem.WriteAllText(solutionDir & "\build_output.log", txtSelection.Text, False)
MsgBox(txtSelection.Text)
End Sub
ऊपर एक प्रति परियोजना के आधार पर शायद उत्पादन निर्माण की जानकारी के साथ-साथ करने के लिए बदलाव किया जा सकता है। निर्माण लॉग इत्यादि के लिए फ़ाइल नाम संभवतः वर्तमान प्रोजेक्ट के निर्माण के आधार पर कॉन्फ़िगर किया जा सकता है (इसके बारे में भी निश्चित नहीं है) और सबसे ऊपर आप शायद निर्माण इतिहास बना सकते हैं।
वहाँ वी.एस. कि घटनाओं में से एक में हुक कर सकते हैं की एक पूरी, इसलिए चीजों के प्रकार के एक कर सकते हैं अंतहीन
यह VS2010 परम पर परीक्षण किया गया था ... हैं
यह आउटपुट विंडो में msbuild.exe के आउटपुट को रीडायरेक्ट करता है। यहां कोई मध्य ग्राउंड नहीं है, या तो आप कमांड लाइन से बनाते हैं या आप आईडीई से बनाते हैं। इसे जिस तरह से काम करना चाहिए, उसमें आपको कार्य त्रुटियों को दिखाने के लिए त्रुटि सूची विंडो प्राप्त करने का कोई अन्य तरीका नहीं है। –
@ हंस, मैं कमांड लाइन और आईडीई के बीच मध्य मैदान की तलाश नहीं कर रहा हूं। मैं आईडीई बिल्ड के दौरान आउटपुट विंडो में आउटपुट को स्वचालित रूप से कैप्चर करने का एक तरीका ढूंढ रहा हूं, क्योंकि मुझे लगता है कि मैंने अपने प्रश्न के पहले पैराग्राफ में पर्याप्त स्पष्ट किया है। – ProfK