Как выполнить завершающие работы в первый раз в PhpStorm 2016.2


Я использую PhpStorm 2016.2, и мое завершение кода, похоже, работает неправильно. При наборе текста $this->assertCo

Too short list

Он предлагает только имена функций, которые являются предками моего класса до третьего уровня. Но когда я использую Ctrl+ Пробел он предлагает правильные элементы.

enter image description here

Это моя диаграмма классов:

enter image description here

И отсутствующие предложения находятся в классе PHPUnit_Framework_Assert.

Как я могу заставить это работать без использования Ctrl+ Пространство каждый раз?

Информация о PhpStorm и OpenJDK:

PhpStorm 2016.2
Build #PS-162.1121.38, built on July 12, 2016
JRE: 1.8.0_76-release-b216 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Author: LazyOne, 2016-08-04

1 answers

Причина текущего поведения: об этом спросили пользователи (WI-9403) чтобы скрыть статические методы при заполнении методов с использованием this->.

У PHPUnit, по-видимому, все методы assertXXX выполнены как статические , хотя рекомендуется обращаться к ним через $this-> (так же, как это делается в JUnit - оригинальном инструменте, из которого разработчики PHPUnit черпали вдохновение).

Как я могу заставить его работать без использования Ctrl+Пробел каждый раз?

Прямо на мгновение - ни за что.

Но в 2016.2.1 он будет работать, как и раньше, для методов PHPUnit/внутри тестовых файлов PHPUnit (WI-32530 - уже реализовано).


Вы также можете рассмотреть возможность голосования за https://youtrack.jetbrains.com/issue/WI-32713 -- иметь такое поведение совершенно необязательно (дополнительная настройка) даже вне тестов PHPUnit.

 3
Author: LazyOne, 2016-08-04 12:32:20