phpStorm – Stepan Suvorov Blog https://stepansuvorov.com/blog Release 2.0 Sat, 21 Nov 2015 13:24:28 +0000 en-US hourly 1 https://wordpress.org/?v=6.3.1 WebStorm/PhpStorm комбинации клавиш, которые жить помогают https://stepansuvorov.com/blog/2014/03/webstorm-shortcuts/ https://stepansuvorov.com/blog/2014/03/webstorm-shortcuts/#comments Sat, 01 Mar 2014 09:32:02 +0000 http://stepansuvorov.com/blog/?p=1442 Continue reading ]]> Немного горячих клавиш, которые делают работу с редактором более эффективной

Комбинация Назначение Комментарий
[CTRL]+[ALT]+[L] Reformat Code  быстрое форматирование “грязного” кода
[CTRL]+[SHIFT]+[N]

[CMD]+[SHIFT]+[O] (mac)

File navigation  быстрый поиск файла по имени
[CTRL]+[SHIFT]+[Backspace] Last Edition Location  переход к месту предыдущей правки
[CTRL]+[Space] Basic  вывод возможных вариантов автодополнения
[Alt]+[Enter] Show Intention Actions  зависит от контекста выполнения, крайне удобно для редактирования встроенного HTML кода, более детально уже писал тут
[CTRL]+[SHIFT]+[V] Paste from History  буфер обмена хранит несколько последних копий
[CTRL]+[SHIFT]+[A] Find Action быстрый поиск по командам Шторма
[CTRL]+[W]

[ALT] + [ ▲ ] (mac)

Select Word at Caret  выделение фрагмента. Для Mac работает комбинация.
[SHIFT]+[ALT]+[CTRL]+[T] Refactor This  быстрое форматирование кода. Для Mac: [CTRL] + [T] или [CMD] + [ALT] + [T] – для обрамления выделенного фрагмента в структуру (цикл, функцию…)

* для MacOS – вместо [CTRL] жмем [CMD].

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

]]>
https://stepansuvorov.com/blog/2014/03/webstorm-shortcuts/feed/ 9
Настройка отступов (tabs to spaces) WebStorm https://stepansuvorov.com/blog/2014/01/%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d0%be%d1%82%d1%81%d1%82%d1%83%d0%bf%d0%be%d0%b2-tabs-to-spaces-webstorm/ https://stepansuvorov.com/blog/2014/01/%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d0%be%d1%82%d1%81%d1%82%d1%83%d0%bf%d0%be%d0%b2-tabs-to-spaces-webstorm/#respond Fri, 24 Jan 2014 08:41:15 +0000 http://stepansuvorov.com/blog/?p=1409 Settings -> Code Style -> General -> Tabs and Indents
  • Indent – отступ
  • Continuation indent – отступ, если следующая строка продолжает предыдущую строку
]]>
https://stepansuvorov.com/blog/2014/01/%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-%d0%be%d1%82%d1%81%d1%82%d1%83%d0%bf%d0%be%d0%b2-tabs-to-spaces-webstorm/feed/ 0
Karma в помощь тестированию https://stepansuvorov.com/blog/2013/01/testacular-%d0%b2-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d1%8c-%d1%82%d0%b5%d1%81%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8e/ https://stepansuvorov.com/blog/2013/01/testacular-%d0%b2-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d1%8c-%d1%82%d0%b5%d1%81%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8e/#comments Wed, 09 Jan 2013 07:33:12 +0000 http://stepansuvorov.com/blog/?p=876 Continue reading ]]> karma test runer

UPD: статься обновлена 21.11.2015. Старое имя утилиты – Testacular

Karma – инструмент на node.js, позволяющий запускать JavaScript код в нескольких браузерах, нацеленная на поддержку TDD подхода.

Karma – это не фреймворк/библиотека для тестирования, поэтому совместно можно использовать:

  • Mocha
  • Jasmine
  • QUnit
  • либо же что-то совсем другое, но написав свой адаптер

Браузеры, которые можно использовать:

Установка:

$ npm install -g karma

Проверяем что все установилось:

$ karma --version

Так же нам понадобиться тест фреймворк, используем Jasmine:

npm install karma-jasmine

и подключение к браузеру(возьмем Chrome):

npm install karma-chrome-launcher

Настройка:

Все настройки можно задать в конфигурационном файле. Мы можем создать свой файл настроек воспользовавшись мастером инициализации:

$ karma init

Разберем основные моменты karma.config.js:

//в скобках указано значение по умолчанию
basePath('') -
files([]) - список файлов/шаблонов для загрузки
exclude([]) - список исключений для предыдущего пункта
reporters(['progress']) - вариант вывода прогресса
port(8080) - порт веб-сервера(testacular)
runnerPort(9100) - порт клиента
colors(true) - включение/выключение цветов при выводе
logLevel(LOG_INFO) - LOG_DISABLE|LOG_ERROR|LOG_WARN|LOG_INFO|LOG_DEBUG
autoWatch(false) - выполнение тестов при изменении файлов
browsers([]) - Chrome, ChromeCanary, Firefox, Opera, Safari, PhantomJS
captureTimeout(5000) - задание таймаута в миллисекундах
singleRun(false) - для одноразового запуска
preprocessors({}) - список обработчиков, которые будут применены к файлам, до загрузки в браузер, например - CoffeeScript

Итак, у файл настроек есть, теперь можем запускать утилиту:

$ karma start

Т.к. мы еще не добавили сами тесты, то должно вывести что-то типа:

Executed 0 of 0 ERROR (0.006 secs / 0 secs)

Давайте создадим простой тест (на Jasmine):

describe("A suite", function() {
    it("contains spec with an expectation", function() {
        expect(true).toBe(true);
    });
});

сохраним его в файл test.js и подключим этот файл в конфиг:

files: [
  'test.js'
],

после чего снова запустим karma и посмотрим в консоль:

Executed 1 of 1 SUCCESS (0.086 secs / 0.002 secs)

Как видим: тесты прошли успешно, один тест выполнился.

 Подключение в WebStorm

UPD: WebStrom начиная с версии 7 уже добавили поддержку Karma, поэтому не нужно уже выполнять танцы с бубном и настройкой node debug, который были до этого.

Заходим в настройки запуска и отладки:

webstorm karma

Добавляем карму:

webstorm karma

 

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

Если мы хотим выполнять тесты после каждого изменения в коде, включим вот эту опцию:

webstorm karma

Теперь webstorm будет нас информировать о состоянии тестов, в том числе в бекграунде:

webstorm karma

то есть если мы сделаем TDD или просто хотим знать момент, когда мы что-то пошло не так, это довольно удобно:

webstorm karma

 

]]>
https://stepansuvorov.com/blog/2013/01/testacular-%d0%b2-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d1%8c-%d1%82%d0%b5%d1%81%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8e/feed/ 2
WebStorm/PhpStorm настраиваем и используем Live Edit https://stepansuvorov.com/blog/2012/12/webstormphpstorm-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%b0%d0%b8%d0%b2%d0%b0%d0%b5%d0%bc-%d0%b8-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d1%83%d0%b5%d0%bc-live-edit/ https://stepansuvorov.com/blog/2012/12/webstormphpstorm-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%b0%d0%b8%d0%b2%d0%b0%d0%b5%d0%bc-%d0%b8-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d1%83%d0%b5%d0%bc-live-edit/#respond Wed, 26 Dec 2012 13:43:10 +0000 http://stepansuvorov.com/blog/?p=840 Continue reading ]]>

Как извесно с пятой версии в WebStorm/PhpStorm появилась новый плагин под названием LiveEdit, который дает возможность писать код и сразу смотреть результат.

Вот прекрасное видео, которое демострирует возможности плагина:

 

Если понравилось – пару слов о найстройке:

По умолчанию плагин уже активирован в редакторе, нужно только проверить в настройках чтобы стояли галочки:

Далее найти файл

/PhpStorm/plugins/JavaScriptDebugger/extensions/HowToInstallGoogleChromeExtension.html

с инструкцией по установке расширения для Chrome: в большей части случаев она заключает в том, чтобы установить новое расширение  из файла /PhpStorm/plugins/JavaScriptDebugger/extensions/jb.crx

Для Linux есть своя специфика:

$ sudo mkdir -p -m0777 /opt/google/chrome/extensions

На свякий случай ссылка на страничку с возможными проблемами:
http://confluence.jetbrains.net/display/WI/LiveEdit

]]>
https://stepansuvorov.com/blog/2012/12/webstormphpstorm-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%b0%d0%b8%d0%b2%d0%b0%d0%b5%d0%bc-%d0%b8-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d1%83%d0%b5%d0%bc-live-edit/feed/ 0