PhpStorm: какое-нибудь решение для 4 раздражающих проблем?
Я довольно счастливый пользователь PhpStorm, но есть несколько вещей, которые действительно раздражают меня, но я не эксперт по настройкам и хотел бы найти решение для них (редактирование файлов PHP):
- навигация
Часто в редакторе хочется вернуться туда, где курсор был на 100 строк выше и т. Д. А в PhpStorm Back это Alt-Shift-Left и Forward Alt-Shift-Right, но они следуют алгоритму, который мне не подходит: он определенно пропускает "шаги" (например, из строки 500 перейдите к строке 300 с помощью клавиш типа стрелок или - даже хуже - страница-вверх / вниз, тогда Alt-Shift-Left не вернет вас к строке 500)
=> Есть ли способ уточнить условия, которые управляют поведением "Назад" и "Вперед"?
- вдавливание
Есть ли способ уточнить поведение индентора? Например
$a = array('X' => 'Something',
'Y' => 'Something else',[RETURN]
^ ^
now there
как в Emacs курсор будет идти прямо под первой кавычкой после пробелов (а не сейчас, куда идет PS)?
=>Может ли регулярное выражение (или что-то еще) уточнить поведение индентора, не только для этого очень конкретного случая, но и для поведения в целом?
(Не упоминая другую проблему при вставке Shift-Insert, где отступ часто ненадежен)
- Котировки (автоматически)
Я не хочу отключать функцию автоматического цитирования, поскольку это иногда удобно, но кажется, что алгоритм неправильно анализирует среду, в которой "
или же '
вставлен (сейчас нет примера, но иногда это раздражало, как вставка 2 "
неожиданно, в то время как требуется только один, удаление одного фактически удалит 2 (нормально, потому что они были вставлены автоматически... но мне нужно было только 1!), поэтому в этом случае нужно обмануть PhpStorm, чтобы заставить 1 "
).
=> Существует ли регулярное выражение или подобное для управления поведением цитирования?
- Выберите с помощью Shift-Arrow (например, чтобы удалить...)
Почти забыл: PhpStorm запоминает, в каком столбце находится курсор при навигации вверх и вниз. Хорошо. Но когда кто-то хочет выбрать (используя стрелки Shift и Up/Down) в начале строки, обычно выбирают строки. Не строка-где-курсор-был-раньше. Пример объяснит лучше: *
где курсор находится [начало строки 3], %
где курсор был [середина строки 2]
1. $x = 'string';
2. $y = %'string';
3.*
выполнение Shift-Up выберет (все с)
1. $x = 'string';
2. $y = *sssssssss
3.
в то время как в конкретном случае выбора он должен выбрать, что:
1. $x = 'string';
2.*sssssssssssssssss
3.
не уверен, что есть способ настроить это - на всякий случай есть?
Спасибо
2 ответа
Ну что ж...
1) Есть ли способ уточнить условия, которые управляют поведением "Назад" и "Вперед"?
Нет. Может быть (просто возможно) это принимает во внимание то, что вы делали в этом месте (даже если вы ничего не сделали, тогда, может быть, как долго длилась пауза). Но в основном это касается редактирования, навигационных событий (переход к объявлению / реализации и т. Д.).
2) Может ли регулярное выражение (или что-то еще) уточнить поведение индентора, не только для этого очень конкретного случая, но и для поведения в целом?
RegEx - определенно нет. В любом случае, этот вопрос мне не понятен - вы говорите о форматировании или навигации? Если сначала - то все существующие на данный момент настройки находятся в "Настройки | Стиль кода". Если второе - тогда проверьте "Настройки | Редактор | Умные клавиши" - возможно, они помогут.
В противном случае - запишите несколько скриншотов / скриншотов для текущего и желаемого поведения и отправьте их в качестве нового тикета в систему отслеживания проблем: http://youtrack.jetbrains.com/issues/WI
3) Существует ли регулярное выражение или подобное для управления поведением цитирования?
Нет. Ваше объяснение недостаточно ясно. Я предлагаю то же самое, что и для #2 - получите пример кода и отправьте его в качестве нового тикета в систему отслеживания проблем: http://youtrack.jetbrains.com/issues/WI. Таким образом, это может быть реализовано / исправлено для следующей версии
4) не уверен, что есть способ настроить это - на всякий случай есть?
Не знаю Я также сталкиваюсь с этой проблемой юзабилити и хотел бы знать обходной путь. То, как я это использую - нажатие кнопки "Домой" до (или во время / после) выбора (не идеальное "решение", поскольку это все еще раздражает, но работает). В качестве альтернативы вы можете использовать мышь, чтобы выбрать линии (используйте это над областью желоба редактора - где номера строк).
Если выбор состоит в том, чтобы просто удалить / продублировать строку - тогда для этого есть ярлыки.
Что касается кавычек, в тех случаях, когда вам нужна только одна кавычка, после ввода нажмите del вместо backspace ".
У меня есть некоторые сомнения по поводу отступа (и форматирования кода в целом), но дело в том, что он меняется от релиза к релизу, хотя с этим мало что можно поделать...
Re: selection - в вашем случае вы можете просто нажать Home, все еще удерживая Shift. Это никогда не регистрировалось для меня как неожиданное поведение.