2010-09-03 37 views

Trả lời

3

Hãy thử plugin này cho Eclipse:

http://marketplace.eclipse.org/content/emacs

Nếu một trên không thực hiện công việc, hãy thử một trong những đứa:

http://marketplace.eclipse.org/search/apachesolr_search/emacs

+0

buồn bã, tôi bị kẹt với Eclipse 3.5 bây giờ. Không có ứng dụng Marketplace (và do đó là plugin emacs) cho tôi. –

+1

Không. Bạn có thể sử dụng nó cho chắc chắn. Xem chi tiết bổ sung: nó hoạt động trong Phiên bản Eclipse: Ganymede hoặc mới hơn. Phiên bản Eclipse của bạn là Galileo - xem bảng này: http://en.wikipedia.org/wiki/Eclipse_%28software%29#Releases, nghĩa là, bạn có một phiên bản Eclipse mới hơn phiên bản của Ganymede, vì vậy bạn có thể sử dụng nó . –

+1

Theo dõi trang này: http://marketplace.eclipse.org/marketplace-client-intro –

37

Vâng, đúng vậy! Có một plugin rất đơn giản được gọi là SortIt thực hiện chính xác những gì bạn muốn. Nó cho biết thêm một phần trong menu Edit, thông qua đó bạn có thể làm như sau:

  • Trường hợp nhạy cảm
  • case insensitive
  • Xếp chữ
  • Numeric Sắp xếp
  • Chiều dài Sắp xếp

Plugin là mã nguồn bất khả tri, và nó xử lý mọi thứ bạn sắp xếp dưới dạng văn bản thuần túy. Tôi thấy nó đặc biệt hữu ích khi phân loại .properties tệp và bộ định tuyến/getters. Ví dụ, sử dụng các trường hợp phân loại nhạy cảm tôi sắp xếp đoạn mã sau:

msgHeader.setTotalGrossMass(content.getTotalGrossMass()); 
msgHeader.setReferenceNumber(content.getReferenceNumber()); 
msgHeader.setTransportModeAtBorder(content.getTransportModeAtBorder()); 
msgHeader.setCountryOfDestinationCode(content.getCountryOfDestinationCode()); 
msgHeader.setCountryOfDispatchExportCode(content.getCountryOfDispatch()); 
msgHeader.setDateOfAmendment(content.getDeclarationDate());      // TODO: correct? 
msgHeader.setIdentityOfMeansOfTransportCrossingBorder(content.getIdentityMeansOfTransportCrossingBorder()); 
msgHeader.setManualEntryNumber(content.getManualEntryNumber()); 
msgHeader.setTotalNumberOfPackages(content.getTotalNumberOfPackages()); 
msgHeader.setAgreedLocationOfGoodsCode(content.getAgreedLocationCode()); 
msgHeader.setAgreedLocationOfGoodsLNG(content.getAgreedLoclOfGoodsLNG()); 
msgHeader.setManualEntryYear(content.getManualEntryYear()); 
msgHeader.setAgreedLocationOfGoods(content.getAgreedLocationCode()); 
msgHeader.setMethodOfPayment(content.getMethodOfPayment()); 
msgHeader.setNationalityOfMeansOfTransportCrossingBorder(content.getNationalityMeansOfTransportCrossingBorder()); 
msgHeader.setAmendmentPlace(content.getDeclarationPlace());      // TODO: correct? 
msgHeader.setAmendmentPlaceLNG(content.getDeclarationPlaceLNG());    // TODO: correct? 
msgHeader.setTotalNumberOfItems(content.getTotalNumberOfItems()); 
msgHeader.setAcceptanceDate(content.getAcceptanceDate()); 

... như thế này:

msgHeader.setAcceptanceDate(content.getAcceptanceDate()); 
msgHeader.setAgreedLocationOfGoods(content.getAgreedLocationCode()); 
msgHeader.setAgreedLocationOfGoodsCode(content.getAgreedLocationCode()); 
msgHeader.setAgreedLocationOfGoodsLNG(content.getAgreedLoclOfGoodsLNG()); 
msgHeader.setAmendmentPlace(content.getDeclarationPlace());      // TODO: correct? 
msgHeader.setAmendmentPlaceLNG(content.getDeclarationPlaceLNG());    // TODO: correct? 
msgHeader.setCountryOfDestinationCode(content.getCountryOfDestinationCode()); 
msgHeader.setCountryOfDispatchExportCode(content.getCountryOfDispatch()); 
msgHeader.setDateOfAmendment(content.getDeclarationDate());      // TODO: correct? 
msgHeader.setIdentityOfMeansOfTransportCrossingBorder(content.getIdentityMeansOfTransportCrossingBorder()); 
msgHeader.setManualEntryNumber(content.getManualEntryNumber()); 
msgHeader.setManualEntryYear(content.getManualEntryYear()); 
msgHeader.setMethodOfPayment(content.getMethodOfPayment()); 
msgHeader.setNationalityOfMeansOfTransportCrossingBorder(content.getNationalityMeansOfTransportCrossingBorder()); 
msgHeader.setReferenceNumber(content.getReferenceNumber()); 
msgHeader.setTotalGrossMass(content.getTotalGrossMass()); 
msgHeader.setTotalNumberOfItems(content.getTotalNumberOfItems()); 
msgHeader.setTotalNumberOfPackages(content.getTotalNumberOfPackages()); 
msgHeader.setTransportModeAtBorder(content.getTransportModeAtBorder()); 
+0

Hrm, tôi gặp lỗi: 'Thao tác không được bật' khi tôi cố gắng sử dụng nó. – mlissner

+0

Hmm, tôi không gặp vấn đề gì với Helios. Tại sao bạn không liên hệ với người bảo trì, trong trường hợp đây là sự không tương thích? –

+4

+1. btw Sau khi thêm site cập nhật cho SortIt trong Eclipse, sẽ có HAI tùy chọn để chọn: "State of Flow" và "Uncategorized". Để tránh lỗi cài đặt, hãy chọn ** "State of Flow" **. – informatik01

10

website khủng khiếp xấu xí, nhưng AnyEdit không sắp xếp:

  • Trường hợp nhạy cảm
  • Không phân biệt chữ hoa chữ thường
  • Numerical
  • Backward
  • Forward
+0

Cảm ơn rất nhiều! :) Plugin này nên được triển khai trong một trong các bản phát hành Eclipse tiếp theo! : D –

0

Hãy thử CTRL +ALT +S. Làm việc cho tôi với Kepler.

Nếu nó không hoạt động, goto Help-> Key Assist ... và tìm kiếm "Sắp xếp Lines"

EDIT: dường như chỉ làm việc trong thư mục C/C++ Editor và do đó có thể đi kèm với CDT

+2

STRG ???? – whiskeyspider

+0

Cũng tò mò muốn biết các hoạt động bên trong của bộ sửa đổi STRG ... – psp

+2

'CTRL' là' STRG' trên bàn phím tiếng Đức. Nhưng 'CTRL' +' ALT' + 'S' không hoạt động đối với tôi trên Kepler SR2. – tsauerwein

1

với luna bạn có thể làm điều này bằng cách "Nguồn" -> "Organize Imports"

này làm việc cho tất cả các loại dây chuyền, không chỉ nhập khẩu.

+0

Điều này hoàn toàn làm việc, cảm ơn. – Epu

+0

Cung cấp ví dụ về cách thức hoạt động của các đường không nhập, vui lòng –

+0

Chọn các dòng bạn muốn được sắp xếp và kích hoạt hành động "Sắp xếp nhập". –

1

Trong Eclipse Kepler SR2 Tôi có thể thấy một tùy chọn dưới Source > Sort Members.. Nó hoạt động. Tôi cũng đã cài đặt AnyEdit.

0

Nếu bạn đang sử dụng Linux, chỉ cần sử dụng "tệp cat | sắp xếp". Trong Windows, là một lập trình viên, có lẽ bạn nên cài đặt Cygwin.

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