كيف يمكنني تحويل DTE.ActiveWindow.Selection في أقرب CodeElement في ماكرو VS2008؟
-
19-08-2019 - |
سؤال
وأنا أعمل مع طراز كائن البصرية ستوديو 2008 كما يتضح هنا: <لأ href = "http://msdn.microsoft.com/en-us/library/za2b25t3.aspx" يختلط = "نوفولو noreferrer" عنوان = "VS2008 أتمتة طراز كائن مخطط"> أتمتة VS2008 طراز كائن مخطط .
وأريد أن تعمل على CodeElement
في VS2008 ماركو، واحد التي يتم اختيارها عن طريق الانتقاء النص المستخدم في الوثيقة .cs الحالية.
وبينما لا يهمني حقا كيف أحصل عليه، وهذا هو ما حاولت: طراز كائن VS يمنحك DTE.ActiveWindow.Selection
الذي هو من نوع TextSelection
، ومن ثم هناك طريقة DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElementFromPoint()
الذي يأخذ TextPoint
وvsCMEElement
كمعلمات و إرجاع CodeElment
كأنني أريد.
ولكن أنا لا يمكن أن يبدو للحصول على TextElement
من TextSelection
.
ويمكن أن تقولوا لي كيفية الحصول على CodeElement
من النص المحدد في ملف .cs؟
المحلول
وجرب هذا:
وtextSelection = DTE.ActiveWindow.Selection
وcodeElement = textSelection.ActivePoint.CodeElement (vsCMElement.vsCMElementClass)