جستجو در جعبه ابزار در Visual Studio 2010

12 06 2010

*- مقدمه :

سلام، این رو مینویسم برای اون دسته از دوستان برنامه نویسی که هنوز از این امکان خبر ندارند.

چند روز پیش بود که داشتیم با دوستانی که قبلا دلفی کار بودن بحث می کردیم که اینبار هم مایکروسافت درنسخه ی جدید ویژوال استادیو، امکان جستجو در Toolbox  و Properties رو نگذاشت. به یکی از همکارا گفتم که به لج مایکروسافتم که شده خودم یک افزونه برای جستجوی جعبه ابزار می نویسم (حالا بماند که اصلا ننوشتم). برخی از کارهای مایکروسافت واقعا عجیبه حداقلش اینه که برای من عجیب به نظر میاد، نمونه ی بارزش اینه که درپروژه های  WPF امکان جستجو در پنجره ی  Properties وجود داره ولی در دیگر پروژه ها از این امکان خبری نیست. نمی دونم تیم های اینا هر کدوم برای خودشون کار می کنند ؟!! شما هم احتمالا با بنده هم نظر هستید که اینگونه امکانات به زبان یا پلتفورم بستگی نداره که بگیم خوب نمیشه که اینو برای پروژه ی WinForm هم گذاشت. همانطور که می دونید ویژوال استادیو یک محیط مجتمع هستش، امکاناتی همانند مثالی که عرض کردم باید در سایر پروژه هایی که با این محیط توسعه ایجاد میشه یکسان باشه. ولی نمی دونم چرا به این نکات ریز (توسط غول نرم افزاری مانند مایکروسافت) توجهی نمیشه، خودش برای من و شاید برای خیلی ها سوال باشه. بگذریم زیادی مقدمه چینی کردم بریم سر اصل مطلب.

امروز داشتم در مورد اینکه چگونه باید برای ویژوال استادیو افزونه نوشت، وب گردی می کردم که مطلبی توجهم رو جلب کرد. نویسنده ی این مطلب یکی از برنامه نویسان ویژوال استادیو هستش که ظاهرا فقط کارش نوشتن جعبه ابزار هست 🙂 . در مطلبی که نوشته بود نحوه ی جستجو در جعبه ابزار رو توضیح می داد. کلی با خودم خندیدم (کمی هم حرس خوردم) که نزدیک به 2 ساعت هستش که کلی مقاله از اینور اونور خوندم که چطوری میشه افزونه برای ویژوال استادیو نوشت. شاید بگید خوب اصلا کلی افزونه از قبل نوشته شده و آماده هست. حق دارید ولی بنده دوست دارم نیاز هام رو خودم رفع کنم. کلیم با این قضیه حال می کنم که چیزای جدید یاد بگیرم.

*-جستجو در جعبه ابزار :

با رفتن برروی جعبه ابزار و فعال کردن آن، کافیست نام کنترل مورد نظر را تایپ کرده و Enter را بزنید تا در فرم مورد نظر قرار داده شود. برای یافتن سایر کنترل های هم نام می توانید با زدن Tab در بین آنها حرکت کنید.

جالبش اینجاست که اگر جستجو کنید مطلب قابل قبولی که توسط مایکروسافت در اینگونه  موارد ارائه شده باشه یافت نمیشه. خوب اینم یکی از اسراری بود که نباید فاش می شد.

منبع

پ.ن: حتما comment هایی که در منبع ذکر شده است را بخوانید.





آشنایی با افزونه های Regex Editor و DPack

8 06 2010

* – افزونه Regex Editor :

همانطور که میدونید کار با Regular Expression به دلیل Syntax ی که داره کار آسونی نیست. تا به حال ابزار های زیادی برای کار با Regex تولید شده که هر کدام ویژگی های خاص خودشان را دارند. این افزونه امکانات جالبی برای برنامه نویسان در حین کد نویسی ارائه میده که عباراتند از :

1- کد نویسی :

در کد نویسی زمانی که شما شیء ای از کلاس Regex ایجاد می کنید، این افزونه به صورت اتوماتیک فرم مربوط به Regex Editor را نشان میده تا برنامه نویس بتونه با استفاده از امکانات موجود الگوی مورد نظر رو طراحی کرده، تست کنه و در صورت گرفتن نتیجه مطلوب این الگوی رو در کد با تایید پنجره ویرایش استفاده کنه. به نظر بنده این یکی از بهترین ویژگی های این ابزار هستش چون برنامه نویس رو درگیر نرم افزار های و ابزار های دیگری نمیکنه.

ویرایشگر افزونه Regex Editor

ویرایشگر افزونه Regex Editor

2- امکان تست عبارت :

فرض کنید می خواهید از صحت عملکرد Pattern نوشته شده مطمئن شوید، این افزونه امکان تست عبارت وارد شده در فیلد Matches را به شما می دهد و نتیجه را در فیلد Result اگر نتیجه مطلوب باشد می توانید با تایید Pattern طراحی شده را در کد مورد استفاده قرار دهید. در این صورت شما نیاز به تست Pattern توسط اجرای کد ندارید.

3- امکان ذخیره سازی الگوها و استفاده آنها در آینده :

سختی پیاده سازی و طراحی الگو ها و تست صحت عملکرد آنها با استفاده از Regular Expression بر هیچ کس پنهان نیست. یکی دیگر از امکانات این افزونه ذخیره سازی الگوهای تایید شده و استفاده آنها در پروژه های  دیگر در آینده است. شما به راحتی قادرید الگوی مورد نظر را از برگه الگوهای ذخیره شده انتخاب کرده و مورد استفاده مجدد قرار دهید. این امکان شما را از طراحی و تست عباراتی که در گذشته مورد استفاده صحیح قرار گرفته است رهایی می بخشد، تا هم در زمان و هم در کد نویسی صرفه جویی شود.

برای دانلود این افزونه می توانید از آیتم Extension Manager منوی ابزار محیط ویژوال استودیو استفاده کنید.

برای دانلود مستقیم این افزونه می توانید از این لینک و برای دانلود سورس آن از این لینک استفاده نمایید.

*- افزونه DPack :

این افزونه یکی از محبوب ترین ابزار های ارائه شده برای محیط توسعه ویژوال استودیو می باشد. و شامل امکاناتی برای برنامه نویسان در راستای مدیریت پروژه، نگهداری و دسترسی آسان به Object های موجود در پروژه می باشد. از ویژگی های اصلی این نرم افزار می توان به موارد ذیل اشاره کرد:

فرم CodeBrowser

فرم CodeBrowser

1- Code Browser :

شاید برای شما هم پیش آمده باشه که ای کاش ویژوال استودیو امکانی داشت که فقط دنبال چیزی که من می خوام بگرده و پیدا کنه. خوب شما می گید که ویژوال استودیو Seach داره با اون میشه آیتم مورد نظر رو مورد جستجو قرار داد. خوب این اون چیزی نیست که من دنبالش هستم، من می خوام دنبال کلاس، متد، فیلد و … بگردم که تو Solution تعریف شده، نه جایی که مورد استفاده قرار گرفته، Search ی که ویژوال استودیو ارائه میده واقعا وقت گیره تا تعریف متد یا ایتم مورد نظر رو پیدا کنه، من می خوام امکانی باشه که با تایپ نام خود کلاس که با Enter کردن بر روی آن من رو به کلاس مورد جستجو ببره. در اولین نگاه میگید که ای بابا خوب Solution Explorer را برای همین گذاشتن ولی بهتر می دونید که زمانی که بر روی یک پروژه ی واقعا بزرگ کار میکنید، حداقل برای من سخت که دائما توی فولدر های Solution دنبال آیتم مورد نظر بگردم.

این افزونه واقعا کار رو با کلید های میانبری که داره راحت کرده و به راحتی میشه تعریف آیتم مورد نظر رو پیدا کرد. از دیگر امکاناتی که میشه اسم برد جستجو بر روی فایل هایی هست که در Solution وجود دارند.

2- آمار گیری از پروژه :

امکان دیگر اینه که می تونید به راحتی با استفاده از Solution Statistics آمار کلی از تعداد پروژه های موجود در Solution، تعداد فایل های پروژه، تعداد سطر کدهای نوشته شده، تعداد کامنت های موجود و … را ببینید.

3- پشتیبان گیری :

یکی دیگر از ویژگی های این افزونه فراهم کردن امکان پشتیبان گیری از Solution با یک کلیک است. به راحتی با انتخاب Solution Backup می توانید از پروژه ی مورد نظر در مسیر پیش فرض (مسیر Solution)که قابل تغییر در فرمت های مختلف است پشتیبان تهیه فرمایید.

فرم SolutionBrowser

فرم SolutionBrowser

4- Framework Browser :

امکان دیگری که می توان نام برد Framework Browser می باشد. شما با تایپ نام Object مورد نظر و انتخاب آن در صورت اینکه Reference آن در پروژه موجود نباشد ابتدا آن را اضافه کرده و در Class فعال Namespace مناسب آنرا Include می کند. در صورت استفاده از این افزونه دیگر نیازی نیست به استفاده Object Explorer و Add Reference ویژوال استادیو نمی باشد.

برای دانلود این افزونه می توانید از آیتم Extension Manager منوی ابزار محیط ویژوال استودیو استفاده کنید.

برای دانلود مستقیم این افزونه می توانید از این لینک استفاده نمایید.