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. Это никогда не регистрировалось для меня как неожиданное поведение.

Другие вопросы по тегам