Подтвердить что ты не робот

У Eclipse есть способ сортировать по алфавиту строки в пределах текста?

Аналогично линиям сортировки M-x emacs

4b9b3361

Ответ 2

Да, это так! Существует очень простой плагин под названием SortIt, который делает именно то, что вы хотите. Он добавляет раздел в меню "Правка", с помощью которого вы можете сделать следующее:

  • Чувствительность к регистру
  • Нечувствительный к регистру
  • Обратный текст
  • Числовая сортировка
  • Сортировать длину

Плагин является агностиком исходного кода, и он обрабатывает все, что вы сортируете, как обычный текст. Я считаю это особенно полезным при сортировке файлов .properties и сеттеров/геттеров. Например, используя сортировку Case Sensitive, я отсортировал следующий код:

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());

... к этому:

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());

Ответ 3

Ужасно уродливый сайт, но AnyEdit делает сортировку:

  • С учетом регистра
  • Нечувствительность к регистру
  • Числовое
  • Назад
  • Вперед

Ответ 4

В Eclipse Kepler SR2 я вижу вариант под Source > Sort Members.. Оно работает. У меня также установлен AnyEdit.

Ответ 5

Попробуйте CTRL + ALT + S. Работает для меня с Кеплером.

Если он не работает, перейдите в Help- > Key Assist... и найдите "Sort Lines"

EDIT: похоже, работает только в редакторе C/С++, и, вероятно, он поставляется с CDT

Ответ 6

С луной вы можете сделать это с помощью "Source" → "Organize Imports"

Это работает для каждого типа строк, а не только для импорта.

Ответ 7

Если вы находитесь под Linux, просто используйте "cat file | sort". В Windows, как программист, вы должны, возможно, установить cygwin в любом случае.