RadRails, Ruby, Content Assist и Методы - PullRequest
0 голосов
/ 09 июля 2011

Я новичок в Ruby и в настоящее время работаю с API, который мне незнаком.Чтобы использовать завершение кода, которое помогает мне учиться, я установил RadRails в Eclipse.Однако у меня возникли проблемы с Content Assist: в частности, Content Assist не раскрывает методы для объектов в API.

Например, один из моих объектов ins представляет загруженный экземплярный документ XBRL.Если я запускаю ins.methods, список содержит все методы, которые я хочу, в том числе в API (например, функции, которые позволяют мне получать доступ к элементам в экземпляре):

...
item
item_all
item_all_groupby_vocab
item_all_map
item_by_vocab
item_ctx_filter
...
и т. Д.

Однако, если я просто наберу ins.с включенным помощником по содержимому отображаются только такие параметры, как:

dclone
гем
gem_original_require
JSON
путь (путь)
...
и т. д.

, которые являются опциями системы.В результате Content Assist предоставляет ровно ноль методов, которые я на самом деле хочу использовать.Если я заранее знаю методы и начинаю их печатать, я могу заставить Content Assist дать их мне, в конце концов, нажав Ctrl + Пробел.Однако это требует, чтобы я знал заранее, чего я хочу;поскольку я использую это для изучения API, у меня это не работает.

Кто-нибудь знает, как заставить RadRails / Eclipse показывать мне правильные методы?

С уважением, Мэтт

1 Ответ

3 голосов
/ 11 июля 2011

Это общая проблема, присущая динамическим языкам и IDE / редакторам.В среде IDE необходимо угадать тип переменной, к которой вызывается помощник по коду, и на основании этого генерировать список применимых методов.

IRB имеет информацию о типе во время выполнения, поэтому он знает, какие методы применяются.IDE пытается угадать тип, анализируя ваш код статически (не запуская его).

Сказав это, IDE часто должна уметь правильно угадывать.Предоставление более широкого контекста фрагмента кода, для которого он вызывается, было бы полезно выяснить, можем ли мы предоставить полезную поддержку содержимого для этого объекта.Вы можете подать заявку с номером версии и примером кода здесь: http://aptana.com/r/apbugs

...