В прошлых версиях можно было открывать PhpStorm из меню программы и его терминал получал необходимое окружение.
OSPanel 6 позволяет создавать индивидуальное окружение для каждого проекта. Чтобы терминал PhpStorm при открытии автоматически инициализировал необходимое окружение я нашёл несколько вариантов.
Вариант 1 (пробный, не годится)
В настройках терминала Shell path
прописать следующую команду:
c:\windows\system32\cmd.exe /k "d:\ospanel\bin\osp.bat project example.local"
Обратите внимание, что нужно указать верный путь к файлу d:\ospanel\bin\osp.bat
. У вас OSPanel может быть установлена в другое место.
example.local
- это название вашего локального домена для данного сайта. К сожалению, эту настройку придется прописывать для каждого отдельного проекта.
Вариант 2 (приемлемый)
Один из пользователей чата OSP предложил следующий вариант
C:\Windows\system32\cmd.exe /k for %f in (%CD%) do @osp project %~nxf
Здесь предполагается, что каталоги вашего проекта имеют название, идентичное локальному домену для него.
Вариант 3 (упоротый)
Еще один вариант https://t.me/ospanel_chat/1/9663
Как оказалось, настройка Shell Path вовсе не проектно-зависимая и отдельно для каждого проекта индивидуальную команду для активации среды задать не получается.
Написал батник project.bat
, разместил его в директории OSPanel/bin
, содержание следующее:
@echo off
if exists "./.osp/project.ini" (
for /f "tokens=1,2 delims= " %%a in (./.osp/project.ini) do (
set str=%%a
echo %%a | findstr [ > NUL
if not ERRORLEVEL 1 goto run
)
) else (
echo not found
)
goto end
:run
set str=%str:~1,-1%
osp project %str%
:end
В настройке Шторма в Shell path указал следующее:
c:\windows\system32\cmd.exe /k "project.bat"
Хорошо работает только если каталог .osp
находится в рабочей директории проекта и содержит один домен =(
Вариант 4 (оптимальный)
Почему-то я сразу не догадался, но ведь есть проектно-зависимая настройка – Environment Variables
.
В ней можно указать любую переменную окружения для данного проекта. Этим можно воспользоваться, чтобы указать там имя домена. А дальше, либо использовать ее прямо в команде Shell path, как указано на скрине. Либо совместить с предыдущим вариантом №3, добавив условие в файл project.bat
@echo off
if not "%OSP_DOMAIN%"=="" (
osp project %OSP_DOMAIN%
goto end
)
IF EXIST "./.osp/project.ini" (
for /f "tokens=1,2 delims= " %%a in (./.osp/project.ini) do (
set str=%%a
echo %%a | findstr [ > NUL
if NOT ERRORLEVEL 1 GOTO run
)
) ELSE (
echo not found
)
goto end
:run
set str=%str:~1,-1%
osp project %str%
:end
Теперь терминал будет сразу открываться в нужной директории и с необходимым окружением.
Комментарии (7)
Спасибо!
Добрый день! Как сделать, чтобы терминал открывался в директории public проекта? Опция Start directory не влияет: https://i.imgur.com/J1gfoXI.png
Директория, в которой будет открываться терминал задаётся опцией
project_dir
в файле.osp/project.ini
Все доступные параметры перечислены здесь: https://github.com/OSPanel/OpenServerPanel/wiki/Документация#секция-имя_домена-1.
Не нашёл куда вам можно написать, поэтому напишу здесь. Пожалуйста, очень прошу, напишите пожалуйста как работать со связкой OSPanel 6, XDebug и PHPStorm, я так и не смог до конца разобраться как заставить это всё нормально работать, буду очень благодарен!
Поддержка оказывается на официальном форуме и в telegram-канале https://ospanel.io/forum/ https://t.me/ospanel_chat Я тоже там присутствую, но конкретно по XDebug не смогу помочь.
Благодарю.
Класс спасибо большое, особенно за 4 вариант.
Вы можете оставить комментарий: