2016-04-15 23 views
7

Trong Pycharm, lịch sử giao diện điều khiển có các mục từ mới nhất (trên cùng) đến cũ nhất (dưới cùng). Đó là tốt trong một cách, nhưng nó là khủng khiếp cho sao chép dán một số dòng mã từ lịch sử. Điều gì xảy ra là bạn nhận được dòng mã của bạn lộn ngược khi sao chép từ lịch sử. Về cơ bản, bạn phải sao chép + dán một dòng tại một thời điểm, với chi phí mở lịch sử và cuộn đến dòng mong muốn mỗi lần.Làm thế nào để đảo ngược thứ tự lịch sử giao diện điều khiển trong pycharm để dán bản sao?

Nó không quan trọng nếu bạn Ctrl chọn dòng của bạn theo thứ tự bạn muốn chúng được nhập lại. Cửa sổ bật lên lịch sử bảng điều khiển sẽ sắp xếp chúng theo thứ tự được hiển thị (tức là, mới nhất ở trên cùng, cũ nhất ở phía dưới).

Ví dụ: Giả sử bạn chạy hai dòng sau trên console

import pandas as pd 
df = pd.read_csv('path_to_file') 

Khi bạn nhìn nó lên trên lịch sử, đây là những gì bạn sẽ thấy:

1 df = pd.read_csv('path_to_file') 
2 import pandas as pd 

Vì vậy, nếu bạn chọn hai dòng đó để dán nó vào bảng điều khiển hoặc trong tập lệnh của bạn, chúng sẽ theo thứ tự không đúng, phá vỡ luồng mã.

Tôi đã tìm kiếm một cách: (1) đảo ngược cách lịch sử bảng điều khiển được hiển thị (tức là, cũ nhất (trên cùng) đến mới nhất (dưới cùng)). (2) duy trì trật tự (nghĩa là bỏ qua vị trí trên lịch sử, thứ tự bằng Ctrl + click, để trong ví dụ trên tôi có thể chọn dòng # 2 đầu tiên, dòng # 1 giây và thứ tự này sẽ được giữ để dán).

Ứng dụng:

a) Chạy lại các lát mã đã nhập trước đó trong bảng điều khiển;

b) sao chép từ lịch sử bảng điều khiển sang tệp tập lệnh.

Xin cảm ơn trước. Chúc mừng!

+0

báo cáo lỗi liên quan trên Pycharm của Trình theo dõi lỗi: https://youtrack.jetbrains.com/issue/PY-23114 – AXO

Trả lời

1

chỉ cần viết một mã ngắn để đảo ngược nó:

#triple string quotes over multiple lines 
code= """ 
df = pd.read_csv('path_to_file') 
import pandas as pd 
""" #end of multiline quote 

split_by_line = code.split("\n") 

split_by_line.reverse() 

print("\n".join(split_by_line)) 

lưu ý: Tôi chưa bao giờ làm việc với pycharm nên maay này không hoạt động đúng cho các khối (if, for vv)

+0

Mặc dù nó giúp, nhưng nó không giải quyết được vấn đề hoàn toàn vì nó chỉ hoạt động nếu bạn muốn giữ nguyên thứ tự nghịch đảo chính xác. Nếu một người muốn trao đổi thứ tự của một vài dòng, điều đó phải được thực hiện sau đó. Nhưng nó chắc chắn là tốt hơn so với những gì tôi bắt đầu với. Giả sử tôi muốn các dòng 1, 5, 10 và 15, nhưng được viết theo thứ tự 15, 10, 1 và 5. Ví dụ này là tối giản nhưng tôi có loại tình huống này (với số dòng lớn hơn và một vài –

+0

Một ví dụ khác về nơi nó sẽ bị hỏng: Nếu bạn đã nhập trên bàn điều khiển một lệnh nhiều dòng, hãy nói dict với các mục theo dòng: 'd = {k0: v0, \ n ' k1 : v1 \ n' 'k2: v2}' với anwser của bạn, điều này cũng sẽ bị đảo ngược, khi đóng '}' xuất hiện trước khi mở dict 'd = {k0: v0,' Tôi đang đưa ra một +1 vì nó giúp, nhưng tôi vẫn chưa chấp nhận câu trả lời ce nó không giải quyết nó cho mỗi se. Tuy nhiên, cảm ơn rất nhiều !!! –

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