Aptana Journal #8: Example


Pada file ScriptDoc XML yang saya buat, saya selalu menyertakan bagian <examples>  seperti berikut ini:

<examples>
  <example>Find all div elements within an XML document from an Ajax response.
   $("div", xml.responseXML);</example>
</examples>

Saat ini, isi examples tersebut tidak akan ditampilkan di context info ataupun di proposal content assist.  Lalu, kapan ditampilkan?  Pada saat hover (meletakkan mouse agak lama) pada posisi perintah JavaScript, akan muncul sebuah dialog yang berisi dokumentasi.  Saya merasa lebih baik bila context info juga menyertakan isi examples sehingga saya bisa mengetahui dengan cepat cara pakai method JavaScript yang sedang saya ketik.

Bagaimana caranya?  Beruntungnya, rancangan Aptana Studio cukup baik, karena hal-hal yang berkaitan dengan penampilan context info berada di satu class yaitu JSModelFormatter.  Class ini menyediakan instance static-nya dengan nama CONTEXT_INFO seperti yang terlihat di cuplikan kode program berikut ini:

public static final JSModelFormatter CONTEXT_INFO = new JSModelFormatter(false, Section.SIGNATURE)
{
   private static final String BULLET = "\u2022";
   private TagStripperAndTypeBolder stripAndBold = new TagStripperAndTypeBolder();

   public String getDocumentation(Collection<PropertyElement> properties)
   {
      ...
   }
}

Nilai String yang dikembalikan oleh method getDocumentation() di atas akan langsung ditampilkan sebagai context info.  Dengan demikian, bila saya ingin menampilkan examples pada context info, maka saya dapat menambahkan baris program di sekitar akhir dari method yang isinya seperti berikut ini:

result.add("\nExamples:");
result.add(StringUtil.concat(function.getExamples()));

Sekarang, bila saya menampilkan context info, saya juga akan memperoleh informasi examples seperti yang terlihat pada gambar berikut ini:

Tampilan Context Info Disertai Examples

Tampilan Context Info Disertai Examples

Perihal Solid Snake
I'm nothing...

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: