2014-05-13 8 views
10

पिछले संस्करण (रोसलिन CTP) में, मैं अपने उत्पन्न कोड फ़ॉर्मेट करने के लिए कोड का पालन उपयोग कर रहा था और यह बिल्कुल ठीक काम कर रहा था:कोड स्वरूपण रोसलिन में एसडीके पूर्वावलोकन

SyntaxNode.Format(FormattingOptions.GetDefaultOptions()).GetFormattedRoot() 
नई रोसलिन संस्करण के साथ

यह अब करता है, तो नए संस्करण (एसडीके पूर्वावलोकन) में उपरोक्त कोड के बराबर क्या है?

उत्तर

8

आप इस तरह Microsoft.CodeAnalysis.Formatting.Formatter का उपयोग कर SyntaxNodes फ़ॉर्मेट कर सकते हैं (यदि आप एक कार्यक्षेत्र है):

using Microsoft.CodeAnalysis.Formatting; 

var formattedResult = Formatter.Format(syntaxNode, workspace); 

संपादित: जेरोन एक टिप्पणी में लिखा है के रूप में, आप एक कार्यक्षेत्र और डॉन नहीं है ' टी कार्यक्षेत्र विशिष्ट स्वरूपण सेटिंग्स की जरूरत है, तो आप सिर्फ एक बना सकते हैं:

var workspace = MSBuildWorkspace.Create(); 
+0

मैं कार्यक्षेत्र वस्तु :( –

+2

आप बस का उपयोग कर सकते 'MSBuildWorkspace.create()' मानक सेटिंग के साथ स्वरूपित करने के लिए। आप केवल प्रासंगिक कार्यक्षेत्र की जरूरत है अगर आप विशिष्ट स्वरूपण सेटिंग्स कार्यस्थान चाहते हैं। –

+1

तुम इतने धन्यवाद की जरूरत नहीं है । बहुत andyp और जेरोन अपने त्वरित उत्तर के लिए मैं निम्नलिखित कोड का उपयोग कर रहा: वर कार्यक्षेत्र = MSBuildWorkspace.Create(); वर newSyntaxNode = Formatter.Format (syntaxNode, कार्यक्षेत्र); लेकिन निम्न त्रुटि हो रही है: एक पहला मौका अपवाद माइक्रोसॉफ्ट में 'System.NotSupportedException' टाइप की गई .CodeAnalysis.Workspaces.dll अतिरिक्त जानकारी: भाषा 'सी #' समर्थित नहीं है। –

1

रोसलिन सीटीपी के बाद से काफी एक बहुत कुछ बदल गया है।

प्रलेखन अब यहाँ है: https://roslyn.codeplex.com/

https://roslyn.codeplex.com/documentation के लिए लिंक का पालन करें, "नमूने और प्रायोगिक प्रदर्शन" पर क्लिक करें, फिर डेमो समाधान "FormatSolution को खोलने - एक सांत्वना अनुप्रयोग है कि एक में सभी सी # और वीबी स्रोत फ़ाइलें प्रारूप उपाय।"।

दुर्भाग्यवश, मुझे नहीं लगता कि जल्दी से स्वरूपण प्राप्त करना संभव है, क्योंकि आपको कोड को नए समाधान में जोड़ना है।

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