Categories
Tech

Tính năng bạn nên biết khi dùng PhpStorm

 

PhpStorm là công cụ mạnh mẽ và giúp ích rất nhiều cho công việc của lập trình viên PHP. Bạn có thể dùng 1 số IDE khác như Netbeans hoặc dùng TextEditor như Sublime để hoàn thành công việc của mình, nhưng với những dự án lớn và phức tạp, PhpStorm là 1 công cụ tuyệt vời để giúp bạn hoàn thành dự án của mình đỡ khổ hơn. Và vì là 1 công cụ mạnh mẽ nên PhpStorm có rất nhiều tính năng được tích hợp kèm theo, ở bài viết này mình nêu 1 số tính năng bạn nên biết để tinh chỉnh và tận dụng tối đa khả năng của PhpStorm.

1. Tinh chỉnh hiệu năng

PhpStorm đi kèm với rất nhiều tính năng hữu ích dành cho developer, nhưng đôi khi vì sự đa năng mà nó sẽ trở nên chậm chạp và nặng nề, đặc biệt khi bạn mở 1 dự án với rất nhiều file thuần PHP và lồng code PHP vào HTML.

Một số cách tinh chỉnh sau đây có thể giúp bạn tinh chỉnh hiệu năng của PhpStorm.

a) Exclude thư mục: bạn có thể exclude những thư mục chứa file biên dịch, binary hay thư viện như node_modules, vendor, . Việc PhpStorm index những file ở các thư mục này thường là không cần thiết. PhpStorm hay bất cứ IDE nào đều thực hiện quá trình indexing file (đánh chỉ mục) khi khởi động để nhận dạng mã nguồn cho việc tra cứu và phân tích. Quá trình này chiếm phần lớn thời gian khởi động của IDE. Chính vì vậy, việc exclude (loại bỏ) những file hay thư mục kể trên khỏi quá trình indexing sẽ gia tăng đáng kể hiệu năng của IDE. Ngoài ra việc exclude thư mục còn giúp bạn khá nhiều trong việc tìm kiếm khi bạn có thể tìm chính xác những gì bạn cần trong source code, tránh việc tìm kiếm sẽ tìm luôn trong những thư mục như node_modules.

b) Vô hiệu hóa hoặc xóa bỏ những plugin không cần thiết.
Plugin là một phần quan trọng của PhpStorm. Tuy nhiên, không phải plugin nào cũng quan trọng đối với từng dự án cụ thể. Việc tạm ngưng hay xóa bỏ những plugin không liên quan đến dự án sẽ giúp tăng quá trình khởi động và sử dụng IDE.

c) Tinh chỉnh Inspection: Đây là tính năng mà PhpStorm sẽ đọc file và kiểm tra lỗi, hiển thị ra nhưng dòng code có khả năng gây lỗi trong dự án của bạn như hình sau

1 trong những cách đơn giản nhất là chọn mức Inspection ở góc dưới bên phải của PhpStorm, bạn có thể chọn mức chỉ check Syntax hoặc None, nhưng những cấu hình này chỉ dành cho file đang mở.

Để tinh chỉnh cho toàn bộ dự án thì bạn phải vào Preferences – Inspection và chỉnh cụ thể cho từng phần nhưng việc này tốn kha khá thời gian để chỉnh như ý, nên bạn có thể chọn 1 mức Severity sẵn có cho toàn bộ phần PHP như hình dưới

d) Tinh chỉnh JVM Option: vì PhpStorm là IDE được viết dựa trên Java nên bạn có thể tinh chỉnh 1 số tùy chọn liên quan đến việc cấp phát bộ nhớ cho PhpStorm trong máy ảo Java
Chi tiết https://www.jetbrains.com/help/phpstorm/tuning-the-ide.html#configure-jvm-options

2. Dùng phím tắt

Dùng phím tắt lun nhanh hơn dùng chuột, nhưng thực sự nhiều người vẫn đang dùng chuột để di chuyển qua các đoạn code hoặc từ file này qua file khác, điều này sẽ chậm hơn việc dùng phím tắt nhiều. Bạn có thể tham khảo thêm trong 1 số bài viết về vấn đề này, ví dụ: http://blog.codinghorror.com/going-commando-put-down-the-mouse/ (hoặc bài dịch https://vinacode.wordpress.com/2015/01/21/lap-trinh-vien-gioi-su-dung-chuot/)

Bạn không cần phải học thuộc tất cả các phím tắt cùng lúc, hãy bắt đầu từ 1 ít phím tắt hữu dụng và cố gắng dùng chúng mỗi ngày, thời gian đầu thì có thể sẽ chậm hơn dùng chuột, nhưng khi đã quen thuộc với phim tắt bạn sẽ thấy hiệu quả hơn rất nhiều.

Hãy bắt đầu với các phím tắt điều hướng, chúng là thứ bạn dùng nhiều nhất trong 1 ngày như đi tới 1 file hoặc 1 class hoặc 1 function cụ thể, đi tới đầu dòng, cuối dòng, qua các từ kế tiếp, về vị trí code xem trước đó, …

Kế tiếp là các phím tắt khi code, ví dụ comment 1 đoạn hay 1 dòng code, format code , tìm tất cả các chỗ đang dùng function này, …

Trên menu của PhpStorm có những tính năng mà mọi người thường xài nhất, 1 số có shortcut tương ứng bên cạnh nên bạn có thể xem qua, thử nghiệm để biết những tính năng đó là gì sau đó dùng shortcut của chúng nhanh chóng như nối dòng khi code, duplicate dòng hiện giờ, …

Tham khảo thêm: https://www.jetbrains.com/help/phpstorm/mastering-keyboard-shortcuts.html

3. Code Style

Khi tham gia vào 1 dự án, chúng ta thường phải tuân theo Coding Conventions của dự án đó, đây là những nguyên tắc chung khi lập trình nhằm làm cho code dễ đọc dễ hiểu hơn, do đó dễ quản lý dễ bảo trì.

Coding Conventions có rất nhiều mức độ, từ đơn giản như việc đặt tên của biến, phải có khoảng cách sau khai báo tên hàm cho đến khắt khe như 1 function không quá 30 dòng đến 1 class không quá 500 dòng.

Sau rất nhiều năm, bản thân PHP cũng có 1 bộ chuẩn viết code riêng và nếu trong dự án hoặc framework bạn đang dùng không có đề cập đến Coding Conventions, thì thường bộ chuẩn của PHP sẽ đc sử dụng.

Chuẩn code chung của PHP được gọi là PSR1/2, trong đó

1 số quy tắc về code mà nếu chúng ta làm tay thì thật sự khá mất tgian, vd:

  • Sử dụng 4 khoảng trắng (spaces) để thụt dòng, tuyệt đối không dùng tab (bạn có thể khai báo trong công cụ lập trình để khi ấn tab nó tương đương với việc thụt vào 4 spaces).
  • Dùng dấu . để nối chuỗi, chú ý trước và sau dấu chấm . phải có khoảng trắng

Rất may các IDE đều hỗ trợ chúng ta khi viết code và tuân theo các Coding Conventions dễ dàng hơn, trong PhpStorm thì chúng ta có thể setup trong Preferences – Code Style – PHP, chọn PSR1/PSR2 từ dropdown Scheme như hình, sau đó nhấn ApplyOK

Sau đó khi viết code xong, bạn có thể chọn Code – Reformat Code để format đoạn code của bạn hoặc format toàn bộ file theo chuẩn PSR1/2.

Hoặc bạn cũng có thể chọn Reformat Code khi commit code và PhpStrom sẽ tự động commit tất cả các file trong lần commit đó.

Lưu ý: đề nghị chỉ nên dùng tính năng này cho những file code mới viết trong lần commit đó, không nên dùng trong các commit khi fix bug hoặc thay đổi các file có sẵn vì sẽ gây khó cho việc review code.

4. Live Template

Có 1 số đoạn code chúng ta thường phải lặp đi lặp lại, sử dụng trong các dự án khác nhau ví dụ khai báo funtion private public, foreach, …. mà bạn không muốn phải viết đi viết lại, chúng ta nên dùng Live Template của PhpStorm.

Trong PhpStorm đi kèm rất nhiều template sẵn có mà bạn có thể tham khảo để dùng trong dự án, ví dụ như hình dưới, gõ chữ pubsf và nhấn Tab, bạn sẽ có đầy đủ public function

Ngoài ra bạn cũng có thể tự tạo riêng Live Template cho những đoạn code của riêng mình, ở đây lấy ví dụ đoạn code debug thường dùng trong các dự án PHP

echo "<pre>"; var_dump($var); echo "</pre>", die($text);

Bạn có thể tạo template mới cho đoạn code trên để sử dụng nhanh sau này, vào Preferences – Live Template – bấm dấu + bên phải để tạo mới, và điền đầy đủ thông tin

  • abbreviation: đây là keyword  mà bạn muốn dùng để thay thế cho đoạn mã code cần lưu.
  • Description: miêu tả về đoạn code.
  • Template text: nơi viết đoạn code bạn cần lưu, Sau đó bạn cần chọn loại file sử dụng Live Template này bằng cách click vào Define hoặc Change sau đó chọn loại file. Thường khi viết code PHP mình thường để PHP, HTML text, HTML.
  •  

1 số biến có thể dùng trong phần Template Text, vd như $END$ như hình trên có mục đích sẽ đưa con trỏ tới trong hàm var_dump để bạn có thể gõ tên biến bạn muốn dump ra.

1 số biến khác có thể tham khảo https://www.jetbrains.com/help/phpstorm/template-variables.html

Ngoài ra bạn có thể tạo Live Template trong khi code bằng cách bôi đen đoạn code đó, từ thanh công cụ chọn Tools – Save as Live Template và điền thêm các thông tin như trên.

5. Language Injection

Language Injection là 1 tính năng cho phép làm việc với 1 đoạn code (như HTML, Javascript) được nhúng vào trong 1 đoạn code khác (như PHP). Khi bạn đưa 1 đoạn code HTML, CSS, Javascript vào string trong PHP, bạn có thể nhận được toàn bộ những tính năng của PhpStorm với ngôn ngữ đó.

1 ví dụ cụ thể là chúng ta hay dùng CClientScript::registerScript() trong Yii Framework để đăng ký đoạn Javascript trong từng trang, và truyền vào đoạn Javascript vào đó bằng 1 đoạn string như hình dưới.

Đưa con trỏ vào bên trong string, xuất hiện 1 icon bóng đèn, nhấn chọn Inject Language, sau đó chọn Javascript.

Kết quả, bạn sẽ thấy những tính năng hỗ trợ Javascript của PhpStorm được bật lên

Tổng kết

Trên đây là 1 số tinh chỉnh và tính năng mà mọi developer đang xài PhpStorm nên biết và tận dụng để tiết kiệm thời gian khi làm việc với PHP.

Ngoài ra PhpStorm vẫn còn rất nhiều tính năng khác mà không thể liệt kê hết trong bài viết này, bạn có thể thảm khảo thêm 1 số trang web sau
https://www.jetbrains.com/help/phpstorm/getting-started.html
https://phpstorm.tips/

Chúc mọi người code vui vẻ 🙂