Phpstorm сравнить два файла
Admin 25.02.2018 , обновлено: 13.12.2018 GIT, Mac OS, Software, Windows
Мне нравится Sublime Text 3, но я расскажу почему PhpStorm лучше. Без последнего редактора вы вряд ли обойдетесь в больших проектах, рассчитанных на разработку нескольких человек.
Заметку решил написать, потому когда со PhpStorm не работаешь, думаешь, что это бесполезный и тяжелый комбайн. А когда в нём начинаешь серьёзно работать, то его особенности тебя поражают своей продуманностью и удобством. А скорость его на современных компьютерах не хуже Саблайма.
PhpStorm на 10 лет ушел вперёд от программ типа Adobe Dreamweaver и предлагает функционал, который тому и не снился.
Sublime Text 3 очень хорош, когда вы работаете один и не нужно постоянно синхронизировать или сравнивать с фтп файлами, чтобы забрать последние редактирования других людей. Также когда не нужно сравнивать, чтобы занести проект на GitHub предварительно скачав из репозитория последние изменения в файлах.
Я рассказываю о преимуществах PhpStorm в сравнении с Sublime Text именно потому, что когда работаешь один не хочется углубляться в огромное количество настроек Шторма. И он тебе кажется громоздким и не нужным. На самом деле это всё оттого, что либо не хватает знаний для работы в Шторме либо проекты не сложные.
Расскажу о некоторых преимуществах Шторма ниже.
Место редактирования файлов
В PhpStorm продолжить работу с файлами значительно проще, чем в Sublime. В каждом открытом файле запоминается даже курсор и место где вы редактируете. Если вы закроете и откроете программу, то курсор в файлах будет на том же самом месте, в котором он находился в каждом из открытых файлов.
Специальные отметки и избранное
Вы можете на полях файлов делать специальные отметки, которые сохраняются в пункте меню Breakpoints. Таким образом очень легко найти ключевые места в файлах. Кроме того можно любой файл добавить в Избранное и всегда быстро к нему обратиться. Можно создать несколько разных папок для избранного.
Scratch файлы в PhpStorm
В Sublime легко можно создавать пустые файлы, которые не исчезнут после закрытия программы. В PhpStorm вместо пустых и безымянных файлов создаются Scratch файлы. Они никуда не деваются, их не нужно специально куда-то сохранять, они остаются в проекте, пока вы их не удалите. Это удобно.
Сравнение с файлом на FTP
Редактируемый файл можно сравнить с тем, который лежит сейчас на FTP. Это важно, когда разработкой занимаются сразу много человек. Для того, чтобы случайно не удалить чужие наработки.
При сравнении показывается оба файла с изменениями, которые были сделаны с двух сторон:
По стрелочкам можно переносить изменения.
Работа с Git репозиторием
Точно также можно сравнивать файлы с репозиторием GitHub.
Поиск в PhpStorm
На удивление поиск в Шторме (когда все файлы проиндексированы, а индексация происходит при создании проекта) работает значительно быстрее. И сделан он гораздо функциональнее.
Для поиска сделано специальное окно. Сверху выводится список файлов с конкретным местом искомого объекта, справа показывается его место в файле. Внизу можно просмотреть файл и сразу же его отредактировать, либо нажать клавишу Enter и файл с нужным местом откроется в новом окне.
Чертовски удобный поиск. Такого убоства нет в Sublime Text.
Поиск по функциям
В Sublime Text если навести на описанную функцию, то можно пройтись к её описанию:
В PhpStorm-е сделан такой же функционал, но ещё более расширен. Можно переходить не только по функциям. У меня за это отвечает комбинация клавиш Cmd + B (Mac OS), но также если нажать на любую переменную, то переход будет к её описанию.
А если нажать на переменную или саму функцию, там где она описана, то появится окошко со всеми местами, где она используется.
Выделение синтаксиса
Честно говоря Шторм даже перестарался со своими стилями. Выделяется чуть ли не каждая точка (я утрирую конечно), но из-за обилия стилей, весь код превращается в набор ярких красок. Это минус, но минус такой, от которого легко избавиться в настройках. Для себя я убрал с десяток разных стилей, а какие-то сделал общими, стало читаться гораздо легче. А функционал выделений всё равно остался на порядок выше Саблайма.
В PhpStorm-е чего только не выделяется отдельными стилями. Например, поставили курсор возле кавычек, они выделились с двух сторон. Поставили курсор возле HTML структуры, с двух сторон выделились открывающиеся и закрывающиеся теги. Причем выделяется вся структура данных. Каждые закрывающийся блок подкрашен своим цветом.
Подсветка неиспользуемых переменных
Если переменная не используется, она будет закрашена серым цветом. Часто это помогает в написании кода и поиске ошибок.
Подсказка в функциях
Если в функциях пропущена обязательная переменная, то такая функция будет подсвечена, а наверху будет выведена подсказка.
Изменения в файлах
В программе есть локальные изменения файлов и история всех изменений. Всегда можно вернуть файл к начальному состоянию или какому-то промежуточному. Измененные файлы отображаются в специальной виртуальной папке. Их можно переносить в другие такие же папки. Вообщем огромный функционал для того, чтобы легко найти последние изменения и файлы, с которыми была работа.
Например, работая с десятком файлов одну неделю, легко потом найти все измененные файлы, чтобы загрузить только их на FTP или на GitHub репозиторий. Делается это также через программу. Никакой отдельной FTP программы для этого не нужно.
Другие преимущества
В PhpStorm встроена консоль, логи и много другого функционала. Например, автоматическая компиляция SCSS (SASS) файлов. Вы поправили файл scss и он тут же скомпилировался в css. Для этого придётся установить отдельно ruby и его расширения, а затем настроить в Шторме, в разделе File Watchers:
Также можно копировать пути файлов, чтобы дать ссылку другим или самому получить доступ к файлу. Или делиться референсами (ссылкой на файл и местом в нём).
Есть много и других преимуществ, которых нет в Sublime Text 3. Перечислять их все долго. Может быть постепенно добавлю их сюда.
English Query (запросы по теме на английском языке)
PhpStorm vs Sublime Text 3
Кстати, на сайте нет рекламы. У сайта нет цели самоокупаться, но если вам пригодилась информация можете задонатить мне на чашечку кофе в макдаке. Лайкнуть страницу или просто поблагодарить. Карма вам зачтется.
Речь в статье идет о последней на момент ее написания версии, восьмой. Так же я использую PhpStorm на Windows, поэтому и все хоткеи буду писать с упоминанием Ctrl и Alt. Если у вас Mac, скорее всего вместо них можно жать CMD, либо придется порыться во вкладке Keymap настроек.
Автогенерация кода
Довольно банальная функция, но многие о ней и не подозревают. Поставьте курсор внутрь класса и нажмите Alt + Insert. Появится меню автогенерации кода. Можно создавать конструкторы, геттеры/сеттеры (сразу для нескольких выбранных вами свойств), PHPDoc блоки, а так же реализовывать методы интерфейсов или переопределять методы родительского класса.
Очень удобно работает реализация/переопределение методов. Автоматически именуются параметры и создается PHPDoc. Так же можно по-быстрому вызвать только переопределение методов (Ctrl + O) или только реализацию иинтерфейсов (Ctrl + I).
Понажимайте Alt + Enter в различных положениях курсора. Например, на неимпортированном классе, это позволит автоматически импортировать его. А вообще это мега сочетание, которое умеет очень многое.
Форматирование кода
Совсем очевидная фича, но некоторые о ней не знают. По нажатию Ctrl + Alt + L осуществляется автоформатирование текущего файла, либо выбранного фрагмета кода. Если в дереве проекта выбрать файл и нажать то же сочетание, то он полностью будет отформатирован. Можно так же выбрать папку и будет отформатирована все файлы в этой папке.
Рефакторинг
PhpStorm умеет кучу всего: выделять одинаковые участки кода в метод (Extract -> Method), выделять участки кода в переменную (Extract -> Variable), выделять поля и константы. Просто покапайтесь в разделе Refactoring. Или есть прекрасная статья на эту тему.
Переключение проектов
Стандартный механизм переключения проектов не слишком удобен. Я советую использовать Frame Switcher для быстрого переключения между проектами.
Задачи
Если вы еще не пользуетесь системой контроля версий в PhpStorm, то самое время начать. Именно потому, что в этой IDE реализована потрясающая система разбиения текущих изменений на задачи (tasks).
Допустим, вы работаете над неким функционалом, уже изменен десяток файлов и идет второй день работы без коммитов. Прибегает манагер и просит "нувотпрямщаспоправьэтуфигню". И тут начинаются неудобства. Нужно запомнить какие изменения относятся к вашей основной задаче, а какие относятся к этой мелкой правке, чтобы правильно разбить изменения на два коммита.
PhpStorm решает эту проблему за вас. Все что вам нужно, создать отдельную задачу (Task) или Changelist (не понял в чем между ними принципиальная разница, если кто-то объяснит, опубликую), назначить его активным и сделать быструю правку. При этом вы увидите, что PhpStorm отнесет изменения в файлах к вашей активной задаче. А если вы случайно затроните файлы из другой параллельной задачи, то увидите предупреждение.
Быстрое открытие файла аля SublimeText
По Ctrl + N можно быстро открыть файл с нужным классом, а по Shift + Ctrl + N вообще любой файл по имени. А через Ctrl + Shift + Alt + N можно найти любой "символ", т.е. переменную, функцию и т.п.
Метки в проекте
Нажимая Ctrl + Shift + 0..9 можно оставлять в проекте метки. Чтобы быстро перейти к какой-либо метке нужно нажать Ctrl + 0..9 (номер метки).
Быстрое обертывание
Выделив фрагмент кода и нажав Ctrl + Alt + T можно быстро обернуть блок в if-else или какой-либо цикл. Так же при редактировании HTML срабатывает Ctrl + Alt + Enter. Это обертывание с помощью Emmet.
Сравнение двух файлов
PhpStorm имеет очень няшное окно diif-а, т.е. сравнения двух файлов. Если в дереве проекта выделить пару файлов и нажать Ctrl + D, то можно сравнить содержимое этих двух файлов.
Список использований
Не уверены, используется ли где-то ваш метод? Поставьте на него курсор и нажмите Ctrl + F7. Появится список использований метода, переменной или другого "символа". Можно использовать Ctrl + Alt + F7, тогда список появится в виде контекстного меню, что иногда чуть удобнее.
Быстрый переход к объявлению
Все вкурсе, что по Ctrl + клик можно перейти к определению "символа". Но по нажатию Ctrl + Alt + Left можно вернуться назад. А по Ctrl + Shift + Backspace можно вернуться к последнему месту редактирования кода, если вы вдруг заблудились в длинном скролле.
Мульти буфер обмена
Как часто бывало, что скопированное в буфер терялось из-за еще одного копирования? PhpStorm из коробки запоминает все что было в буфере и можно использовать Ctrl + Shift + V для вставки прошлых значений.
Автогенерация спрайтов
Автоматическая генерация CSS спрайтов не доступна из коробки, однако настраивается за 15 минут без особых проблем. В итоге вы получите полностью автоматическое создание PNG спрайтов с готовыми CSS/LESS стилями.
Читайте также: