PDA

View Full Version : گفتگو: ترفندهای ویژوال استودیو و ویژوال بیسیک نت



b.saminjad
پنج شنبه 13 بهمن 1390, 21:56 عصر
سلام


دوستان این تاپیک با هدف مطرح کردن ترفندها و تکنیهای ویژوال استودیو و دانستنیهای مفید آن ایجاد شده است

دوستان و برنامه نویسیان عزیز تجربیات خود را در این زمینه در این تاپیک مطرح کنید

بنده نیز تا جای که علمم اجاز میده مطالبی را هر هفته جمع اوری کرده و عنوان میکنم


دوستان عزیز لطفا مطالب به درد بخور خو را هر چند کوچک مطرح کنید تا دیگران نیز استفاده کنند



حلقه کلیپورد :

در ویژوال استودیو کلیپورد به این صورت هست که میشه تا 20 مقدارو دران قرار داد به این صورت
که هرجا که خاستیم با ctrl +c دادهای مورد نظر را در کلیپورد قرار داده سپس یه وسیله ctrl +shift+v دادها را پیمایش میکنیم


برای مثال اگه 10 داده در کلیپورد یاشد با زدن 4 بار ctrl +shift+v به ششمین داده در کلیپورد دسرسی
پیدا میکنیم درست شبیه به stack

نکته:برای برش متن یاcut نیزبه شیوه کپی عمل میکنیم


نمایش شماره خطوط کدها:

برای انجام این کار ازمنوی tools گزینه option را انتخاب کنید سپس بروی علامت+ کنارtexteditor کلیک کنید زبان basic (یا زبان دلخواه) را انتخاب کرده و در قسمت سمت راست گزینه line number را تیک بزنید



Region چیست:

Region یک دستور پیش پرادزنده است که موجب کاهش فضای کدها و دسرسی سریع تر و یهینه تر

به کدها میشود

طریقه استفاده


region "name" #



دستورت



end region #

به جای , name نام مورد نظر خود را ینویسید
با انجام این کار یک علامت + کنار region ظاهر میشود که از ان برای نمایش یا عدم نمایش کدها استفاده میشود


بسته نشدن برنامه با بستن فرم اصلی:


گاهی اوقات پیش میاد که نمیخایم با بستن فرم اصلی برنامه بسته نشه (منظور اولین فرمی است که نمایش داده نمیشه)
رو پروژه راست کلیک کرده و properties را انتخاب کنبد سپس گزینه application را انتخاب
کنبد در قسمت پایین اون گزینه shutdown mode را برروی when last form closed قرار دهید
فایده: فرم اصلی بسته میشه ولی برنامه بسته نمیشه

Snippet چیست :

این ویژگی فقط در vb.net وجود دارد و شامل کدهای اماده است که برنامه نویس بنا به نیاز و برای تولید سریع تر نرم افزار از ان بهره می برد
برای استفاده از این گزینه در پنجره ویرایش کد کلیک راست کرده و گزینه insert Snippet را انتخاب کنید


تغییر زمان ذخیره خودکار برنامه:

برای انجام این کار ازمنوی tools گزینه option را انتخاب کنید در قسمت environment گزینه auto recover را انتخاب کرده سپس گزینه اول را به دلخواه تغییر دهید

نکته : گزینه دوم مدت زمان نگهداری اطلاعات برای بازگردانی را تعیین می کند

b.saminjad
جمعه 14 بهمن 1390, 10:53 صبح
سلامی دوباره



دوستان لطفا در این باره نظر بدید و مشارکت کنید ارزششو داره

swallow.pa
جمعه 14 بهمن 1390, 11:14 صبح
خوب بود لطفا ادامه بدید برای مبتدی هائ مثل من عالیه

ali190
جمعه 14 بهمن 1390, 11:49 صبح
سلام دوست من
کارت عالیه ، ادامه بده
من خودم در VS دو تا مشکل دارم که این مشکل ها رو در vb6 نداشتم
1: زمانیکه وارد محیط vb6 میشدم و در محیط کدنویسیش یه Space کوچیک هم میزدم یا مثلاً یک آبجکت رو روی فرم جابجا میکردم موقع بستن پروژه ازم سئوال میپرسه "آیا میخوای تغییرات Save بشه یا نه"
ولی تو VS این کار انگار بگیر نه گیر داره ؟ آیا تنظیم خاصی داره؟
2: فرض کنید من در پروژه ام از یه کامپوننت با ورژن X دارم استفاده میکنم ، بعد میام در سیستمم همو ن کامپوننت با ورژن X+1 رو رجیستر میکنم
در VB6 ولی این کار رخ میداد موقع گشوذن فرم از کاربر سئوال میپرسید که "آیا مایلید کامپوننت مربوطه Upgrade شود؟ "
این رو هم در VS پیدا نکردم
این دو مسئله رو اگر توضیح بفرمائید ازتون ممنون میشم
یاعلی

hakan648
جمعه 14 بهمن 1390, 12:01 عصر
سلام


1 -
برای انتخاب یک یا چند کلمه میتونید کلید CTRL رو نگه دارید و روی متن مورد نظر کلیک کنید و بروی متون مورد نظر بکشید . در این حالت نیازی نیست از طریق ماوس از ابتدا تا انتها متن موردنظر رو بگیرید .
یعنی بجای اینکه حرف به حرف متن انتخاب بشه , بصورت کلمه به کلمه انتخاب میشه که باعث افزایش سرعت کار میشه .

برای حذف یک یا چند کلمه هم میتونید کلید CTRL رو نگه دارید و DEL رو بزنید . در این حالت مثل مورد قبلی , عمل حذف بصورت کلمه به کلمه انجام میشه .

===========

2 -
برای نوشتن بعضی از قطع کدها که شامل یک ساختار مشخص هستند , مثل loop , switch , property , ... میتونید نوشتن بدنه کد رو به VS بسپارید و فقط از طریق کلید TAB بخش های متغییر رو ویرایش کنید . ( همون Snippet هست که دوستمون فرمودند )
مثلا برای نوشتن یک Property عبارت prop را تایپ میکنید و ( در C#‎ ) تصویر زیر رو مشاهده میکنید :

http://up1.iranblog.com/images/37777822130219097996.png

سپس با زدن کلید TAB میتونید "نوع" و "نام" Property رو تعیین کنید .
(تصویر زیر بعد از زدن کلید TAB است )

http://up2.iranblog.com/images/81985517891279946823.png

برای نوشتن یک foreach , عبارت foreach رو تایپ میکنید و چیزی مشابه تصویر زیر رو میبینید :


http://up7.iranblog.com/images/39885175584565182107.png

و بعد از زدن کلید TAB :

http://up8.iranblog.com/images/50193324797413471014.png

==============

3 -
گاهی نیاز داریم که فضای خالی چند خط رو کم یا زیاد کنیم - مثلا نیاز میخوایم که کدهارو در سایت قرار بدیم و مقدار زیادی فضای خالی قبل از هرخط هست , برای حذف این فضاها , خط های مورد نظر رو انتخاب میکنیم و کلید SHIFT + TAB رو میزنیم - برای اضافه کردن فضای خالی هم فقط TAB رو میزنیم . ( البته بنده در C#‎ و aspx این کار رو امتحان کردم )

http://up4.iranblog.com/images/33747835392185974341.png


http://up4.iranblog.com/images/38958998533343526799.png

==============

4 -
برای کامنت ( Comment ) کردن چند خط میتونید بعد از انتخاب کردن متن مورد نظر از کلید میانبر CTRL + K + C استفاده کنید و برای خارج کردن چند خط از حالت کامنت از کلیدهای CTRL + K + U استفاده کنید .


http://up4.iranblog.com/images/21625910373121040936.png

=============

موفق باشید ...

b.saminjad
جمعه 14 بهمن 1390, 12:24 عصر
سلام دوست من
کارت عالیه ، ادامه بده
من خودم در VS دو تا مشکل دارم که این مشکل ها رو در vb6 نداشتم
1: زمانیکه وارد محیط vb6 میشدم و در محیط کدنویسیش یه Space کوچیک هم میزدم یا مثلاً یک آبجکت رو روی فرم جابجا میکردم موقع بستن پروژه ازم سئوال میپرسه "آیا میخوای تغییرات Save بشه یا نه"
ولی تو VS این کار انگار بگیر نه گیر داره ؟ آیا تنظیم خاصی داره؟
2: فرض کنید من در پروژه ام از یه کامپوننت با ورژن X دارم استفاده میکنم ، بعد میام در سیستمم همو ن کامپوننت با ورژن X+1 رو رجیستر میکنم
در VB6 ولی این کار رخ میداد موقع گشوذن فرم از کاربر سئوال میپرسید که "آیا مایلید کامپوننت مربوطه Upgrade شود؟ "
این رو هم در VS پیدا نکردم
این دو مسئله رو اگر توضیح بفرمائید ازتون ممنون میشم
یاعلی

سلام


با تشکر از همه دوستان


جواب سوال اول:

در vs هم به همون صورته با این تفاوت که اگه برنامه رو دیباگ کنید تغییرات خودکار ذخیره میشن و موقع خروج سوالی مبنی بر ذخیره نمیپرسه ولی اگه تغییرات رو ایجاد کنید و دیباگ نکنید اگه بخواید از برنامه خارج شید کادر ذخیره تغغیرات ظاهر میشه

جواب سوال دوم

در solution های چند پروژه ای با یکبار اجرا کردن برنامه خودکار بروز میشه درمورد user control و class library هم با کامپایل کمپوننت برنامه بروز میشه

موفق باشید

ali190
جمعه 14 بهمن 1390, 12:46 عصر
ممنون از توضیحاتتون
در مورد سئوال اول منظورتون از دیباگ ، Run کردن روژه هست (F5) یا Build کردنش؟
در مورد سئوال دوم ، اگر نخواهیم این بروزرسانی انجام شود چه باید بکنیم
فرض کنید من کامپوننتم ورژن بالاترش نسخه Trial هست
من میخوام VS ازم سئوال کنه
باز هم ممنونم
یاعلی

Hossein Bazyan
جمعه 14 بهمن 1390, 12:47 عصر
سلام

برای انتخاب یک خط کامل لازم نیست همه خط رو انتخاب سپس Ctrl+C زد بلکه با زدن Ctrl+C کل خط به کلیپ برد میرود.

b.saminjad
جمعه 14 بهمن 1390, 13:26 عصر
در مورد سئوال اول منظورتون از دیباگ ، Run کردن روژه هست (F5) یا Build کردنش؟
در مورد سئوال دوم ، اگر نخواهیم این بروزرسانی انجام شود چه باید بکنیم
فرض کنید من کامپوننتم ورژن بالاترش نسخه Trial هست
من میخوام VS ازم سئوال کنه



سلامی دوباره

بله منظورم run کردن یا اجرای برنامه بود

در مورد دوم vs فقط همان assembly که refrence شده را بروز میکند اگه کمپوننت رو خودتون ساختین مسیر دیباگ رو عوض کنید یا release کنید

b.saminjad
جمعه 14 بهمن 1390, 16:02 عصر
سلام به همه دوستان


Bookmark ها




بوک مارک نوعی نشان گذاری در vs است که به وسیله ان ما میتوانیم کدهای خود را چه در پروژه فعلی چه در دیگر پروژه ها در solution فعلی نشانه گذاری کرده و به راحتی با زدن یک دکمه یا کلید شورت کات ان به کد مورد نظر برسیم

روش ایجاد :

کرسر را در خط مورد نظر قرار داده سپس از نوار ابزار مطابق شکل دکمه toggle a bookmark… را کلیک کنید یا ctrl+k را فشار دهید
81974

حرکت بین بوک مارک ها:

به وسیله دکمه های موجود در نوار ابزار میتوانید بوک مارکها را پیمایش کنید


81975



نکته 1 : بوک مارک ها را میتوانید هر جای در پروژی فعلی قرار دهید(مثلا در چند صحفه متفاوت)

نکته 2 : به وسیله دکمه های زیر میتوانید صحفه فعلی را پیمایش کنید


81976


حذف بوک مارک ها:

برای حذف یک بوک مارک بروی سطری که بوک مارک قرار داره کلیک کرده سپس ctrl+k را بزنید

برای حذف همه بوک مارکها دکمه clear all bookmarks را مطابق شکل زیر انتخاب کنید
81977

موفق باشید

swallow.pa
جمعه 14 بهمن 1390, 20:30 عصر
لطفا در مورد دیباگ کردن پروژه توضیح بدید خصوصا این مسئله که من خیلی مشکل دارم :
یک متغیر پابلیک دارم در سطح برنامه می خوام در یک لحظه بدون کد نویسی بدونم چه مقادیری رو در کجاهای پروژه داره بنظر شما vs این امکانات رو داره

b.saminjad
جمعه 14 بهمن 1390, 20:47 عصر
سلام

درمورد سوال اول دیباگ خطایابی برنامه است و ساخت یک نمونه از برنامه اگه منظورت تفاوتش با release باید بگم در release هم کد IL و هم دستورات cpu که توسط JIT به زبان cpu ترجمه میشه بهینه میباشد در کل release برای گرفتن خروجی نهایی می باشد

در مورد سوال دوم بله روی متغیر مورد نطر کلیک راست کن و گزینه find all refrences رو انتخاب کنید

b.saminjad
شنبه 15 بهمن 1390, 15:00 عصر
سلام به همه دوستان






چند نکته برای تسلط بر پنچره کد نویسی





1: دسرسی سریع به منوی شناور →+ alt (یا ctrl+space)





2: برش سریع یک سطر: کلیک بر روی سطر و زدن ctrl+x برای کپی ctrl+c




3:دسری سریع به محل تعریف متغیر: کلیک راست بر روی متغیر و انتخاب گزینه Go to definition




4:نمایش کلیه مقدار دهی های یک متغیر : کلیک راست بر روی متغیر(جایی که تعریف شده) و انتخاب گزینه find all refrences





جلوگیری از ذخیره خودکار تغییرات توسط ویژوال استودیو:






از منوtool s گزینه option و پس از ان بروی علامت+ کنار project ans solution کلیک کنید سپس build and run را انتخاب کرده سپس درسمت راست اولین کمبو باکس را به prompt to save all change تغییر دهید





در این صورت هنگام اجرای برنامه یا خروج از ان کادر ذخیره تغییرات نمایش داده میشود


دو برنامه مفید






یه برنامه برای پی بردان به نصب یا عدم نصب بودن دات نت(ضمیمه اول)







یه برنامه کوچک برای پی بردن به نسخه های نصب شده دات نت(ضمیمه دوم)

به وسیله این برنامه میتونید نسخه های دات نت نصب شده رو بدست بیارین


82033

b.saminjad
شنبه 15 بهمن 1390, 19:31 عصر
سلام به همگی



ممنون از این همه مشارکت

یه مطلبی ............

دوستان لطفا مطالب به درد بخور چیزای جدید مطالبی که زیاد بحث نمیشنو مطرح کنید همه استفاده کنند همش که نباید سوال پرسید