لاراول LSP رسمی معرفی شد
خلاصهٔ کاملتر
تیلور آتول روز اول لاراکان US 2026 از Laravel LSP رونمایی کرد. تو معرفیش اومده که این یه هوش ادیتوریِ آگاه از فریمورکه برای کانفیگ، روتها، بایندینگها و Eloquent، با پشتیبانی از Sublime Text، Zed، Neovim و Cursor. لاراول از قبل یه اکستنشن رسمی VS Code داشت، ولی کسایی که ادیتور دیگهای داشتن مجبور بودن به پروژههای جامعه تکیه کنن؛ حالا اون کار به یه سرور مستقل منتقل شده که روی stdio با پروتکل LSP حرف میزنه.
سرور پروژه رو ایندکس میکنه و به درخواستهای ادیتور جواب میده. تو دموی روی صحنه، نوشتن یه کلید ناقص کانفیگ داخل کنترلر یه لیست تکمیل از کلیدهای منطبق درآورد که مقدار حلشدهٔ هرکدوم هم کنارش بود — مثلاً app.timezone با مقدار UTC — و کلید ناقص بهعنوان یه diagnostic با پیام «Config not found» ثبت شد.
پوشش قابلیتها تقریباً همهٔ بخشهای کلیدرشتهای فریمورک رو میگیره: روتها، ویو و Blade، ترجمهها (تکمیل کلید، لوکال و پارامتر)، کانفیگ، متغیرهای محیطی، asset و Mix، میدلور، Inertia، کامپوننتهای Livewire، auth و policyها، بایندینگهای کانتینر، قوانین اعتبارسنجی، اکشنهای کنترلر و Eloquent. document link هم همون چیزیه که باعث میشه view('orders.index') و route('orders.show') کلیکشدنی بشن، و همون داده پشت go-to-definition ــه که بهصورت پیشفرض روشنه.
نصبش سراسری با کامپوزر انجام میشه و باید دایرکتوری vendor bin سراسری کامپوزر تو PATH باشه؛ پکیج به PHP 8.2 یا بالاتر نیاز داره و باینری آمادهٔ macOS (arm64 و x64)، لینوکس (arm64 و x64) و ویندوز (x64) داره. Sublime Text، Zed و VS Code هرکدوم اکستنشن رسمی لاراول دارن که سیمکشی رو خودشون انجام میدن و Cursor هم با همون اکستنشن VS Code کار میکنه. Neovim و OpenCode یهکم تنظیم دستی میخوان؛ برای Neovim 0.11 به بالا اینطوریه:
vim.lsp.config("laravel_lsp", {
cmd = { "laravel-lsp" },
filetypes = { "php", "blade" },
root_markers = { "artisan", "composer.json", ".git" },
})
vim.lsp.enable("laravel_lsp")چون سرور برای ساختن ایندکسش اسکریپتهایی رو روی پروژه اجرا میکنه، به یه دستور PHP سالم نیاز داره. گزینهٔ phpEnvironment که از طریق initializationOptions پاس داده میشه تعیین میکنه اون دستور چطور پیدا بشه؛ پیشفرضش auto ــه که بهترتیب Herd، Valet، Sail، Lando، DDEV و بعد PHP محلی رو امتحان میکنه، ولی میتونی روی یکیشون پینش کنی یا با یه phpCommand صریح کلاً تشخیص خودکار رو رد کنی.
هر قابلیت هم بولین خودشو داره، یعنی مثلاً میشه routeDiagnostics رو خاموش کرد ولی تکمیل روت رو نگه داشت. دو گزینهٔ مخصوص Pest هم هست: pestGenerateDocBlocks داکبلاکهای هلپر Pest رو با تغییر تستها و فایلهای autoload بهروز نگه میداره و pestHelperFilePath مسیر نوشتهشدن اون فایل رو تعیین میکنه.
نکات کلیدی:
- Laravel LSP یه زبانسرور رسمیه که روی stdio با پروتکل LSP حرف میزنه
- کلیدهای کانفیگ، روتها، ویوها، ترجمهها، میدلورها و بایندینگهای کانتینر رو میشناسه
- تکمیل، هاور، diagnostic، document link و go-to-definition رو پوشش میده
- نصب سراسری با کامپوزر؛ نیازمند PHP 8.2 به بالا با باینری آمادهٔ مک، لینوکس و ویندوز
- Sublime، Zed، VS Code و Cursor اکستنشن آماده دارن؛ Neovim و OpenCode تنظیم دستی میخوان
- phpEnvironment بین Herd، Valet، Sail، Lando و DDEV تشخیص خودکار میده و هر قابلیت جدا خاموششدنیه




