2013-10-18 25 views
6

Tôi đang sử dụng PyCharm để viết một số mã python và nhận thấy rằng tôi chạy vào vấn đề sau đây khá thường xuyên:Dừng PyCharm từ ghi đè Mã ở phía trước con trỏ của tôi

tôi viết một dòng mã như thế này

for item in myList: 

Sau đó, tôi nhận ra rằng tôi muốn các chỉ số của item là tốt, vì vậy tôi cố gắng để biến dòng đó vào đây:

for i,item in enumerate(myList): 

để xoay li đầu tiên ne vào giây, tôi đặt con trỏ sang bên trái của item và nhập i,. Sau đó, tôi đặt con trỏ sang bên trái của myList và nhập enu; vào thời điểm này, trình hoàn tất mã gợi ý rằng tôi có thể muốn nhập enumerate, đó chính là hành vi mà tôi theo sau. Khi tôi nhấn tab để thực hiện các đề nghị enumerate, tôi nhận thấy rằng dòng của tôi biến thành

for i,item in enumerate: 

Các myList đã được ghi đè!
Các hành vi mà tôi mong đợi là thế này:

for i,item in enumerate(myList): 

với con trỏ ngay lập tức ở bên phải của một trong hai myList hoặc :.

Có cách nào để tôi có thể khiến Pycharm cư xử theo mong đợi của tôi không?

Chỉ trong trường hợp vấn đề, môi trường dev của tôi là Mac OSX 10.7.5 (Lion)

Trả lời

6

Hành vi này là do thiết kế khi bạn hoàn thành sử dụng Tab. Vui lòng sử dụng Nhập thay vì Tab để chèn biến thể hoàn thành thay vì ghi đè.

thiết lập hoàn Mã thoại cũng có một tùy chọn để chèn biến thể bằng cách gõ dấu chấm, không gian vv

+0

Điều này! Ghi đè đã khiến tôi phát điên. Cảm ơn. – emh

+2

Có cách nào tôi có thể trao đổi những hành vi này không? – canyon289

1

Đây là hành vi mặc định trong PyCharm, nếu bạn nhấn TAB khi được kết nối với một từ khác như vậy en|myList, sau đó myList sẽ bị xóa.

Những gì bạn có thể làm được điều này, kích đúp vào myList, nhấn CRTL + ALT +T, nhấn ENTER , và sau đó nhấn < -. Sau đó, chỉ cần nhập enumerate.

Nếu bạn làm điều này thường xuyên, thì bạn chỉ có thể tạo một mẫu trực tiếp bao quanh.

+0

Ý tưởng về 'một mẫu sống xung quanh' rất hấp dẫn đối với tôi. Làm thế nào tôi có thể đi về làm cho một mẫu sống như vậy để ghi đè lên hành vi mặc định [TAB]?Ngoài ra, tôi đang ở trên một mac (câu hỏi được cập nhật), và 'CTRL + ALT + T' không hoạt động (cũng không phải 'CMD + ALT + T'). Phím tắt tương tự của Mac sẽ là gì? – inspectorG4dget

+0

@ inspectorG4dget https://www.jetbrains.com/pycharm/webhelp/creating-code-constructs-using-surround-templates.html –

+0

@ inspectorG4dget Nếu bạn gặp phải bất kỳ sự cố nào, hãy mời tôi đến phòng trò chuyện hoặc điều gì đó, và chúng ta có thể phân loại nó ra. –

Các vấn đề liên quan