2012-08-07 100 views
9

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

Screen Shot from Visual Studio 2010, Tools > Options > Keyboard

उदाहरण:

  • Action.Add
  • कार्रवाई। Add.NETFrameworkLaunchCondition
  • एक्शन। AddAction
  • ... आदि

हम कहां मिल सकते हैं या हम इस सूची तक कैसे पहुंच सकते हैं?

उत्तर

3

दृश्य स्टूडियो इस सूचीबद्ध करता ...\Microsoft Visual Studio 9.0\Common7\IDE\*.vsk

8

आप DTE इंटरफेस के माध्यम से उस तक पहुँच सकते हैं। GetService(typeof(SDTE)) (या अन्य उपयुक्त तंत्र) के माध्यम से EnvDTE.DTE इंटरफेस जाओ और उसके बाद:

EnvDTE.DTE dte = ...; 
var commands = dte.Commands.Cast<EnvDTE.Command>(); 

foreach (var command in commands.OrderBy(c => c.Name)) 
{ 
    Console.WriteLine(command.Name); 
} 

मैं इस का उल्लेख करना चाहिए काफी धीमी हो सकती है, तो यह सबसे अच्छा है, तो आप कर सकते हैं बचा है ...

+0

वास्तव में एक एसिंक संस्करण नहीं है। एनवीडीटीई एपीआई यूआई थ्रेड को affinitized है। आप इसे पृष्ठभूमि थ्रेड पर चला सकते हैं, लेकिन आप यूआई थ्रेड पर पारदर्शी रूप से मार्शल को ट्रिगर कर देंगे जो सामान्य रूप से कोड को धीमा कर देगा। दिन के अंत में, सभी आदेशों का आकलन वास्तव में उन लोगों में से एक है जो "इसे न करें" चीजें हैं। आम तौर पर यदि कोई इसके लिए पूछता है तो मैं वापस धक्का देता हूं और उन्हें चुनौती देता हूं कि उन्हें ऐसा करने की आवश्यकता क्यों है। –

0

Here एक है मैड्स क्रिस्टेनसेन द्वारा उनके वीएस वॉयसएक्सेंशन के लिए संकलित वीएस कमांड की आसान सूची।