Страница 1 из 1

В чем смысл ?

Добавлено: 2018.02.01, 09:09
trueorfalse
МУЖИКИ!
Добрый день МУЖИКИ.

Вот использую atom ide и все хвалят phpstorm говоря что там большой функционал.
Скачал и нечего не вижу :lol: .

Куда лезть чтобы ощутить функционал и остаться на нем ?

Re: В чем смысл ?

Добавлено: 2018.02.01, 09:10
ElisDN
По меню, настройкам и кнопкам по периметру побродить, например.

Re: В чем смысл ?

Добавлено: 2018.02.01, 09:14
trueorfalse
ElisDN писал(а): 2018.02.01, 09:10 По меню, настройкам и кнопкам по периметру побродить, например.
Кстати не нажимал еще там особо нечего, а если серьезно вот какой этап пользования ?
То что он показывает тип ? В чем его сила ?

Re: В чем смысл ?

Добавлено: 2018.02.01, 10:33
Nex-Otaku
Сила - в ньютонах.

Так что выкинь PhpStrom и ставь NetBeans )

Re: В чем смысл ?

Добавлено: 2018.02.01, 10:34
ElisDN
Первоначальные настройки:

Для начала уберите галочку "File > Settings > Editor > Inspections > PHP > Error Handling > Unhandled exeption", чтобы не ругался на отсутствие всех @throws в PHPDoc-блоках.

В "File > Settings > Directories" проекта выставляем как Excluded все папки с мусором вроде runtime и web/assets.

Чтобы он понимал, в какой папке у вас исходники и под каким неймспейсом, корневую папку в yii2-app-basic или каждую папку backend, frontend и т.п. в app-advanced помечаем как Source, прописывая им корневой неймспейс app или backend и т.п. Аналогично tests помечаем как Tests с неймспейсом tests.

Если PhpStorm подхватит Composer, то библиотеки в папке vendor корректно обработает автоматически. Иначе папку vendor желательно проигноировать как Excluded и подключить вручную в "File > Settings > Languages and Frameworks > PHP" в списке Libraries, чтобы был доступ к классам, но поиск и замена там не производились и не было риска там что-то сломать.

В "File > Settings > Languages and Frameworks > PHP" выставляем используемую версию PHP и текущий консольный интерпретатор.

Ну и по использованию:

IDE отличается от простого текстового редактора именно её "интеллектуальными" способностями. А именно, разработчики ценят её умение понимать программный код и им управлять, способность находить и подсвечивать ошибки и недочёты и возможность автоматизировать рутинные операции.

В PHPStorm чаще всего используется:

- Автоподстановка и автопроверка по типизации
- Импорт классов в use автоматически через Ctrl+Space или через Import Class в меню после клика по "лампочке" или нажатия Alt+Enter
- Создание классов в любой папке через New > PHP Class (при желании можно очистить шаблоны создания классов, чтобы не вписывались лишние комментарии)
- Переход к любому классу по имени через Ctrl+N
- Глобальные поиск и замена по проекту по Ctrl+Shift+F и Ctrl+Shift+R (при поиске игнорируются исключённые нами через Excluded папки)
- Ctrl+Click на любом классе, методе, константе или переменной показывает либо исходник элемента, либо те места, где он используется
- Клик по стрелочкам в линейке левее имени класса или метода открывает аналогичный метод в родителе или наследниках
- Умные автозамены (если в классе набрать pubf и нажать Tab, то автоматически появится public function () вокруг курсора. Вбиваем имя функции - нажимаем Tab - вбиваем аргументы - нажимаем Tab - пишем тело метода)
- Автогенерация кода (геттеров, сеттеров, инициализация полей в конструкторе)
- Авторефакторинг (Переименование переменных, классов, констант, перемещение классов в другой неймспейс, вынесение метода, интерфейса и т.п. При переименовании папки меняется неймспейс всех классов в ней)
- Исправление стиля кода выделенного фрагмента или всего файла по Ctrl+Alt+L
- Переопределение методов в наследнике через Ctrl+O
- Инспекция кода Code > Inspect Code. Находит все неиспользуемые или несуществующие use, переменные и кучу других проблем или возможных недочётов. Можно поставить плагин EA Extendend с дополнительными проверками.
- Автоинтеграция c Git (Подсвечивает разными цветами новые, изменённые и игнорируемые файлы. У любого файла можно вызвать Git > Show History или закоммитить прямо там)
- Своя внутренняя история изменений VCS > Local History в дополнение к простому Ctrl+Z
- По Ctrl+Z отменяются не только изменения текста, но и удаление, перемещение или переименование файлов
- Разбиение окна пополам по Split Vertically в контекстном меню вкладки
- Панель подключения к БД
- Интеграция тестов PHPUnit и Codeception
- Веб-клиент для тестирования API
- Поддержка Vagrant для запуска машин, подключения по SSH и возможность запуска тестов внутри Vagrant
- Простой Terminal и отдельный Console Tool для создания своих команд

И есть ещё куча скрытых вещей, которые можно изучить на досуге, если они понадобятся.

Ну и, в отличие от других IDE, всё сохраняется в реальном времени и не нужно нажимать Ctrl+S

Re: В чем смысл ?

Добавлено: 2018.02.01, 10:36
trueorfalse
ElisDN писал(а): 2018.02.01, 10:34 Первоначальные настройки:

Для начала уберите галочку "File > Settings > Editor > Inspections > PHP > Error Handling > Unhandled exeption", чтобы не ругался на отсутствие всех @throws в PHPDoc-блоках.

В "File > Settings > Directories" проекта выставляем как Excluded все папки с мусором вроде runtime и web/assets.

Чтобы он понимал, в какой папке у вас исходники и под каким неймспейсом, корневую папку в yii2-app-basic или каждую папку backend, frontend и т.п. в app-advanced помечаем как Source, прописывая им корневой неймспейс app или backend и т.п. Аналогично tests помечаем как Tests с неймспейсом tests.

Если PhpStorm подхватит Composer, то библиотеки в папке vendor корректно обработает автоматически. Иначе папку vendor желательно проигноировать как Excluded и подключить вручную в "File > Settings > Languages and Frameworks > PHP" в списке Libraries, чтобы был доступ к классам, но поиск и замена там не производились и не было риска там что-то сломать.

В "File > Settings > Languages and Frameworks > PHP" выставляем используемую версию PHP и текущий консольный интерпретатор.

Ну и по использованию:

IDE отличается от простого текстового редактора именно её "интеллектуальными" способностями. А именно, разработчики ценят её умение понимать программный код и им управлять, способность находить и подсвечивать ошибки и недочёты и возможность автоматизировать рутинные операции.

В PHPStorm чаще всего используется:

- Автоподстановка и автопроверка по типизации
- Импорт классов в use автоматически через Ctrl+Space или через Import Class в меню после клика по "лампочке" или нажатия Alt+Enter
- Создание классов в любой папке через New > PHP Class (при желании можно очистить шаблоны создания классов, чтобы не вписывались лишние комментарии)
- Переход к любому классу по имени через Ctrl+N
- Глобальные поиск и замена по проекту по Ctrl+Shift+F и Ctrl+Shift+R (при поиске игнорируются исключённые нами через Excluded папки)
- Ctrl+Click на любом классе, методе, константе или переменной показывает либо исходник элемента, либо те места, где он используется
- Клик по стрелочкам в линейке левее имени класса или метода открывает аналогичный метод в родителе или наследниках
- Умные автозамены (если в классе набрать pubf и нажать Tab, то автоматически появится public function () вокруг курсора. Вбиваем имя функции - нажимаем Tab - вбиваем аргументы - нажимаем Tab - пишем тело метода)
- Автогенерация кода (геттеров, сеттеров, инициализация полей в конструкторе)
- Авторефакторинг (Переименование переменных, классов, констант, перемещение классов в другой неймспейс, вынесение метода, интерфейса и т.п. При переименовании папки меняется неймспейс всех классов в ней)
- Исправление стиля кода выделенного фрагмента или всего файла по Ctrl+Alt+L
- Переопределение методов в наследнике через Ctrl+O
- Инспекция кода Code > Inspect Code. Находит все неиспользуемые или несуществующие use, переменные и кучу других проблем или возможных недочётов. Можно поставить плагин EA Extendend с дополнительными проверками.
- Автоинтеграция c Git (Подсвечивает разными цветами новые, изменённые и игнорируемые файлы. У любого файла можно вызвать Git > Show History или закоммитить прямо там)
- Своя внутренняя история изменений VCS > Local History в дополнение к простому Ctrl+Z
- По Ctrl+Z отменяются не только изменения текста, но и удаление, перемещение или переименование файлов
- Разбиение окна пополам по Split Vertically в контекстном меню вкладки
- Панель подключения к БД
- Интеграция тестов PHPUnit и Codeception
- Веб-клиент для тестирования API
- Поддержка Vagrant для запуска машин, подключения по SSH и возможность запуска тестов внутри Vagrant
- Простой Terminal и отдельный Console Tool для создания своих команд

И есть ещё куча скрытых вещей, которые можно изучить на досуге, если они понадобятся.

Ну и, в отличие от других IDE, всё сохраняется в реальном времени и не нужно нажимать Ctrl+S
Спасибо.

Re: В чем смысл ?

Добавлено: 2018.02.01, 10:40
Nex-Otaku
А ещё PhpStrom зараза платный (
Хотя я в курсе, что 99% разработчиков на ломаных версиях сидят, но как-то душа не лежит к этому (

Re: В чем смысл ?

Добавлено: 2018.02.01, 10:42
Nex-Otaku
в отличие от других IDE, всё сохраняется в реальном времени и не нужно нажимать Ctrl+S
Эта "фича" адски глючит и её невозможно отключить. Увы.
Полный рассинхрон того, что на диске и в редакторе => невозможность нормально закоммитить изменения.

Re: В чем смысл ?

Добавлено: 2018.02.01, 10:51
ElisDN
Nex-Otaku писал(а): 2018.02.01, 10:42 Эта "фича" адски глючит и её невозможно отключить. Увы.
Полный рассинхрон того, что на диске и в редакторе => невозможность нормально закоммитить изменения.
За пять лет ни разу не заметил.

Re: В чем смысл ?

Добавлено: 2018.02.01, 10:54
trueorfalse
Но как я atom наворотил почти разницы нет, только что тип показывает вот это понравилось.

Re: В чем смысл ?

Добавлено: 2018.02.01, 11:01
trueorfalse
Может и на самом деле крутая и чего то не понимаю.

Re: В чем смысл ?

Добавлено: 2018.02.01, 11:05
Nex-Otaku
ElisDN писал(а): 2018.02.01, 10:51
Nex-Otaku писал(а): 2018.02.01, 10:42 Эта "фича" адски глючит и её невозможно отключить. Увы.
Полный рассинхрон того, что на диске и в редакторе => невозможность нормально закоммитить изменения.
За пять лет ни разу не заметил.
Может, мне не повезло с версией, а может дело в том, что я использую Windows, а ты используешь Linux )

Re: В чем смысл ?

Добавлено: 2018.02.01, 11:09
ElisDN
trueorfalse писал(а): 2018.02.01, 10:54 Но как я atom наворотил почти разницы нет, только что тип показывает вот это понравилось.
Это либо взять редактор + доустановить десяток плагинов, либо установить готовую IDE, где всё включено. Дело вкуса.

Re: В чем смысл ?

Добавлено: 2018.02.05, 18:02
zabachok
Nex-Otaku писал(а): 2018.02.01, 10:40 А ещё PhpStrom зараза платный (
Хотя я в курсе, что 99% разработчиков на ломаных версиях сидят, но как-то душа не лежит к этому (
А откуда вы взяли такое число?

Re: В чем смысл ?

Добавлено: 2018.02.05, 21:43
chesar
Nex-Otaku писал(а): 2018.02.01, 11:05 Может, мне не повезло с версией, а может дело в том, что я использую Windows, а ты используешь Linux )
3 года на Винде полёт нормальный если проект локальный.
Тупить на коммитах начинает если папка с проектом на подключённом сетевом диске, и независимо от ос.
Поэтому стоит искать проблему в файловой системе, самом диске.