Aptana3: Way to add or edit Code snippets and templates

aptana_black

หลังจากที่นั่งแก้ Aptana 2 ให้ compatible กับ Windows 7 + PDT อยู่ 1 วันเต็มๆ (แต่ก็ไม่สำเร็จ) เลยจนใจต้องใช้ Aptana 3 T_T

แต่ปัญหาของ Aptana 3 อย่างเดียวเลยคือไม่ให้  PHP Code snippets and templates มา (ซึ่งเป็นอะไรที่สำคัญกะผมมาก)

วันนี้เลยหาวิธีแก้ไขจนได้หลังจากที่เคยลองหาดูตาม Google ว่าใครเจอปัญหา หรือต้องการสร้าง Template เหมือนเราหรือเปล่า ซึ่งก็รู้สึกเหมือนชนกลุ่มน้อยเพราะ คนใช้ Aptana ก็น้อยอยู่แล้ว ยิ่งมาทำ Template ใช้เองยิ่งน้อยไปใหญ่

ในการสร้าง Template ใน Aptana3 นั้นไม่ยากครับ (แต่ไง 2 ก็ง่ายกว่า) ทำไม่ถึง 5นาทีก็เสร็จ

 

เริ่มต้นโดย

#1 ไปที่ Aptana navigation  แล้ว ‘Commands’ -> ‘PHP’ -> ‘Edit this bundle’.

โปรแกรมจะสร้าง ~/Documents/Aptana Rubles/php.ruble มาให้เราเองเลย

#2 ไปที่ Folder จากนั้น ก็ Edit “bundle.rb” ตาม ตย. ข้างล่าง

#
# Trigger: foreach
#
# PHP foreach template
#
# if(!empty(array_name))
# foreach(array_name as array_entry) {
#   code to do...
# }
#
snippet "PHP foreach template" do |snip|
  snip.trigger = "foreach"
  snip.expansion  = "if(!empty(${1:array_name}))\n"
  snip.expansion += "foreach(${1:array_name} as ${2:array_entry}) {\n"
  snip.expansion += "\t${3:code to do...}\n"
  snip.expansion += "}\n"
end

#
# Trigger: var_dump_pre
#
# PHP var_dump mit <pre>
#
# echo "<pre>";
# var_dump(var_to_dump);
# echo "</pre>";
#
snippet "PHP var_dump mit <pre>" do |snip|
  snip.trigger = "var_dump_pre"
  snip.expansion  = "echo \"<pre>\";\n"
  snip.expansion += "var_dump(${1:var_to_dump});\n"
  snip.expansion += "echo \"</pre>\";\n"
end

#
# Trigger: doc_func
#
# PHP-Doc Function
#
snippet "PHP-Doc Function" do |snip|
  snip.trigger = "doc_func"  
  snip.expansion  = "/**\n"
  snip.expansion += " * ${1:description}\n"
  snip.expansion += " *\n"
  snip.expansion += " * @author     Thomas Deuling <tdeuling@iscope.de>\n"
  snip.expansion += " * @param      ${2:type} ${3:name} ${4:description}\n"
  snip.expansion += " * @return     ${5:void} ${6:returnDescription}\n"
  snip.expansion += " * @global     ${7:array} ${8:Config-Array}\n"
  snip.expansion += " * @uses       ${9:checkField::checkEmail()}\n"
  snip.expansion += " */"
end

#
# Trigger: doc_file
# PHP-Doc File
#
# /**
# * description
# *
# * @author     Thomas Deuling <tdeuling@iscope.de>
# * @package    default
# *
# * @property   type varname description
# *
# */
#
snippet "PHP-Doc File" do |snip|
  snip.trigger = "doc_file"  
  snip.expansion  = "/**\n"
  snip.expansion += " * ${1:description}\n"
  snip.expansion += " *\n"
  snip.expansion += " * @author     Thomas Deuling <tdeuling@iscope.de>\n"
  snip.expansion += " * @package    ${2:default}\n"
  snip.expansion += " *\n"
  snip.expansion += " * @property   ${3:type} ${4:varname} ${5:description}\n"
  snip.expansion += " *\n"
  snip.expansion += " */"
end

#===========================================================

เราก็จะได้ PHP Template ตามที่เราต้องการ ในที่สุดเราก็ได้ใช้ Aptana3 กะเค้าซักที