كيف يمكنني تحويل DTE.ActiveWindow.Selection في أقرب CodeElement في ماكرو VS2008؟

StackOverflow https://stackoverflow.com/questions/470117

سؤال

وأنا أعمل مع طراز كائن البصرية ستوديو 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)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top