mã studio trực quan vô hiệu hóa dòng dài tự động quấn


80

Tôi sử dụng mã vs để viết python bằng pylint. Khi tôi nhấn ctrl+ S(lưu), trình chỉnh sửa sẽ quấn một dòng dài thành nhiều dòng ngắn. Làm cách nào để tắt tác vụ hoặc định cấu hình số cột bọc thành 120 (mặc định là 80)? Tôi đã thử "python.linting.pylintArgs": ["--max-line-length=120"]"editor.wordWrapColumn": 120nhưng không hiệu quả.


Bạn đã bật định dạng tự động chưa? Bản thân VS Code sẽ không định dạng lại bất cứ thứ gì, vì vậy editor.wordWrapColumnsẽ không ảnh hưởng đến điều đó - cùng với editor.wordWrap- chỉ ảnh hưởng đến cách hiển thị các dòng dài chứ không phải viết lại chúng.
Brett Cannon

Câu trả lời:


183

Kiểm tra nhà cung cấp định dạng Python của bạn.

"python.formatting.provider": "autopep8"

Tôi đoán trong trường hợp của bạn nó không phải là pylint người tiếp tục quấn các đường dài, nhưng autopep8thiết lập .Try --max-line-lengthcho autopep8thay thế.

"python.formatting.autopep8Args": [
    "--max-line-length=200"
]

9
Nó cũng hữu ích nếu linter hoạt động tương tự với định dạng: "python.linting.pep8Args": ["--max-line-length = 120"]
Lian

1
Để biết thông tin về các đối số có sẵn khác, hãy xem pypi.org/project/autopep8
Jerren Saunders

1
TLDR: PEP8 chỉ ra rằng giới hạn gói dòng lý tưởng cho Python là 80, vì vậy đây là mặc định cho autopep8.
Eureka

7
với điểm thuần túy & nhấp chuột đạt được điều này với: "Mã -> Tùy chọn -> Cài đặt". Sau đó chọn "Phần mở rộng -> Python". Duyệt qua "Định dạng: Autopep8 Args" và "Thêm mục", trong hộp được đề xuất, thêm "--max-line-length = 200"
loic.jaouen

1
"--ignore=E501"để hoàn toàn bỏ qua độ dài dòng tối đa.
Jeppe

2

Khi sử dụng đối số tùy chỉnh, mỗi phần tử cấp cao nhất của chuỗi đối số được phân tách bằng dấu cách trên dòng lệnh phải là một mục riêng biệt trong danh sách args. Ví dụ:

"python.formatting.autopep8Args": ["--max-line-length", "120", "--experimental"], "python.formatting.yapfArgs": ["--style", "{based_on_style: chromium , indent_width: 20} "]," python.formatting.blackArgs ": [" --line-length "," 100 "]

Để định dạng đúng các cài đặt Python này, bạn có thể kiểm tra cài đặt dành riêng cho Định dạng tại đây: https://code.visualstudio.com/docs/python/editing#_formatterspecific-settings

Cũng kiểm tra câu trả lời tại đây: https://stackoverflow.com/a/54031007/1130803


0

Autopep8 yêu cầu --aggressiveđể đề xuất các thay đổi không có khoảng trắng:

"python.linting.pylintArgs": ["--max-line-length", "120", "--aggressive"]

Điều này sẽ gói gọn các đường dài cho bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.