Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Chương trình truy cập sớm

Show

Phpstorm 2022.1 EAP #3: Hình dạng mảng nâng cao

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Bản dựng thứ ba của chương trình truy cập sớm của chúng tôi cho PHPSTORM 2022.1 hiện đã có sẵn!

Bài đăng trên blog này sẽ bao gồm hỗ trợ nâng cao cho các chú thích hình dạng mảng giúp cải thiện hoàn thành mã cho các mảng giống như đối tượng.

Ứng dụng Toolbox là cách dễ nhất để có được các bản dựng EAP và giữ cho các phiên bản ổn định và EAP của bạn được cập nhật. Bạn cũng có thể tải xuống thủ công các bản dựng EAP từ trang web của chúng tôi.

Hình dạng mảng đa dòng và lồng nhau

Trong phpstorm 2021.2, chúng tôi đã giới thiệu hỗ trợ cho các hình dạng mảng trong các khối PHPDOC. Nó đi kèm với một giới hạn đáng kể, mặc dù-chỉ có các chú thích một dòng và một cấp độ được hỗ trợ.

Để có được hỗ trợ đa dòng, bạn đã có tùy chọn sử dụng thuộc tính #[ArrayShape]. Tuy nhiên, điều này vẫn không có hỗ trợ cho các cấu trúc lồng nhau.

Trong Phpstorm 2022.1, chúng tôi đang thêm hỗ trợ đầy đủ cho các hình dạng mảng đa dòng và lồng nhau trong cả PhpDoc và các thuộc tính!full support for multiline and nested array shapes in both PHPDoc and attributes!

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Mặc dù PHP có một hệ thống đối tượng tuyệt vời, nhưng có thể đôi khi việc xác định một lớp thực cảm thấy quá mức và nó thuận tiện hơn để làm việc với các cấu trúc dữ liệu đơn giản hoặc các mảng giống như đối tượng.

Trong các trường hợp như vậy, xác định cấu trúc của các mảng có chú thích hình dạng mảng để hoàn thành mã cho các khóa và suy ra các loại giá trị.

Bạn có thể sử dụng Cú pháp PhpDoc và Thuộc tính của Booth trong Phpstorm, tùy theo bạn thích. Cú pháp được hỗ trợ cho các loại trả về và định nghĩa loại tham số. Xem ví dụ PHPDOC ở trên và đây là một thuộc tính:

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Cùng với hỗ trợ chú thích đa dòng và lồng nhau, có nhiều cải tiến bổ sung cho hình dạng mảng.

Hỗ trợ hình dạng mảng có khóa số

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Hỗ trợ các mảng cụ thể trong các mảng giống như đối tượng

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Danh sách hỗ trợ trong hình dạng mảng

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Hỗ trợ @var Chú thích hình dạng mảng của việc sử dụng biến

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Cải tiến để Vue

Phpstorm kết hợp tất cả các cải tiến cho HTML/CSS/JS và các công nghệ web khác từ WebStorm. trong các tập tin .Vue của bạn. Phpstorm cũng sẽ hỗ trợ đúng cách CreatApp. Nó sẽ khớp chính xác các ứng dụng được tạo bằng CreatApp với các yếu tố liên quan của chúng. Phiên bản này cũng bao gồm hỗ trợ cho Nuxt 3, một phiên bản mới của Khung Vue phổ biến.
So the 2022.1 version of JetBrains’ IDE comes with several improvements to Vue 3. In this version, if you define components as global, the IDE will recognize them in your .vue files. PhpStorm will also properly support the createApp syntax. It will correctly match applications created using createApp with their related elements.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

This version also includes support for Nuxt 3, a new version of the popular Vue framework.


Danh sách đầy đủ các thay đổi, bao gồm sửa lỗi và cải tiến, có sẵn trong các ghi chú phát hành.


Tham gia chương trình truy cập sớm

EAP là một cơ hội tuyệt vời để cung cấp phản hồi về các tính năng sắp tới và giúp chúng tôi định hình tương lai của IDE.

Bạn có thể tải xuống bản dựng EAP mới nhất từ ​​trang web của chúng tôi hoặc thông qua ứng dụng hộp công cụ.

  • Các bản dựng EAP phpstorm không được kiểm tra đầy đủ và có thể không ổn định.
  • Bạn có thể cài đặt EAP Build By Side với phiên bản Phpstorm ổn định để thử các tính năng mới nhất.
  • Các bản dựng EAP được sử dụng miễn phí nhưng hết hạn 30 ngày sau ngày xây dựng.

Vui lòng báo cáo bất kỳ vấn đề nào bạn gặp phải cho trình theo dõi vấn đề của chúng tôi hoặc đề cập đến chúng trong phần bình luận của bài đăng này.

Tweet tại chúng tôi @phpstorm!

JetBrains của bạn Phpstorm Teamthe để phát triển
The Drive to Develop

Phát hành

Phpstorm 2021.2: Generics, enums, hình dạng mảng, kiểm tra, tái cấu trúc, và nhiều hơn nữa

Đọc bài đăng này bằng các ngôn ngữ khác:
Русский

  • PHP
  • Ide
  • Kiểm soát phiên bản
  • Mã với tôi
  • Code with Me là một công cụ để lập trình cặp và mã hóa hợp tác, và nó đi kèm với phpstorm ra khỏi hộp. Trong bản phát hành này, nó đã nhận được rất nhiều tính năng và cập nhật mới đáng kinh ngạc.
    • Chia sẻ màn hình
    • @class-string
    • Một trong những tính năng được chờ đợi nhất, chia sẻ màn hình, cuối cùng cũng ở đây. Mã với tôi 2021.2 Bây giờ cho phép người tham gia chia sẻ một cửa sổ ứng dụng từ màn hình máy tính của họ. Nó thậm chí không phải là phpstorm. Nó có thể là bất kỳ cửa sổ!
  • Phpstorm bao gồm hầu hết tất cả các tính năng của Datagrip, theo tiêu chuẩn. Kiểm tra những gì mới trong Datagrip 2021.2 để biết tổng quan về các tính năng mới mà chúng tôi đã thêm vào để làm việc với cơ sở dữ liệu.
  • Web
  • Như thường lệ, tất cả các bản cập nhật cho WebStorm 2021.2 cũng đã được kết hợp vào PhpStorm.
  • Danh sách đầy đủ các thay đổi trong Phpstorm 2021.2 có sẵn trong các ghi chú phát hành thực sự dài.
  • Đó là tất cả cho ngày hôm nay. Cảm ơn vì đã theo kịp những thay đổi! Chúng tôi hy vọng họ cải thiện trải nghiệm phpstorm của bạn.
  • Tải xuống PHPSTORM.
    • Tweet @ chúng tôi!
    • Báo cáo lỗi cho trình theo dõi vấn đề của chúng tôi.
    • Nhóm JetBrains của bạn Phpstorm Đội hình để phát triển
  • Phát hành
    • Phpstorm 2021.2: Generics, enums, hình dạng mảng, kiểm tra, tái cấu trúc, và nhiều hơn nữa
    • Đọc bài đăng này bằng các ngôn ngữ khác:
    • PHP
  • Ide
    • Kiểm soát phiên bản
    • Hỗ trợ cho thuốc generic
    • Bộ sưu tập với @Template
    • Phạm vi tương lai là gì?
    • Php 8.1
  • Enums
  • Được hỗ trợ
    • Hỗ trợ cú pháp phpdoc hình dạng mảng
    • Cải tiến định dạng
    • Các cuộc kiểm tra mới và các sửa chữa nhanh chóng
    • Điều kiện có thể được thay thế bằng `?->`
    • Sử dụng không đổi từ một lớp nơi nó được xác định
    • Điều kiện dư thừa trong biểu thức logic
  • Kiểm soát phiên bản
    • Hỗ trợ cho thuốc generic
    • Bộ sưu tập với @Template
    • Phạm vi tương lai là gì?
    • Chạy các bài kiểm tra trước khi cam kết
  • Mã với tôi
    • Chia sẻ màn hình
  • Một trong những tính năng được chờ đợi nhất, chia sẻ màn hình, cuối cùng cũng ở đây. Mã với tôi 2021.2 Bây giờ cho phép người tham gia chia sẻ một cửa sổ ứng dụng từ màn hình máy tính của họ. Nó thậm chí không phải là phpstorm. Nó có thể là bất kỳ cửa sổ!
  • Web

Như thường lệ, tất cả các bản cập nhật cho WebStorm 2021.2 cũng đã được kết hợp vào PhpStorm.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Danh sách đầy đủ các thay đổi trong Phpstorm 2021.2 có sẵn trong các ghi chú phát hành thực sự dài.

Đó là tất cả cho ngày hôm nay. Cảm ơn vì đã theo kịp những thay đổi! Chúng tôi hy vọng họ cải thiện trải nghiệm phpstorm của bạn.

Tải xuống PHPSTORM.

PHP

  • Ide
  • Kiểm soát phiên bản
  • Hỗ trợ cho thuốc generic
  • Tải xuống PHPSTORM.
  • Phát hành
  • Đó là tất cả cho ngày hôm nay. Cảm ơn vì đã theo kịp những thay đổi! Chúng tôi hy vọng họ cải thiện trải nghiệm phpstorm của bạn.
  • Tải xuống PHPSTORM.

Ide

  • Được hỗ trợ
  • Sử dụng không đổi từ một lớp nơi nó được xác định
  • Chạy các bài kiểm tra trước khi cam kết
  • Enums
  • Được hỗ trợ
  • Hỗ trợ cú pháp phpdoc hình dạng mảng

Kiểm soát phiên bản

  • Hỗ trợ cho thuốc generic
  • Phạm vi tương lai là gì?
  • Php 8.1

Mã với tôi

  • Chia sẻ màn hình

Enums

PHP

Code with Me là một công cụ để lập trình cặp và mã hóa hợp tác, và nó đi kèm với phpstorm ra khỏi hộp. Trong bản phát hành này, nó đã nhận được rất nhiều tính năng và cập nhật mới đáng kinh ngạc.

Chia sẻ màn hình

Một trong những tính năng được chờ đợi nhất, chia sẻ màn hình, cuối cùng cũng ở đây. Mã với tôi 2021.2 Bây giờ cho phép người tham gia chia sẻ một cửa sổ ứng dụng từ màn hình máy tính của họ. Nó thậm chí không phải là phpstorm. Nó có thể là bất kỳ cửa sổ!

Chia sẻ màn hình

Một trong những tính năng được chờ đợi nhất, chia sẻ màn hình, cuối cùng cũng ở đây. Mã với tôi 2021.2 Bây giờ cho phép người tham gia chia sẻ một cửa sổ ứng dụng từ màn hình máy tính của họ. Nó thậm chí không phải là phpstorm. Nó có thể là bất kỳ cửa sổ!

Phpstorm bao gồm hầu hết tất cả các tính năng của Datagrip, theo tiêu chuẩn. Kiểm tra những gì mới trong Datagrip 2021.2 để biết tổng quan về các tính năng mới mà chúng tôi đã thêm vào để làm việc với cơ sở dữ liệu.

Web

Như thường lệ, tất cả các bản cập nhật cho WebStorm 2021.2 cũng đã được kết hợp vào PhpStorm.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Với các bộ sưu tập học thuyết, bạn đã có thể hoàn thành mã trong các kịch bản đơn giản:

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Việc lặp lại giao diện học thuyết ____ Collection sẽ được hỗ trợ trong bản cập nhật tiếp theo. Hãy chắc chắn để xem vé WI-61438 để bạn nhận được thông báo về các thay đổi mới.

Chỉ độ sâu cấp độ đầu tiên là loại suy luận và hoàn thành loại được hỗ trợ chỉ có sẵn cho các chất generic cấp độ đầu tiên trong phpstorm, tức là các thuốc generic như Base hoặc Base. Đối với các chú thích như vậy, phpstorm sẽ hiểu các loại T.
Type inference and completion are only available for first-level generics in PhpStorm, i.e. generics like Base or Base. For such annotations, PhpStorm will understand the T types.

Các chất generic lồng nhau như Base> không được hỗ trợ và có thể sẽ không được hỗ trợ trong tương lai, vì chi phí hiệu suất.

@class-string

Một ứng dụng khác của thuốc generic là container và nhà máy. Với mã đó, thông thường chuyển chuỗi tên lớp làm đối số và kết quả là nhận một đối tượng.

Nếu bạn chú thích một tham số bằng thẻ @class-string, phpstorm sẽ cung cấp cho bạn suy luận loại thích hợp:

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Trên thực tế, nếu bạn sử dụng toán tử new để khởi tạo một đối tượng từ một tham số, thì không cần thêm chú thích @var0 - nó sẽ chỉ hoạt động ra khỏi hộp:

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Phạm vi tương lai là gì?

Chúng tôi sẽ tiếp tục giới thiệu hỗ trợ cho từng bước. Có một vài tính năng đã biết thiếu mà chúng tôi dự định thêm vào các bản cập nhật trong tương lai:

  • WI-56034 hỗ trợ việc sử dụng thuốc generic trên các lớp
  • Wi-60894 Bán tham số hỗ trợ
  • Suy luận hỗ trợ WI-61438 dựa trên Iteratoraggregate
  • Mẫu Wi-61497 Mẫu Generics @Implements nên kế thừa các chú thích từ giao diện

Chúng tôi khuyến khích bạn tạo một vé nếu bạn tìm thấy một trường hợp sử dụng mà chúng tôi chưa bảo hiểm.

Php 8.1

Phiên bản mới của thông dịch viên dự kiến ​​sẽ được phát hành vào cuối tháng 11. Theo truyền thống của chúng tôi, chúng tôi sẽ bắt đầu triển khai hỗ trợ cho các tính năng mới sớm.

Tất nhiên, một trong những tính năng quan trọng và mong đợi nhất sẽ là Enums.

Enums

Tuyên bố một enum bằng cách sử dụng các từ khóa @var1 và @var2. Phpstorm sẽ giúp bạn tự động hoàn thành và cho bạn biết nếu có bất cứ điều gì không theo cú pháp ngôn ngữ.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Enums có thể được sử dụng làm khai báo loại trong các tham số, giá trị trả về và thuộc tính lớp. Phpstorm sẽ kiểm tra loại và làm nổi bật các vi phạm trong cửa sổ Trình chỉnh sửa.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Bạn có thể nhanh chóng tạo các trường hợp mới với sửa lỗi nhanh. Nhập cách sử dụng @var2 như thể nó đã tồn tại, sau đó nhấn Alt+Enter và chọn Thêm trường hợp Enum.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Được hỗ trợ

Theo mặc định, các trường hợp được liệt kê là các đối tượng đơn giản. Nhưng nếu bạn muốn lưu chúng vào cơ sở dữ liệu hoặc lưu trữ dữ liệu tương tự, thì bạn có thể xác định các giá trị vô hướng cho các trường hợp.

Các enum với tương đương vô hướng cho các trường hợp được gọi là enum được hỗ trợ.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Nếu bạn xác định một enum tiêu chuẩn (enum đơn vị) và sau đó quyết định làm cho nó được hỗ trợ, phpstorm có bản sửa lỗi nhanh để thêm một loại cho toàn bộ enum. Nhấn Alt+Enter trên giá trị trường hợp được tô sáng và chọn tùy chọn để thêm @var4 vào khai báo.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Bạn có biết bạn có thể gọi enum enum? Điều đó bởi vì nó được định nghĩa là từ khóa ngữ cảnh và không phải là một từ dành riêng. Vì vậy, nó không nên va chạm với bất kỳ triển khai enum người dùng hiện tại nào mà bạn có thể có.

Bạn có thể khai báo các phương thức tùy chỉnh trong các enum, nhưng bạn không thể khai báo các hàm tạo, chất phá hủy, thuộc tính, thuộc tính động hoặc phương thức ma thuật (trừ @var5, @var6 và @var7). Phpstorm sẽ kiểm tra vi phạm và làm nổi bật chúng cho bạn.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Đó là tất cả cho enums. Hãy cho chúng tôi biết nếu bạn có bất kỳ ý tưởng về cách làm cho hỗ trợ tốt hơn.

Hỗ trợ cú pháp phpdoc hình dạng mảng

Mặc dù PHP có một hệ thống đối tượng tuyệt vời, nhưng thật thuận tiện khi làm việc với các cấu trúc dữ liệu đơn giản hoặc các mảng giống như đối tượng khi xác định một lớp thực cảm thấy quá mức.

Chúng tôi đang thêm hỗ trợ cho cú pháp PHPDOC để bây giờ bạn có thể xác định cấu trúc của các mảng. Điều này có nghĩa là Phpstorm sẽ cung cấp hoàn thành mã cho các khóa và suy ra loại giá trị.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Điều này chỉ giới hạn trong các định nghĩa một dòng. Cú pháp đa dòng và hình dạng mảng lồng nhau chưa được hỗ trợ. Hãy theo dõi để cập nhật.one-line definitions only. Multiline syntax and nested array shapes are not supported yet. Stay tuned for updates.

Cải tiến định dạng

Trong một thời gian dài, phpstorm đã có một số điều kỳ quặc với định dạng. Mặc dù nó hoạt động tốt hầu hết thời gian, những điều kỳ quặc này có thể rất khó chịu trong một số trường hợp bên lề.

Trong Phpstorm 2021.2, chúng tôi đã quyết định khắc phục tất cả các vấn đề định dạng nổi bật để bạn luôn có được những gì bạn mong đợi!

Để định dạng mã của bạn, nhấn CMD+ALT+L. Điều này hoạt động cho các tập tin và lựa chọn, quá.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Tất cả các tùy chọn kiểu mã có sẵn trong Cài đặt/Tùy chọn | Biên tập | Kiểu mã | PHP.

Một số tính năng phpstorm đôi khi không thể sử dụng được nếu có vấn đề định dạng. Ví dụ, các vấn đề định dạng sẽ gây ra vấn đề khi chia danh sách thành các dòng riêng biệt hoặc ngược lại, hợp nhất chúng thành một.

Trong các mảng, danh sách đối số hoặc danh sách tham số, giờ đây bạn có thể nhấn Alt+Enter và chọn các giá trị phân tách bằng dấu phẩy thành nhiều dòng:Split comma-separated values into multiple lines:

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Khi sử dụng nhiều dòng cho danh sách, bạn có thể chọn cách căn chỉnh các mục. Ví dụ: đối với các tham số có khai báo loại, bạn có thể làm cho chúng dễ đọc hơn bằng cách căn chỉnh các loại và tên trong các cột:

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Nếu bạn gặp phải bất kỳ vấn đề định dạng nào mà chúng tôi đã bỏ lỡ, vui lòng báo cáo chúng cho trình theo dõi vấn đề của chúng tôi!

Các cuộc kiểm tra mới và các sửa chữa nhanh chóng

Bản phát hành PhpStorm này đi kèm với nhiều cuộc kiểm tra mới để giúp bạn tránh giới thiệu các lỗi, vì chúng cho phép bạn bắt gặp sự cố trong khi bạn vào trình chỉnh sửa và trước khi mã được thực hiện. Chúng tôi cũng đã thêm các bản sửa lỗi nhanh để cứu bạn khỏi việc phải thực hiện các nhiệm vụ thường xuyên nhàm chán và để giúp bạn tập trung vào những gì quan trọng trong mã hóa của bạn.
We’ve also added quick-fixes to save you from having to perform boring routine tasks and to help you focus on what’s important in your coding.

Dưới đây là một số kiểm tra mới có sẵn trong bản phát hành năm 2021.2.

Điều kiện có thể được thay thế bằng `?->`

Kiểm tra này làm nổi bật các biểu thức có thể được thay thế bằng toán tử an toàn null từ PHP 8. Nhấn Alt+Enter để thực hiện chuyển đổi.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Sử dụng không đổi từ một lớp nơi nó được xác định

Phpstorm sẽ làm nổi bật các hằng số được truy cập thông qua một lớp con hoặc con con thay vì thực thể nơi hằng số được xác định. Thay thế tên của thực thể bằng một trong đó hằng số được xác định bằng cách sử dụng Alt+Enter Quick-FIX.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Điều kiện dư thừa trong biểu thức logic

Phpstorm bây giờ sẽ đánh giá các phần của các điều kiện để xác định bất kỳ dự phòng nào.

Đây là một ví dụ đơn giản:

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Và ở đây, một điều ít rõ ràng hơn:

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Tái cấu trúc cơ hội kiểm tra

Chúng tôi đã thêm một nhóm kiểm tra mới trong Cài đặt/Tùy chọn | Biên tập | Kiểm tra.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Nhóm này bao gồm các cuộc kiểm tra có thể giúp bạn tìm thấy các ứng cử viên tốt để tái cấu trúc. Chúng bị vô hiệu hóa theo mặc định, nhưng ngay cả ở trạng thái bị vô hiệu hóa này, bạn sẽ thấy một biểu tượng máng xối bổ sung gần mã được phát hiện bởi các kiểm tra này (thay vì được gạch chân trong trình soạn thảo). Nhấp vào biểu tượng máng xối sẽ gọi sự tái cấu trúc được đề xuất.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm
near code detected by these inspections (instead of having it underlined in the editor). Clicking the gutter icon will invoke the suggested refactoring.

Hãy cùng xem ba người trong số họ hoạt động và xem cách bạn có thể kết hợp chúng với các chất tái cấu trúc phpstorm.

Lớp học phức tạp nên được tái cấu trúc

Các cuộc kiểm tra này phát hiện các lớp cồng kềnh dựa trên ba số liệu: TCC (sự gắn kết lớp chặt chẽ), một thước đo của sự kết hợp của lớp; WMC (số phương thức có trọng số), tổng độ phức tạp của chu kỳ cho tất cả các phương pháp trong lớp; và ATFD (truy cập vào dữ liệu nước ngoài), số trường từ một lớp khác được truy cập trong lớp này.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Khi phpstorm phát hiện một lớp cồng kềnh, nó gợi ý các phương pháp trích xuất cho một lớp mới. Nếu lớp ban đầu quá lớn, nó có thể cần thêm một vài lần lặp lại của các chất tái cấu trúc.

Chức năng phức tạp nên được tái cấu trúc

Kiểm tra này tính toán bốn số liệu khác nhau cho các phương pháp: độ phức tạp theo chu kỳ, độ sâu làm tổ, số lượng biến được sử dụng và tổng số dòng.

Nếu điểm tổng thể của một phương pháp kém, thì có lẽ nó là một ý tưởng tốt để chia nó thành các phần đơn giản hơn, dễ quản lý hơn.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Phpstorm đề xuất một số khối ứng cử viên để trích xuất một phương pháp mới.

Phương pháp có tính năng Envy của một lớp khác

Khi một phương thức truy cập dữ liệu của một đối tượng khác nhiều hơn dữ liệu của chính nó, đó là dấu hiệu của sự ghen tị tính năng.

Bạn có thể muốn chuyển toàn bộ phương thức, hoặc một phần của nó, sang lớp khác.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Hãy thoải mái khám phá và cho phép kiểm tra khác từ nhóm cơ hội tái cấu trúc.

Phương pháp trích xuất đã có sẵn trong Phpstorm từ năm 2011, và nó là một trong những chất tái cấu trúc được sử dụng nhiều nhất.

Vấn đề: Bạn có một phương pháp mà quá lớn và bạn muốn chia nó thành nhiều phương pháp nhỏ hơn. Hoặc bạn có một số mã trùng lặp mà bạn muốn loại bỏ.

Giải pháp: Di chuyển mã sang một phương thức mới, riêng biệt và thay thế mã cũ bằng một cuộc gọi đến phương thức.

Để sử dụng việc tái cấu trúc này, chọn bất kỳ đoạn mã nào và nhấn ⌘⌥M (CMD+ALT+M / CTRL+ALT+M).

Bây giờ, hãy để Lừa xem xét các cải tiến đã được thực hiện cho phương pháp trích xuất trong Phpstorm 2021.2.

Tái cấu trúc mã trùng lặp

Trước hết, bây giờ thật dễ dàng để tìm thấy các ứng cử viên để tái cấu trúc nhờ kiểm tra phân đoạn mã trùng lặp.Duplicated code fragment inspection.

Việc kiểm tra này đã có sẵn, nhưng bây giờ có thêm một bản sửa lỗi nhanh để tái cấu trúc mã.

Nhấn Alt+Enter trên dòng được tô sáng và gọi phương thức trích xuất từ ​​Code FIX Quick Code trùng lặp.

Tất cả các mảnh trùng lặp sẽ được thay thế bằng một cuộc gọi phương thức mới.

Phát hiện các bản sao trong quá trình tái cấu trúc

Phpstorm cũng có thể tìm thấy các bản sao nhỏ hơn trong phạm vi hiện tại (phương thức, lớp hoặc tệp) trong quá trình tái cấu trúc. Trong v2021.2, quá trình phát hiện này đã trở nên thông minh hơn rất nhiều. Chọn một đoạn mã và sau đó gọi cho việc tái cấu trúc với CMD+Alt+M / Ctrl+Alt+M. Ở dưới cùng của hộp thoại Phương thức trích xuất, hộp kiểm đánh giá và thay thế các bản sao sẽ xuất hiện nếu có được tìm thấy.
Select a code fragment and then call the refactoring with Cmd+Alt+M / Ctrl+Alt+M. At the bottom of the Extract Method dialog, a Review and replace duplicates checkbox will appear if any are found.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Lưu ý rằng phát hiện này bây giờ sẽ tìm thấy các bản sao khi mã không giống nhau.

Bộ chọn thông minh mới cho các đoạn mã

Nếu bạn cố gắng gọi phương thức trích xuất tái cấu trúc mà không cần chọn một đoạn mã, phpstorm sẽ đề xuất một danh sách các đoạn mã có thể. Các đề xuất có thể bao gồm các biểu thức đơn giản, câu lệnh và khối đầy đủ.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Phpstorm xác minh luồng điều khiển cho các phần tử đã chọn và loại trừ các lựa chọn không hợp lệ hoặc vô nghĩa. Ví dụ, trong mã sau, biểu thức gán được bỏ qua, cho phép bạn trích xuất đúng phần của nó.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Mở rộng lựa chọn được cải thiện

Bạn có thể đã biết rằng bạn có thể chọn một đoạn mã với hành động lựa chọn mở rộng / thu nhỏ ⌥+UP / ⌥+XUỐNG (Ctrl+W / Ctrl+Shift+W). Đây là một cách nhanh chóng để chọn mã để tái cấu trúc. Trong Phpstorm 2021.2, việc tái cấu trúc này đã nhận được một bản cập nhật nhỏ - khả năng chọn các khối mà không cần niềng răng xoăn.Expand / Shrink selection action ⌥+Up / ⌥+Down (Ctrl+W / Ctrl+Shift+W). This is a quick way to select code for refactoring.
In PhpStorm 2021.2, this refactoring has received a small update – the ability to select blocks without curly braces.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Phpstorm 2021.2 đang cố gắng giải quyết một trong những vấn đề khó khăn nhất trong khoa học máy tính - cách đặt tên cho mọi thứ. Khi bạn sử dụng phương pháp trích xuất tái cấu trúc, phpstorm sẽ đề xuất một tên cho phương thức mới. Nếu có một biến được sử dụng trong mã được trích xuất, tên phương thức sẽ dựa trên tên biến đó. Phpstorm cũng sẽ tính đến loại biểu thức, bất kỳ tên gọi phương thức nào và các yếu tố khác khi đề xuất một tên.
When you use the Extract Method refactoring, PhpStorm will suggest a name for the new method.
If there is a variable used in the extracted code, the method name will be based on that variable’s name. PhpStorm will also take into account the expression type, any method call names, and other factors when suggesting a name.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Nếu khối mã được chú thích bằng nhận xét, phpstorm sẽ sử dụng nhận xét này như một nguồn của tên cho phương thức được trích xuất.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Ide

Các trang trình duyệt tải lại khi lưu

Như bạn có thể biết, PhpStorm cho phép bạn xem trước các tệp HTML và PHP trong trình duyệt bằng máy chủ web tích hợp. Bây giờ nó cũng có thể tự động tải lại các trang đã mở khi HTML, PHP hoặc các tệp CSS và JavaScript được liên kết được thay đổi. Tải lại được kích hoạt bất cứ khi nào các thay đổi được lưu trong IDE, tự động, sử dụng ⌘S / ctrl+s hoặc khi các thay đổi được thực hiện thành một tệp bên ngoài. Để thử tính năng mới này, hãy mở tệp HTML hoặc PHP, di chuột qua mã và nhấp vào biểu tượng cho trình duyệt bạn muốn sử dụng (tất cả các trình duyệt được hỗ trợ). Bạn cũng có thể xem trước tệp trong trình duyệt bằng cách đi xem | Mở trong trình duyệt trong menu chính.
It can now also automatically reload the opened pages when HTML, PHP, or the linked CSS and JavaScript files are changed. Reloading is triggered whenever changes are saved in the IDE, either automatically, using ⌘S / Ctrl+S, or when changes are made to a file externally.
To try this new feature, open an HTML or PHP file, hover over the code, and click on the icon for the browser you want to use (all browsers are supported). You can also preview the file in a browser by going to View | Open in Browser in the main menu.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Tải lại khi lưu được bật theo mặc định. Để điều chỉnh các cài đặt cho nó hoặc tắt nó đi, hãy chuyển đến phần máy chủ tích hợp trong Tùy chọn / Cài đặt | Xây dựng, thực hiện, triển khai | Trình gỡ lỗi.

Hành động trên lưu

Phpstorm hỗ trợ chạy các hành động khác nhau một cách rõ ràng trên Save. Đã có một vài hành động mà bạn có thể thiết lập để làm việc khi nhấn ⌘s / ctrl+s. Với bản phát hành này, chúng tôi đã làm lại tất cả các chức năng hiện có và thu thập nó cùng nhau ở một nơi. Tất cả các tùy chọn liên quan đều có sẵn trong Tùy chọn / Cài đặt | Công cụ | Hành động trên lưu. Ở đó, bạn sẽ tìm thấy một danh sách các hành động có thể được kích hoạt với ⌘S / ctrl+s.
There were already a few actions that you could set up to work on pressing ⌘S / Ctrl+S. With this release, we’ve reworked all the existing functionality and collected it together in one place.
All the related options are available under Preferences / Settings | Tools | Actions on Save. There you’ll find a list of the actions that can be triggered with ⌘S / Ctrl+S.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Để bật một hành động, hãy đánh dấu vào hộp kiểm bên cạnh tên của nó. Hầu hết các hành động sẽ được kích hoạt trên bất kỳ tiết kiệm nào, bao gồm tự động và các hành động lưu rõ ràng. Đối với các trình xem tệp và hành động tải lên mặc định, bạn có thể chọn giữa hai tùy chọn bất cứ khi nào bạn muốn chúng được kích hoạt.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Thay đổi biểu tượng dự án

Có một tính năng nhỏ để giúp bạn thông minh cách các dự án của bạn nhìn trên màn hình chào mừng. Trong Phpstorm, bạn có thể tải lên các biểu tượng tùy chỉnh bằng cách nhấp chuột phải vào bất kỳ dự án nào và chọn chọn biểu tượng dự án từ menu ngữ cảnh. Hộp thoại bây giờ đơn giản hơn, cho phép bạn dễ dàng chọn tệp SVG mong muốn cho mỗi dự án.
The dialog is now more straightforward, allowing you to easily choose the desired SVG file for each project.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Cải tiến cho các tệp cào

Với các tệp cào, bạn có thể ghi chú hoặc dự thảo mã bên ngoài bối cảnh dự án. Để tạo tệp cào mới, nhấn+n. Trong bản phát hành này, bây giờ bạn có thể chọn mã, nhấn ⌥⏎ / alt+enter và sau đó chọn Tạo tệp cào mới từ lựa chọn để nhanh chóng tạo một tệp cào mới từ đoạn mã này.
In this release, you can now select code, press ⌥⏎ / Alt+Enter, and then choose Create new scratch file from selection to quickly create a new scratch file from this piece of code.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Ngoài ra, phpstorm sẽ tự động xóa các tệp cào trống ngay khi bạn đóng chúng, để giúp bạn giữ cho không gian làm việc của mình sạch sẽ.

Thư mục cào cấu hình

Bạn có thể định cấu hình một thư mục để lưu trữ các tệp cào của bạn. Theo mặc định, nó có thư mục cấu hình IDE, nhưng bạn có thể đặt nó thành một thư mục được chia sẻ và sử dụng cùng một tệp cào trên các máy tính khác nhau. Đối với điều đó, bạn cần chỉ định tùy chọn dòng lệnh: -didea.scratch.path/cào =
For that, you need to specify a command line option:
-Didea.scratch.path/scratches=

Cải thiện hộp thoại Tùy chọn / Cài đặt

Bây giờ, một nút mới với các cài đặt nâng cao trong hộp thoại Tùy chọn / Cài đặt của bạn. Nút này chứa một số tùy chọn cấu hình bổ sung. Hầu hết trong số họ đã được chuyển từ sổ đăng ký. Bạn cũng sẽ tìm thấy một số tùy chọn cấu hình mới ở đó, chẳng hạn như khả năng đặt lề trái ở chế độ không phân tâm.
You’ll also find some new configuration options there, such as the ability to set a left margin in Distraction-free mode.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Ngoài ra, bây giờ bạn có thể điều hướng qua lại giữa các phần mở trong hộp thoại Tùy chọn / Cài đặt của bạn. Để làm như vậy, sử dụng các mũi tên ở góc bên phải của cửa sổ.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Tự động bộ nhớ cache và làm sạch nhật ký

Trước đây, các tệp nhật ký và bộ đệm của PhpStorm có thể bắt đầu chiếm một lượng đáng kể dung lượng ổ cứng theo thời gian. Sau mỗi lần cập nhật chính, PHPSTORM sẽ tự động làm sạch mọi bộ đệm và thư mục nhật ký được cập nhật lần cuối hơn 180 ngày trước. Các cài đặt hệ thống và thư mục plugin sẽ vẫn còn nguyên vẹn. Nếu bạn muốn kích hoạt quá trình này theo cách thủ công, hãy đi để giúp đỡ | Xóa các thư mục IDE còn sót lại trong menu chính.
After each major update, PhpStorm will automatically clean up any cache and log directories that were last updated more than 180 days ago. The system settings and plugin directories will stay intact.
If you want to trigger this process manually, go to Help | Delete Leftover IDE Directories… in the main menu.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Tùy chọn thiết bị đầu cuối mới

Thiết bị đầu cuối tích hợp có hai tùy chọn mới. Đầu tiên, bây giờ bạn có thể chọn hình dạng con trỏ.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Thứ hai, bây giờ chúng tôi hỗ trợ tùy chọn sử dụng làm khóa meta, tương tự như tùy chọn có cùng tên trong thiết bị đầu cuối gốc trên macOS. Nó cho phép khóa tùy chọn (⌥) hoạt động như một công cụ sửa đổi meta. Bạn có thể đánh dấu vào các hộp kiểm cho các tùy chọn này trong Tùy chọn/ Cài đặt | Công cụ | Phần cuối.
You can tick the checkboxes for these options in Preferences/ Settings | Tools | Terminal.

Truy cập nhanh vào chế độ tiết kiệm nguồn

Không có gì bí mật rằng việc sử dụng CPU của Phpstorm có thể khá cao. Điều này chủ yếu gây ra bởi việc lập chỉ mục, và việc sử dụng cao để làm cho việc lập chỉ mục càng nhanh càng tốt. Nếu bạn đang làm việc trên máy tính xách tay mà không có nguồn điện và muốn có thêm vài giờ thời lượng pin, Phpstorm đã giúp bạn được bảo hiểm. Bạn có thể bật chế độ lưu nguồn từ thanh trạng thái. Tìm biểu tượng pin hoặc nhấp chuột phải ở góc dưới bên phải của thanh trạng thái và bạn sẽ tìm thấy nó trong danh sách.
If you are working on a laptop without a power supply and want to get several extra hours of battery life, PhpStorm has got you covered.
You can switch on Power Save mode from the status bar. Find the battery icon or right-click on the bottom right corner of the status bar and you will find it in the list.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Khi chế độ tiết kiệm Power được bật, lỗi cú pháp vẫn sẽ được tô sáng và bạn sẽ nhận được một trình soạn thảo chính thức. Nhưng lập chỉ mục và một số kiểm tra mã đói pin sẽ không chạy. Với biểu tượng mới, bạn có thể chọn khi nào nên chạy kiểm tra bằng cách tắt chế độ tiết kiệm nguồn trong một hoặc hai phút.
With the new icon, you can choose when to run inspections by turning Power Save mode off for a minute or two.

Nếu bạn nhận thấy bất cứ điều gì kỳ lạ liên quan đến các gai CPU, vui lòng nắm bắt ảnh chụp nhanh sử dụng CPU của bạn và chia sẻ nó với nhóm hỗ trợ của chúng tôi bằng cách làm theo các hướng dẫn này.

Kiểm soát phiên bản

Hành vi thống nhất cho chương trình hành động khác nhau

Phpstorm bây giờ luôn hiển thị sự khác biệt giữa các tệp ban đầu và thay đổi trong tab Trình chỉnh sửa. Nếu bạn thấy thuận tiện hơn khi theo dõi các thay đổi trong một cửa sổ riêng biệt, bạn có thể kéo tệp mong muốn từ trình chỉnh sửa. Nếu bạn làm như vậy, phpstorm sẽ nhớ điều này và nó sẽ mở các khác biệt trong tương lai trong một cửa sổ riêng biệt.
If you find it more convenient to track changes in a separate window, you can drag the desired file from the editor. If you do so, PhpStorm will remember this, and it will open future diffs in a separate window.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Để quay lại màn hình mặc định, nhấp vào biểu tượng Gear và chọn Hiển thị Diff trong Tab Trình chỉnh sửa.

Chữ ký GPG cho Git

Bây giờ có thể kích hoạt ký kết Git cam kết với GPG thông qua Tùy chọn/Cài đặt | Kiểm soát phiên bản | Git.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Tìm kiếm văn bản trong các sửa đổi lịch sử địa phương

Lịch sử địa phương có thể giúp bạn tiết kiệm rất nhiều thời gian khi bạn thực hiện một chuỗi các thay đổi và không cam kết với VCS ở trạng thái trước đó. Để xem lịch sử địa phương, nhấp chuột phải vào tệp và chọn Lịch sử địa phương | Hiển thị lịch sử. Hiện tại cũng có một trường tìm kiếm bạn có thể sử dụng để giúp bạn tìm ra sự thay đổi mà bạn đang tìm kiếm.
To see the Local History, right-click on the file and select Local History | Show History.
There is also now a search field you can use to help you to find the change you are looking for.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Chạy các bài kiểm tra trước khi cam kết

Phpstorm đã có thể tự động thực hiện một loạt các hành động trước khi cam kết. Phpstorm 2021.2 Giới thiệu tùy chọn mới để chạy thử nghiệm. Nhấp vào biểu tượng bánh răng trong chế độ xem cam kết, chọn tùy chọn chạy thử và chọn cấu hình chạy cần thiết. Phpstorm sẽ chạy các bài kiểm tra và thông báo cho bạn nếu có gì sai.
PhpStorm 2021.2 introduces the new option to Run Tests.
Click the gear icon in the Commit view, select the Run Tests option, and choose the necessary run configuration. PhpStorm will run the tests and notify you if there is anything wrong.

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Bây giờ bạn cũng có thể tùy chỉnh mã phân tích và các tùy chọn dọn dẹp bằng cách nhấp vào Chọn hồ sơ bên cạnh chúng. Tiến trình và kết quả của kiểm tra trước cam kết được hiển thị trong khu vực cam kết, mà không làm phiền bạn bằng các cửa sổ phương thức bổ sung!

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Mã với tôi

Code with Me là một công cụ để lập trình cặp và mã hóa hợp tác, và nó đi kèm với phpstorm ra khỏi hộp. Trong bản phát hành này, nó đã nhận được rất nhiều tính năng và cập nhật mới đáng kinh ngạc.

Chia sẻ màn hình

Một trong những tính năng được chờ đợi nhất, chia sẻ màn hình, cuối cùng cũng ở đây. Mã với tôi 2021.2 Bây giờ cho phép người tham gia chia sẻ một cửa sổ ứng dụng từ màn hình máy tính của họ. Nó thậm chí không phải là phpstorm. Nó có thể là bất kỳ cửa sổ!

Hướng dẫn phpstorm array shapes - hình dạng mảng phpstorm

Phpstorm bao gồm hầu hết tất cả các tính năng của Datagrip, theo tiêu chuẩn. Kiểm tra những gì mới trong Datagrip 2021.2 để biết tổng quan về các tính năng mới mà chúng tôi đã thêm vào để làm việc với cơ sở dữ liệu.

Web

Như thường lệ, tất cả các bản cập nhật cho WebStorm 2021.2 cũng đã được kết hợp vào PhpStorm.


Danh sách đầy đủ các thay đổi trong Phpstorm 2021.2 có sẵn trong các ghi chú phát hành thực sự dài.release notes.

Đó là tất cả cho ngày hôm nay. Cảm ơn vì đã theo kịp những thay đổi! Chúng tôi hy vọng họ cải thiện trải nghiệm phpstorm của bạn.

  • Tải xuống PHPSTORM.
  • Tweet @ chúng tôi!
  • Báo cáo lỗi cho trình theo dõi vấn đề của chúng tôi.

Nhóm JetBrains của bạn Phpstorm Đội hình để phát triển
The Drive to Develop