Как выполнить завершающие работы в первый раз в PhpStorm 2016.2
Я использую PhpStorm 2016.2, и мое завершение кода, похоже, работает неправильно. При наборе текста $this->assertCo
Он предлагает только имена функций, которые являются предками моего класса до третьего уровня. Но когда я использую Ctrl+ Пробел он предлагает правильные элементы.
Это моя диаграмма классов:
И отсутствующие предложения находятся в классе 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
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.