2010-07-20 29 views
6

Tôi có một vấn đề thường gặp khi làm việc với mã trong IDE:Có một phím tắt để hoán đổi/sắp xếp lại các tham số trong IDE studio trực quan không?

string.Concat("foo", "bar"); 

và tôi cần phải thay đổi nó thành:

string.Concat("bar", "foo"); 

Thường thì tôi có một vài trong số này cần được trao đổi cùng một lúc . Tôi muốn tránh tất cả việc đánh máy. Có cách nào để tự động hóa điều này? Hoặc là một phím tắt hoặc một số loại macro sẽ là tuyệt vời nếu tôi biết bắt đầu từ đâu.

Chỉnh sửa: thay đổi để String.Concat để chứng minh rằng bạn có thể không phải lúc nào thay đổi phương pháp chữ ký. Tôi chỉ tìm cách thay đổi thứ tự của các tham số trong lời gọi phương thức và không có gì khác.

Trả lời

4

<Ctrl> + <Shift> + <t> sẽ chuyển đổi hai từ, vì vậy nó sẽ hoạt động trong trường hợp của bạn. Đáng tiếc là tôi không thấy làm việc này (không có nhiều máy ép) cho các chức năng với danh sách tham số lớn hơn ...

+0

này đến gần, nhưng tiếc là không làm việc cho dấu phẩy phân cách params. Tôi kết thúc với một cái gì đó tương tự ("foo" "bar") hoặc (, foo "" bar ") có lẽ nó chỉ có dấu ngoặc kép mà ném nó đi Nhưng nhờ cho câu trả lời –

+0

Đó sẽ là nó (có dấu ngoặc kép).. - trông giống như một lỗi VS cho tôi. – Oren

2

Có một lựa chọn xây dựng ngay vào VS cho C# mã. Đi đến định nghĩa phương thức, nhấn chuột phải vào tên của nó và nhấn Refactor, Reorder Parameters.

Nếu bạn cần điều này cho C++, bạn có thể cần phải sử dụng tìm kiếm biểu thức chính quy và thay thế — nếu bạn làm vậy, hãy xem các trường hợp như someMethod("bar", GetOtherThingy("foo", "rofltron")).

+1

này chỉ tái đơn đặt hàng một chữ ký, không phải là một lời gọi phương thức. –

+0

Sắp xếp lại Tham số thay đổi cả chữ ký và tất cả các cuộc gọi đến nó. Nếu những gì bạn thực sự muốn chỉ là thay đổi các cuộc gọi phương pháp và không phải là chữ ký (nó không phải siêu rõ ràng từ câu hỏi ban đầu của bạn), bạn vẫn có thể cấu trúc lại như bình thường, và sau đó nhanh chóng trở lại chữ ký phương pháp thực tế lại những gì nó đã trước khi rời khỏi tất cả các cuộc gọi bị đảo ngược. – Travis

+0

Giả định rằng tôi có khả năng thay đổi phương thức. Trong trường hợp của một hội đồng bên ngoài, tôi không thể. –

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