OSPanel 6 + PhpStorm

6c7b8855c87e94acd586e7e7f054e219d6879d12
Как открыть терминал в PhpStorm с уже активированной средой проекта

В прошлых версиях можно было открывать 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 

Теперь терминал будет сразу открываться в нужной директории и с необходимым окружением.

 

Комментарии (1)

Прохожий

Спасибо!

Вы можете оставить комментарий:

Поддерживается разметка markdown

Комментарий будет опубликован после модерации