В чем смысл ?

Не относящиеся к фреймворку и программированию вопросы
Закрыто
trueorfalse
Сообщения: 674
Зарегистрирован: 2017.06.21, 13:50

В чем смысл ?

Сообщение trueorfalse » 2018.02.01, 09:09

МУЖИКИ!
Добрый день МУЖИКИ.

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

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

Аватара пользователя
ElisDN
Сообщения: 4998
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

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

Сообщение ElisDN » 2018.02.01, 09:10

По меню, настройкам и кнопкам по периметру побродить, например.

trueorfalse
Сообщения: 674
Зарегистрирован: 2017.06.21, 13:50

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

Сообщение trueorfalse » 2018.02.01, 09:14

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

Nex-Otaku
Сообщения: 809
Зарегистрирован: 2016.07.09, 21:07

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

Сообщение Nex-Otaku » 2018.02.01, 10:33

Сила - в ньютонах.

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

Аватара пользователя
ElisDN
Сообщения: 4998
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

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

Сообщение 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

trueorfalse
Сообщения: 674
Зарегистрирован: 2017.06.21, 13:50

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

Сообщение trueorfalse » 2018.02.01, 10:36

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
Спасибо.

Nex-Otaku
Сообщения: 809
Зарегистрирован: 2016.07.09, 21:07

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

Сообщение Nex-Otaku » 2018.02.01, 10:40

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

Nex-Otaku
Сообщения: 809
Зарегистрирован: 2016.07.09, 21:07

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

Сообщение Nex-Otaku » 2018.02.01, 10:42

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

Аватара пользователя
ElisDN
Сообщения: 4998
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

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

Сообщение ElisDN » 2018.02.01, 10:51

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

trueorfalse
Сообщения: 674
Зарегистрирован: 2017.06.21, 13:50

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

Сообщение trueorfalse » 2018.02.01, 10:54

Но как я atom наворотил почти разницы нет, только что тип показывает вот это понравилось.

trueorfalse
Сообщения: 674
Зарегистрирован: 2017.06.21, 13:50

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

Сообщение trueorfalse » 2018.02.01, 11:01

Может и на самом деле крутая и чего то не понимаю.

Nex-Otaku
Сообщения: 809
Зарегистрирован: 2016.07.09, 21:07

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

Сообщение Nex-Otaku » 2018.02.01, 11:05

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

Аватара пользователя
ElisDN
Сообщения: 4998
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

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

Сообщение ElisDN » 2018.02.01, 11:09

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

Аватара пользователя
zabachok
Сообщения: 518
Зарегистрирован: 2013.12.16, 14:38

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

Сообщение zabachok » 2018.02.05, 18:02

Nex-Otaku писал(а):
2018.02.01, 10:40
А ещё PhpStrom зараза платный (
Хотя я в курсе, что 99% разработчиков на ломаных версиях сидят, но как-то душа не лежит к этому (
А откуда вы взяли такое число?
2b||!2b Just read the instructions

chesar
Сообщения: 468
Зарегистрирован: 2013.04.10, 17:49

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

Сообщение chesar » 2018.02.05, 21:43

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

Закрыто