VS Code + PHP Intelephense + Remote-SSH + Symfony 3: ошибка неопределенного метода
Я открываю для себя VS Code, я полный новичок в этом редакторе кода, прежде чем я использовал Atom, но я хочу использовать VS Code, который выглядит очень круто!
У меня есть проект Symfony 3 на сервере Linux, и я хочу напрямую изменить его файлы, потому что это среда разработки. Я не хочу иметь локальную копию.
Итак, я установил VS Code на свой компьютер и загрузил расширения Remote-SSH и PHP Intelephense. После нескольких проблем мне удалось заставить его работать, но у меня много проблем внутри моих контроллеров, потому что PHP Intelephense не распознает много методов, хотя должен.
Я отключил встроенные функции языка PHP VS Code.
Например, вот несколько неопределенных методов:
Не распознает
$repository->createQueryBuilder()
или же
$em->createQuery()
или пользовательские функции внутри
Repository
класс сущностей. Он не распознает некоторые функции, определенные внутри самого контроллера, хотя они определены правильно. Он не распознает базовые методы репозитория Symfony, такие как
$repo->findOneByProperty()
, и т.д.
Так что в моих файлах полно ошибок, а все в норме! ^^
Кто-нибудь может мне помочь? Если Remote-SSH - не лучшее расширение, может, посоветуете мне другое? То же самое и с Интелефенсом?
1 ответ
Единственное решение, которое я нашел, - разместить проект локально и использовать
SFTP
расширение (от liximomo) для загрузки файлов на сервер после их сохранения.
PHP Intelephense
хорошо работает с этой конфигурацией.
Symfony for VScode
расширение (от TheNouillet) тоже может быть полезным.
settings.json
"emmet.includeLanguages": {
"twig": "html"
},
"symfony-vscode.phpExecutablePath": "C:\\wamp64\\bin\\php\\php5.6.16\\php.exe",
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/node_modules/*/**": true,
"**/vendor/**": true
},
"editor.quickSuggestions": {
"other": true,
"comments": true,
"strings": true
},
"php.suggest.basic": false,
"intelephense.files.exclude": [
"**/.git/**",
"**/.svn/**",
"**/.hg/**",
"**/CVS/**",
"**/.DS_Store/**",
"**/node_modules/**",
"**/bower_components/**",
"**/vendor/**/{Test,test,Tests,tests}/**/*Test.php"
],
"intelephense.diagnostics.undefinedMethods": false