Комбинация | Назначение | Комментарий |
---|---|---|
[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].
Подробное описание со скринами можно найти тут.
]]>UPD: статься обновлена 21.11.2015. Старое имя утилиты – Testacular
Karma – инструмент на node.js, позволяющий запускать JavaScript код в нескольких браузерах, нацеленная на поддержку TDD подхода.
Karma – это не фреймворк/библиотека для тестирования, поэтому совместно можно использовать:
Браузеры, которые можно использовать:
$ 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)
Как видим: тесты прошли успешно, один тест выполнился.
UPD: WebStrom начиная с версии 7 уже добавили поддержку Karma, поэтому не нужно уже выполнять танцы с бубном и настройкой node debug, который были до этого.
Заходим в настройки запуска и отладки:
Добавляем карму:
Из настроек вам нужно только задать имя и убедиться что подхватился правильный путь к файлу конфигурации.
Если мы хотим выполнять тесты после каждого изменения в коде, включим вот эту опцию:
Теперь webstorm будет нас информировать о состоянии тестов, в том числе в бекграунде:
то есть если мы сделаем TDD или просто хотим знать момент, когда мы что-то пошло не так, это довольно удобно:
]]>
Как извесно с пятой версии в 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