معرفی jshell
jshell — ابزاری برای ارزیابی تعاملی اعلانها، دستورات و عبارات زبان برنامهنویسی جاوا در یک حلقه خواندن-ارزیابی-چاپ (REPL). از این ابزار برای یادگیری زبان، کاوش ویژگیها و APIهای جدید و نمونهسازی کد جدید استفاده میشود.
نمای کلی (Synopsis)
jshell [options] [load-files]
- options — گزینههای خط فرمان، جداشده با فاصله
- load-files — یک یا چند اسکریپت برای اجرا هنگام شروع ابزار
اسکریپت میتواند یک فایل محلی یا یکی از اسکریپتهای از پیش تعریفشده زیر باشد:
| نام | توضیح |
|---|---|
DEFAULT | اعلانهای پیشفرض را بارگذاری کند ( importهای رایج) |
JAVASE | تمام پکیجهای Java SE را import کند |
PRINTING | متدهای print، println و printf را تعریف کند |
TOOLING | متدهای javac، jar و ابزارهای دیگر JDK را تعریف کند |
برای پذیرش ورودی از ورودی استاندارد و سرکوب ورودی/خروجی تعاملی، یک خط تیره (-) برای load-files وارد کنید.
توضیحات (Description)
jshell راهی برای ارزیابی تعاملی اعلانها، دستورات و عبارات زبان جاوا فراهم میکند و یادگیری زبان، کاوش کد و APIهای ناآشنا و نمونهسازی کد پیچیده را آسانتر میکند. دستورات جاوا، تعریف متغیر، تعریف متد، تعریف کلاس، دستورات import و عبارات پذیرفته میشوند. قطعههای واردشده Snippet نامیده میشوند.
با وارد شدن Snippetها، ارزیابی شده و بازخورد ارائه میشود. بازخورد از نتایج و توضیحات اعمال گرفته تا هیچ، بسته به Snippet و حالت بازخورد انتخابشده متفاوت است. خطاها صرفنظر از حالت بازخورد توصیف میشوند. برای دریافت بیشترین بازخورد هنگام یادگیری ابزار، با حالت verbose شروع کنید.
Snippetهای موجود میتوانند از یک فایل برای راهاندازی یک نشست jshell بارگذاری شوند، یا در هر زمان در طول نشست. Snippetها میتوانند برای امتحان تغییرات مختلف و اصلاحات در طول نشست تغییر کنند. برای نگهداری Snippetها برای استفاده بعدی، آنها را در یک فایل ذخیره کنید.
گزینهها (Options)
| گزینه | توضیح |
|---|---|
--add-exports module/package | پکیجی را بهعنوان صادرشده از ماژول تعریفکننده مشخص میکند |
--add-modules module[,...] | ماژولهای ریشهای اضافی برای حل کردن مشخص میکند |
--class-path path | دایرکتوریها و آرشیوهای جستجو برای یافتن فایلهای کلاس (در لینوکس/مک با : و در ویندوز با ; جدا شود) |
--enable-preview | اجازه وابستگی کد به ویژگیهای پیشنمایش این نسخه |
--feedback mode | سطح بازخورد: verbose، normal، concise، silent، custom (پیشفرض: normal) |
--help / -h / -? | خلاصه گزینههای استاندارد |
--help-extra / -X | خلاصه گزینههای غیراستاندارد |
-Jflag | پرچم برای ارسال به Runtime |
--module-path modulepath | مکان یافتن ماژولهای برنامه |
--no-startup | جلوی اجرای اسکریپتهای راهاندازی را میگیرد |
-q | بازخورد = concise |
-s | بازخورد = silent |
--startup file | اسکریپت راهاندازی سفارشی |
-v | بازخورد = verbose |
--version | چاپ نسخه و خروج |
دستورات (Commands)
| دستور | توضیح |
|---|---|
/drop {name|id|startID-endID} | Snippetها را غیرفعال میکند |
/edit [option] | ویرایشگر را باز میکند |
/env [options] | تنظیمات محیطی را نمایش یا بهروزرسانی میکند |
/exit [n] | ابزار را ترک میکند (n = وضعیت خروج) |
/history | تاریخچه ورودیهای این نشست |
/help [cmd|subject] | اطلاعات دستورات و موضوعات |
/imports | importهای فعال فعلی |
/list [option] | لیست Snippetها و IDها |
/methods [option] | اطلاعات متدهای واردشده |
/open file | اسکریپت را باز و Snippetها را میخواند |
/reload [options] | ریاستارت نشست با بازپخش تاریخچه |
/reset [options] | حذف تمام Snippetها و ریاستارت (بدون بازپخش) |
/save [option] file | ذخیره Snippetها در فایل |
/set [setting] | تنظیم ویرایشگر، بازخورد، فرمت، حالت و غیره |
/types [option] | کلاسها، Interfaceها و Enumهای واردشده |
/vars [option] | متغیرها با نام، نوع و مقدار |
/? | معادل /help |
/! | اجرای مجدد Snippet قبلی |
/-n | اجرای مجدد nاُمین Snippet قبلی |
میانبرهای ورودی (Input Shortcuts)
تکمیل خودکار (Tab Completion)
هنگام وارد کردن Snippetها، دستورات، زیردستورات، آرگومانها یا گزینهها، از کلید Tab برای تکمیل خودکار استفاده کنید. هنگام فراخوانی متد، Tab را بعد از پرانتز باز فشار دهید تا پارامترها نمایش داده شوند.
- Shift+V — تبدیل عبارت به تعریف متغیر
- Shift+M — تبدیل عبارت/دستور به تعریف متد
- Shift+I — نمایش importهای ممکن برای شناسه حلنشده
مخففسازی دستورات
اگر مخفف بهطور یکتا دستوری را شناسایی کند، پذیرفته میشود. مثلاً /l معادل /list. اما /s معتبر نیست — از /se یا /sa استفاده کنید.
ناوبری تاریخچه
تاریخچه در طول نشستها حفظ میشود. از کلیدهای بالا/پایین برای پیمایش و Ctrl+Up/Down برای پرش از خطهای چندخطی استفاده کنید.
جستجوی تاریخچه
Ctrl+R جستجو به عقب و Ctrl+S جستجو به جلو.
شروع و پایان نشست
jshell بخشی از JDK است. برای شروع یک نشست، jshell را در خط فرمان وارد کنید. برای دیدن Snippetهای راهاندازی، /list -start را استفاده کنید. برای پایان، /exit.
ورود و تغییر Snippetها
Snippetها شامل دستورات جاوا، تعریف متغیر، تعریف متد، تعریف کلاس، import و عبارات هستند. سمیکالن پایانی خودکار اضافه میشود.
jshell> int x = 10
x ==> 10
jshell> int square(int n) { return n * n; }
| created method square(int)
jshell> square(x)
$2 ==> 100
برای تغییر، تعریف را دوباره وارد کنید. برای Snippetهای طولانی از /edit استفاده کنید.
ایجاد حالت بازخورد سفارشی
از /set mode برای ایجاد حالت بازخورد جدید استفاده کنید. از /set feedback برای فعالسازی آن استفاده کنید. حداکثر طول مقدار نمایشی توسط /set truncation کنترل میشود.
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: منبع مستندات