Hướng dẫn visual studio code python type hints - gợi ý loại mã python trực quan

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ản
  • strict: 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 (PythonMagicPython cộng với Python for VSCode). Có điều gì khác tôi nhớ không?

Hướng dẫn visual studio code python type hints - gợi ý loại mã python trực quan

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ó PythonPython 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

Hướng dẫn visual studio code python type hints - gợi ý loại mã python trực quan

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õ.

Hướng dẫn visual studio code python type hints - gợi ý loại mã python trực quan

Đặ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

TênSự mô tảMặc định
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.


Làm cách nào để kích hoạt các đề xuất Python trong Visual Studio Code?

Trên mã vs của bạn, hãy sử dụng lệnh ctr + shift + p sau đó tìm kiếm python: chọn lint và chọn công cụ Linting ưa thích của bạn ...
Bảng lệnh mở (Ctrl + Shift + P) ..
Loại "Python: Build Workspace Biểu tượng" và nhấn Enter ..

Làm thế nào để bạn gõ gợi ý trong Python?

Dưới đây là cách bạn có thể thêm gợi ý loại vào chức năng của chúng tôi: Thêm dấu hai chấm và kiểu dữ liệu sau mỗi tham số chức năng.Thêm một mũi tên ( ->) và kiểu dữ liệu sau hàm để chỉ định kiểu dữ liệu trả về.Add a colon and a data type after each function parameter. Add an arrow ( -> ) and a data type after the function to specify the return data type.

Làm cách nào để kích hoạt gợi ý trong Visual Studio Code?

Bạn có thể kích hoạt Intellisense trong bất kỳ cửa sổ trình soạn thảo nào bằng cách nhập không gian Ctrl+hoặc bằng cách nhập ký tự kích hoạt (chẳng hạn như ký tự dấu chấm (.) Trong JavaScript).typing Ctrl+Space or by typing a trigger character (such as the dot character (.) in JavaScript).

Tôi có nên sử dụng gợi ý loại Python không?

Trong bài viết xuất sắc của mình, trạng thái của các gợi ý loại trong Python, Bernátbor đề nghị rằng nên sử dụng gợi ý loại của loại bất cứ khi nào các bài kiểm tra đơn vị đáng để viết.Thật vậy, gõ gợi ý đóng một vai trò tương tự như các bài kiểm tra trong mã của bạn: chúng giúp bạn như một nhà phát triển viết mã tốt hơn.type hints should be used whenever unit tests are worth writing.” Indeed, type hints play a similar role as tests in your code: they help you as a developer write better code.