Просмотров: 2552 шт.
Ох уж этот Eclipse. Каждый раз после его установки приходится брать напильник, молоток и наждачку. Допиливать его баги приходится регулярно: начиная от отсутствия подсветки синтакциса у xslt шаблонов и заканчивая некорректным сопоставлениям типов файлов со редакторами.
Сегодня меня выбесил интересный глюк: он довольно часто встречается по инетах, но правильное решение удалось найти не сразу.
*****
Дело в том, что если вы используете Eclipse 4.3 некоторых билдов, в содружестве с PDT (PHP Development Tools) и RSE (Remote System Explorer), то велика вероятность, что вы столкнётесь с проблемой отсутствия автодополнения стандартных PHP функций (авто или через CTRL + пробел), подсветки их аргументов, а также автоматического перехода к объявлению метода или класса через CTRL + клик мыши.
По английски эту проблему я бы назвал так:
PHP Code Completion not working with remote file (Eclipse with RSE)
Eclipse autocomplete is not working for PHP-project with remote system explorer.
Нередки случаи, когда Eclipse не может найти методы внутри класса, которые объявлены в этом же классе! (Читайте, к примеру, bug report 286733 "When using sub namespace completion does not work.")
И если в обычных проектах (без RSE) это решалось через "Add PHP support" в свойствах проекта, а также прописыванием строчки
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
в файле .buildpath проекта, то проблему с RSE можно пофиксить путём правки файла
.project внутри директории
eclipseworkspaceRemoteSystemsTempFiles (директория с вашим воркспэйсом)
Всё что нужно, это прописать там в секции
<natures>
следующую строку:
<nature>org.eclipse.php.core.PHPNature</nature>
Проблема решена!
По англицки это звучит так:
Instruction in English
Adding the folowing lines to the .project did solve the autocompletion issue for the classes of the PHP project and with native PHP functions:
1) Close Eclipse.
2) Go to project path.
3) Open ".project" with text editor (gedit, VIM, notepad, etc).
4) Add next line after "natures" line:
<nature>org.eclipse.php.core.PHPNature</nature>