Kể từ phiên bản 3.5, Python hiện có hỗ trợ cho các gợi ý loại. Việc đánh máy này là một tính năng mới thú vị cho phép kiểm tra loại mã của bạn để có chất lượng hơn và cũng giúp đỡ khi bạn đang sử dụng một số gói hoặc gọi một số chức năng mà đồng nghiệp của bạn đã làm trong một cơ sở mã lớn. Trong bài viết này, chúng ta sẽ thấy cách kích hoạt phân tích IntelliSense và gõ kiểm tra trong Trình chỉnh sửa mã Visual Studio.
Trước hết, bạn cần cài đặt Microsoft Extension Pylance. Phần mở rộng này cung cấp một tập hợp các tính năng hữu ích được cung cấp với pyright, công cụ kiểm tra loại tĩnh Microsoft.
Với phần mở rộng được cài đặt và bật, giờ đây bạn sẽ có Intellisense tốt hơn với thông tin gõ khi bạn gọi một số chức năng gói chẳng hạn. Đối với phân tích kiểm tra loại, nó không được bật theo mặc định, bạn cần phải tự định cấu hình.
Trong tệp settings.json
của bạn, hãy thêm một dòng mới với cài đặt sau:
{
"python.analysis.typeCheckingMode": "basic"
}
Giá trị mặc định cho dòng này là off
có nghĩa là phân tích tĩnh bị vô hiệu hóa. Bạn có hai giá trị có thể khác là:
basic
: Quy tắc kiểm tra loại cơ bảnstrict
: Tất cả các quy tắc kiểm tra loại ở mức độ nghiêm trọng của lỗi cao nhất
Nếu bạn kiểm tra trên mã bên dưới, bạn sẽ gặp lỗi loại trong VSCODE ngay bây giờ
# Wrong type between expected return type and the value type really returned by this function
def wrong_return_type[] -> str:
return False
19
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi đang sử dụng các gợi ý loại trong mã Python 3 của mình. Có vẻ như mã vs không thể phân tích các gợi ý loại một cách chính xác, bởi vì việc làm nổi bật cú pháp bị rối tung [DocStrings không được tô sáng chính xác, nhận xét không được nhận ra nữa].
Tôi có tất cả các tiện ích mở rộng cần thiết được cài đặt [Python
và MagicPython
cộng với Python for VSCode
]. Có điều gì khác tôi nhớ không?
Aran-Fey
36.7k11 Huy hiệu vàng96 Huy hiệu bạc141 Huy hiệu đồng11 gold badges96 silver badges141 bronze badges
Đã hỏi ngày 3 tháng 9 năm 2018 lúc 20:40Sep 3, 2018 at 20:40
1
Giải pháp của Brett được đề cập trong một bình luận ở trên đã làm việc cho tôi:
Bạn có thể có quá nhiều tiện ích mở rộng được cài đặt. ;] Có
Python
vàPython for VSCode
có thể can thiệp vào nhau.
Khi tôi gỡ bỏ Python for VSCode
, cú pháp làm nổi bật bắt đầu hoạt động chính xác.
2
Tôi cũng có vấn đề này ... Tôi đã thay đổi linter của mình thành Mypy và điều đó dường như sửa nó.mypy and that seemed to fix it.
Đã trả lời ngày 8 tháng 10 năm 2019 lúc 20:44Oct 8, 2019 at 20:44
idryeridryeridryer
1093 huy hiệu đồng3 bronze badges
1
Cung cấp loại gợi ý tự động hoàn thành cho Python, với các mục hoàn thành cho các loại tích hợp, lớp và mô-đun gõ.
Đặc trưng
Cung cấp các mục hoàn thành gợi ý loại cho các loại tích hợp, các loại ước tính và mô-đun gõ.
Ước tính loại chính xác để cung cấp dưới dạng mục hoàn thành.
Có thể tìm kiếm các tệp Python trong không gian làm việc cho mục đích ước tính loại.
Cài đặt
không gian làm việc.Searchenables | [Boolean] Nếu được bật, các tệp khác trong không gian làm việc được tìm kiếm khi ước tính các loại cho một tham số. Vô hiệu hóa điều này sẽ tăng hiệu suất, nhưng có thể làm giảm độ chính xác ước tính. | thật |
không gian làm việc.SearchLimit | [Số] Số lượng tệp tối đa được tìm kiếm trong tìm kiếm không gian làm việc. Không có tác dụng nếu tìm kiếm không gian làm việc bị vô hiệu hóa. | 10 |
Các vấn đề đã biết
Nếu tìm kiếm không gian làm việc được bật, sự kiện VSCode [OnDidopen] sẽ được kích hoạt khi tìm kiếm tệp. Điều này gây ra các tiện ích mở rộng khác đang lắng nghe sự kiện để phân tích cùng một tệp, có thể thêm các vấn đề của các tệp đó vào cửa sổ các vấn đề. Cách duy nhất để ngăn chặn điều này, bây giờ, bằng cách vô hiệu hóa cài đặt tìm kiếm không gian làm việc.
Sự khác biệt giữa các lệnh gọi hàm và hàm lớp khi phát hiện các loại được xác định bằng chữ cái đầu tiên là trường hợp trên [trừ khi lớp hoặc hàm được xác định trong tài liệu hiện được chỉnh sửa].
Cài đặt
Phần mở rộng có thể tìm thấy trên thị trường Visual Studio.