2017-08-04 6 views
-1

Habituellement, la liste déroulante dans les EDI apparaît en appuyant sur la touche tabulation après l'importation du paquet et en tapant ses noms mais pas dans RubyMine. J'ai l'émulation de Vim. J'ai ouvert la coquille interactive ruby ​​irb, mais ne peut pas obtenir l'autocomplétion de travail pour les méthodes d'un paquet.Liste déroulante pour les méthodes ruby ​​d'un paquet dans RubyMine IDE?

Comment l'autocomplétion fonctionne-t-elle dans RubyMine et comment lister les méthodes d'un package tel que OAuth?

enter image description here

+0

Ce serait bien de laisser une raison pour un downvoting. – hhh

Répondre

1

Le RubyMine autocomplétion fonctionne la plupart du temps en remplissant les noms et les mots clés utilisés dans le projet voir here quelques détails sur la façon dont cela fonctionne. Il y a aussi la question this qui peut fournir une certaine clarté quant à la façon dont l'achèvement fonctionne dans RubyMine. En ce qui concerne la question sur la liste des méthodes disponibles dans un paquet (dans n'importe quel objet, vraiment). Vous pouvez utiliser la méthode .methods pour obtenir un tableau de méthodes auxquelles l'objet répond. en raison de la nature dynamique de ruby ​​et la possibilité de mettre en œuvre method_missing, la liste peut ne pas contenir toutes les méthodes possibles.

ici est un exemple

"string".methods 
#=> [:include?, :%, :*, :+, :to_c, :count, :unicode_normalize, :unicode_normalize!, :unicode_normalized?, :partition, :unpack, :unpack1, :sum, :next, :casecmp, :casecmp?, :insert, :bytesize, :match, :match?, :succ!, :[email protected], :[email protected], :index, :rindex, :<=>, :replace, :clear, :upto, :getbyte, :==, :===, :setbyte, :=~, :scrub, :[], :[]=, :chr, :scrub!, :dump, :byteslice, :upcase, :next!, :empty?, :eql?, :downcase, :capitalize, :swapcase, :upcase!, :downcase!, :capitalize!, :swapcase!, :hex, :oct, :split, :lines, :reverse, :chars, :codepoints, :prepend, :bytes, :concat, :<<, :freeze, :inspect, :intern, :end_with?, :crypt, :ljust, :reverse!, :chop, :scan, :gsub, :ord, :start_with?, :length, :size, :rstrip, :succ, :center, :sub, :chomp!, :sub!, :chomp, :rjust, :lstrip!, :gsub!, :chop!, :strip, :to_str, :to_sym, :rstrip!, :tr, :tr_s, :delete, :to_s, :to_i, :tr_s!, :delete!, :squeeze!, :each_line, :squeeze, :strip!, :each_codepoint, :lstrip, :slice!, :rpartition, :each_byte, :each_char, :to_f, :slice, :ascii_only?, :encoding, :force_encoding, :b, :valid_encoding?, :tr!, :encode, :encode!, :hash, :to_r, :<, :>, :<=, :>=, :between?, :clamp, :instance_of?, :kind_of?, :is_a?, :tap, :public_send, :remove_instance_variable, :singleton_method, :instance_variable_set, :define_singleton_method, :method, :public_method, :extend, :to_enum, :enum_for, :!~, :respond_to?, :object_id, :send, :display, :nil?, :class, :singleton_class, :clone, :dup, :itself, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :frozen?, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :instance_variable_get, :instance_variables, :instance_variable_defined?, :!, :!=, :__send__, :equal?, :instance_eval, :instance_exec, :__id__] 

pour obtenir une liste plus utile, vous pouvez supprimer des méthodes qui sont héritées de l'objet, comme si

"string".methods - Object.methods 
#=> [:%, :*, :+, :to_c, :count, :unicode_normalize, :unicode_normalize!, :unicode_normalized?, :partition, :unpack, :unpack1, :sum, :next, :casecmp, :casecmp?, :insert, :bytesize, :match, :match?, :succ!, :[email protected], :[email protected], :index, :rindex, :replace, :clear, :upto, :getbyte, :setbyte, :scrub, :[], :[]=, :chr, :scrub!, :dump, :byteslice, :upcase, :next!, :empty?, :downcase, :capitalize, :swapcase, :upcase!, :downcase!, :capitalize!, :swapcase!, :hex, :oct, :split, :lines, :reverse, :chars, :codepoints, :bytes, :concat, :<<, :intern, :end_with?, :crypt, :ljust, :reverse!, :chop, :scan, :gsub, :ord, :start_with?, :length, :size, :rstrip, :succ, :center, :sub, :chomp!, :sub!, :chomp, :rjust, :lstrip!, :gsub!, :chop!, :strip, :to_str, :to_sym, :rstrip!, :tr, :tr_s, :delete, :to_i, :tr_s!, :delete!, :squeeze!, :each_line, :squeeze, :strip!, :each_codepoint, :lstrip, :slice!, :rpartition, :each_byte, :each_char, :to_f, :slice, :ascii_only?, :encoding, :force_encoding, :b, :valid_encoding?, :tr!, :encode, :encode!, :to_r, :between?, :clamp] 

dans votre cas, vous voudrez peut-être appelez OAuth.methods - Object.methods

plus sur la méthode methodshere