Есть вариант решения от
Александр Макаров:
https://github.com/samdark/yii2-cookbook/blob/mast...
Меня тоже немного достало, что автокомплит для своих компонентов не работает. Что приходится постоянно делать так:
/** @var LanguageManager $languageManager */
$languageManager = Yii::$app->languageManager;
Пока вариант от
Александр Макаров не проверял.
Добавлено:
Попробовал сегодня, вроде бы работает нормально.
Я создал в корне autocomplete.php, в котором разместил свои компоненты:
class Yii extends \yii\BaseYii
{
/**
* @var BaseApplication|WebApplication|ConsoleApplication
*/
public static $app;
}
/**
* @property backend\components\bootstrap\SectionTreeManager $sectionTreeManager
* @property backend\components\constructor\Component $constructor
* @property backend\components\rbac\SystemAuthManager $systemAuthManager
* @property backend\components\rbac\UserAuthManager $userAuthManager
* @property common\components\language\LanguageManager $languageManager
* @property common\components\view\ViewBlockManager $viewBlock
*/
abstract class BaseApplication extends \yii\base\Application {}
/**
* @property backend\components\bootstrap\SectionTreeManager $sectionTreeManager
* @property backend\components\constructor\Component $constructor
* @property backend\components\rbac\SystemAuthManager $systemAuthManager
* @property backend\components\rbac\UserAuthManager $userAuthManager
* @property common\components\language\LanguageManager $languageManager
* @property common\components\view\ViewBlockManager $viewBlock
*/
class WebApplication extends \yii\web\Application {}
/**
* @property backend\components\bootstrap\SectionTreeManager $sectionTreeManager
* @property backend\components\constructor\Component $constructor
* @property backend\components\rbac\SystemAuthManager $systemAuthManager
* @property backend\components\rbac\UserAuthManager $userAuthManager
* @property common\components\language\LanguageManager $languageManager
* @property common\components\view\ViewBlockManager $viewBlock
*/
class ConsoleApplication extends \yii\console\Application {}
После чего в IDE нужно файл @vendor/yiisoft/yii2/Yii.php пометить как текстовый, чтобы IDE не ругался на 2 класса Yii в глобальном пространстве.