แก้ org.eclipse.php.ui.PHPCompletionProposalComputer มีปัญหาใน PDT 2.0

จาก Re: org.eclipse.php.ui.PHPCompletionProposalComputer crash ซึ่งผมก็เจออยู่ และใน [[Tools] PDT-] [performance]Code Assist takes too long ก็มีคำตอบเรื่องนี้แล้ว อยู่ท้าย ๆ เลย

I’ve prepared project that constists of 5 huge PHP frameworks (4130 files), and
I can’t re-create this issue while
working on this project. Please verify the following:

1. You are using the latest nightly build of PDT.
2. "PHP -> Editor -> Code Assist" preferences are set to default.

ซึ่งดูแล้วน่าจะเกิดจาก Options ตัว Show variables from other files ที่มันจะ scan ตัวแปรทั้ง project แบบ JIT ทำให้ถ้า project ที่มีไฟล์มาก ๆ รวมถึง PHP Include Path ด้วย อย่างของผมมี Zend Framework อยู่ใน PHP Include Path อยู่ซึ่งมีไฟล์ 1,300 กว่าไฟล์ มันเลยค้างไปสักพักก่อนจะ completion ตัวแปรออกมาได้ เอาตัวเลือกนี้ออกก็น่าจะหายแหละ

image

ใช้ Zend Debugger ยังไง (จาก Youtube)

มีคนถามผมมาทันควันหลังจากโพส blog entry ตั้งค่า Zend Optimizer กับ Zend Debugger ให้ทำงานพร้อมกันได้

งั้นผมก็ขออธิบานสักเล็กน้อยแล้วก็ดูว่ามันทำงานยังไงดีกว่า

Zend Debugger ระบบพื้นฐานในการทำ remote debugging หรือจะแปรให้มันเป็นไทยแท้ ๆ ก็คือ debug ตัว code ของ php แบบ realtime ในระหว่างการทำงานเลย โดยปกติแล้วเนี่ย เราจะใช้ความสามารถนี้ได้เมื่อลง Zend Core หรือ Zend Platform เท่านั้น แต่คราวนี้ไม่ต้องแหละ เมื่อนานมาแล้ว (จริง ๆ จะใช้ว่าเร็ว ๆ นี้ก็กะไรอยู่ เพราะว่ามันก็ไม่เร็ว ๆ นี้)  Zend ได้ปล่อยแยกออกมาต่างหากในชื่อ Zend Debugger หรือ server-debugger โดยปล่อยมาพร้อมกับ PDT (PHP Development Tools) หรือก็คือ IDE ของ PHP ที่ยกความสามารถของ Zend Studio ตัว IDE เสียเงินของ Zend ไปใส่ใน Eclipse IDE นั้นเอง โดยเป็นความร่วมมือของ Zend กับ Eclipse นั้นเองครับ โดยเมื่อไม่นานนี้ (ของจริง) Zend ก็ออก Zend Studio for Eclipse ที่เป็น version เสียเงินออกมาในคร่าต่อมาเหมือนกัน แต่ของดี ๆ ก็ยังคงอยู่ครับ โหลดได้ที่ http://downloads.zend.com/pdt/server-debugger/ ครับผม โดยผลจากการที่ปล่อยมาพร้อม ๆ กับ PDT ทำให้ PDT สามารถทำ remote debugging ได้โดยตรงเลย และฟรีด้วย เพราะ PDT เป็นตัว open-source อยู่ครับ หาโหลดได้ในเว็บ zend ลองหา ๆ ดูครับ

โดยวิธีการใช้งาน ผมไม่ขออธิบายดีกว่า ดู VDO เอาแทนน่าจะเข้าใจง่ายกว่ามั้งครับ ;P

eclipse php debugging with zend debugger

Eclipse PDT and Zend Debuger in action

PHP Debugger