Проверка орфографии в Eclipse

Владимир | | Eclipse, Разное.

eclipse spelling

То, что проверка орфографии очень удобная вещь вряд ли нужно объяснять. Есть конечно люди, которые не обращают на неё внимание, но это чаще всего из-за экономии времени и отсутствия удобных средств проверки.

Действительно, удобная автоматическая проверка орфографии есть в офисных пакетах, но мне сложно представить разработчика, который будет переносить комментарии в Word и обратно 😉

Поэтому очень удобно иметь проверку правописания прямо в IDE. И Eclipse в этом смысле полностью соответствует ожиданиям.

Долго объяснять, что к чему нет смысла. Проверка орфографии встроена в Eclipse и если вы пишите только на английском, то может быть не захотите ничего менять.

Кроме того, есть статья Aaron'а (на англ.) в которой автор рассказывает о подключении дополнительных словарей и плагине eSpell.

Но русских словарей в дистрибутиве нет, а при подключении внешних есть нюансы.

Поэтому мы максимально подробно рассмотрим создание и добавление русских словарей.

Первый вопрос. В каком виде должны быть словари и где их взять?

Тут всё просто. Формат словаря – обычный текстовый файл, в котором каждое слово начинается с новой строки. И нам вполне подойдут свободно распространяемые словари aSpell.

Примечание. Наверное, можно использовать словари MS Office или Lingvo, но я сильно сомневаюсь, что их лицензия это позволяет 😉

Установка состоит из пяти шагов и занимает от силы минут 10.

1) Качаем aSpell и словари для всех необходимых языков.

2) Устанавливаем их. Сначала aSpell, а затем отдельно каждый словарь.

3) Создаем словари для eclipse. Для этого нужно просто сделать дамп словарей aSpell.

Открываем консоль и переходим в папку
C:\Program Files\Aspell\bin
(в которую вы установили aSpell) и выполняем две команды

aspell dump master en > c:\eclipse\en.dictionary

aspell dump master ru > c:\eclipse\ru.dictionary

(c:\eclipse\ — папка в которую установлен Eclipse).

И вот тут возникает проблема с русским языком, а точнее с кодировкой словаря.

Дело в том, что дамп создаётся в кодировке KOI8-R, а в Eclipse у меня стоит UTF-8 (по-умолчанию Win-1251). Естественно при этом все слова подчеркиваются красной линией. Поэтому кодировку файла нужно изменить.

Для этой цели я использовал программку Simple Text Encoding Converter 1.0

eclipse spelling 1

Рис.1.

Пользоваться ей не сложно, достаточно указать кодировки и название файла со словарем.

4) Если необходимо, объединяем дампы словарей. Т.к. это простые списки слов, то мы можем просто использовать команду copy

c:\eclipse>copy en.dictionary + ru.dictionary ru-en.dictionary

В принципе объединенный словарь можно не создавать. В eclipse можно одновременно использовать один из встроенных словарей (английский) и пользовательский (русский). Но вполне возможно, что английский словарь aSpell лучше, чем встроенный в Eclipse, я не проверял.

Обратите внимание! Объединенный словарь должен иметь кодировку UTF-8.

5) Настраиваем проверку правописания в Eclipse.
Открываем меню Window -> Preferences... И выбираем раздел General -> Editors -> Text Editors -> Spelling.
После этого добавляем словарь (поле User defined dictionary).

eclipse spelling 2 thumb

Рис.2.

Если вы хотите отключить встроенный словарь, укажите для поля Platform dictionary значение none.

В результате eclipse будет автоматически проверять текст в комментариях, и подчеркивать красным отсутствующие в словаре слова.

Использование плагина eSpell

С установкой и настройкой все как обычно.

1) Качаем архив

и распаковываем в какую-нибудь папку

2) Устанавливаем плагин в eclipse (как локальный сайт)

eclipse spelling 3

Рис.3.

3) После этого в настройках (Window -> Preferences) появляется новый пункт (Spelling).

eclipse spelling 4 thumb

Рис.4.

И, судя по этим настройкам, функциональность плагина значительно превышает стандартные возможности Eclipse.

Но, не смотря на восторженные отзывы Aaron’а, у меня этот плагин работал черте как.

То текст не проверяются вообще, то в комментариях подчеркиваются красным все слова кроме первого. Не понятно, почему плагин начинал проверять методы классов.

В общем, не знаю, может на него так Aptana влияет или какой-то другой плагин, но я решил, что лучшее враг хорошего и снёс его 🙂 .

В любом случае возможностей встроенной проверки мне вполне достаточно.

До встречи!

  • Да, без проверки орфографии бывает стыдно за то что уже написал, а исправить не можешь. Спасибо за подсказку.

  • Да, без проверки орфографии бывает стыдно за то что уже написал, а исправить не можешь. Спасибо за подсказку.

  • Стыдно ни то слово. Когда вдруг из-заспешки потом обнаруживаешь кучу ошибок

  • Стыдно ни то слово. Когда вдруг из-заспешки потом обнаруживаешь кучу ошибок

  • Я обычно проверяю орфографию и синтаксис обычными способами. Например, с помощью Майкрософт Ворд

    • Т.е. каждых комментарий из исходников копируете в Word и обратно?

      • Все зависит от длины комментария. Я имел ввиду большие куски текста

        • Ясно.
          Но все равно, зачем терять время, если можно его не терять 😉

  • Я обычно проверяю орфографию и синтаксис обычными способами. Например, с помощью Майкрософт Ворд

    • Т.е. каждых комментарий из исходников копируете в Word и обратно?

      • Все зависит от длины комментария. Я имел ввиду большие куски текста

        • Ясно.
          Но все равно, зачем терять время, если можно его не терять 😉

  • nek

    Граждане, а как называется сам стандартный модуль проверки орфограффии?
    У меня установлен PDT, и там из коробки его не стоит

    • Странно, я никаких дополнительных плагинов для орфографии не устанавливал. Ставил одну из последних версий PDT на него — Aptana.
      В общем списке плагинов (там их штук 100, наверное) ничего похожего, хотя некоторые названия такие общие…

  • nek

    Граждане, а как называется сам стандартный модуль проверки орфограффии?
    У меня установлен PDT, и там из коробки его не стоит

    • Странно, я никаких дополнительных плагинов для орфографии не устанавливал. Ставил одну из последних версий PDT на него — Aptana.
      В общем списке плагинов (там их штук 100, наверное) ничего похожего, хотя некоторые названия такие общие…

  • Еще бы инструкцию для Linux машин написать )

    • Я под Linux устанавливать не пробовал. Но версия aspell для linux есть (может быть будут какие-нибудь особенности при установке в зависимости от дистрибутива), команда, которая создаёт дамп словаря должна остаться той же самой. И настройки внутри eclipse теже.

  • Еще бы инструкцию для Linux машин написать )

    • Я под Linux устанавливать не пробовал. Но версия aspell для linux есть (может быть будут какие-нибудь особенности при установке в зависимости от дистрибутива), команда, которая создаёт дамп словаря должна остаться той же самой. И настройки внутри eclipse теже.

  • Death

    Здравствуйте.
    Я как посмотрел что там за слова есть в Aspell-ru-0.50-2-3 и стало не радостно.


    полеживавши
    вятичскую

    и очень много еще всякой разной бредятины.

    • Aspell бесплатный словарь, со всеми вытекающими отсюда достоинствами и недостатками 🙂
      В принципе, можно использовать любой словарь, главное сделать его дамп в текстовый файл.

      • Death

        Это точно. Там 40% свлов негодно. Скажите пожалуйста, из каких форматов можно нормально изъять слова? Скажем, из oxt или dsl можно сделать дамп?

        Большое спасибо за интересную статью!

        • В теории можно сделать из чего угодно. Я выбирал aspell, т.к. в нём есть встроенная утилита для этих целей — это самый удобный вариант. В остальных случаях придётся парсить или раскодировать файл — не самое весёлое занятие, если, конечно, не удастся найти готовый скрипт или программку, но я таких не знаю.

          Кроме того, есть ещё вопрос авторских прав 😉

  • Death

    Здравствуйте.
    Я как посмотрел что там за слова есть в Aspell-ru-0.50-2-3 и стало не радостно.


    полеживавши
    вятичскую

    и очень много еще всякой разной бредятины.

    • Aspell бесплатный словарь, со всеми вытекающими отсюда достоинствами и недостатками 🙂
      В принципе, можно использовать любой словарь, главное сделать его дамп в текстовый файл.

      • Death

        Это точно. Там 40% свлов негодно. Скажите пожалуйста, из каких форматов можно нормально изъять слова? Скажем, из oxt или dsl можно сделать дамп?

        Большое спасибо за интересную статью!

        • В теории можно сделать из чего угодно. Я выбирал aspell, т.к. в нём есть встроенная утилита для этих целей — это самый удобный вариант. В остальных случаях придётся парсить или раскодировать файл — не самое весёлое занятие, если, конечно, не удастся найти готовый скрипт или программку, но я таких не знаю.

          Кроме того, есть ещё вопрос авторских прав 😉

  • Death

    Ладно, чтонить придумаю…
    Спасибо большое Владимир, за ответы и за статью!

  • Death

    Ладно, чтонить придумаю…
    Спасибо большое Владимир, за ответы и за статью!

  • Vlass

    Ну под Linux в многих словах остаются символы для разных окончаний (типа чужеродный/AS и т.д.), и слова соответственно в словаре не все содержаться. Странно, что по Windows всё и так работает. Если в системе под Linux установлены соответствующие словари полная команда для генерации файла для слов будет выглядеть так:

    aspell -l uk dump master|aspell -l uk expand| tr ' ' 'n'

    для русского словаря uk нада заменить на ru. Где:
    aspell -l uk dump master — тоже самое, что и aspell dump master uk
    aspell -l uk expand — заменяет одну строчку на «чужеродный/AS» строчку всех вариантов слова разделённых через пробел
    tr ' ' 'n' — заменяет все пробелы на переносы слов.

    Так, для украинского словаря был сформирован файл аж на 23 Мб, но с эклисом отлично работает.

    проверить какие словари установлены в системе можно командой:
    aspell dump dicts

  • Vlass

    Ну под Linux в многих словах остаются символы для разных окончаний (типа чужеродный/AS и т.д.), и слова соответственно в словаре не все содержаться. Странно, что по Windows всё и так работает. Если в системе под Linux установлены соответствующие словари полная команда для генерации файла для слов будет выглядеть так:

    aspell -l uk dump master|aspell -l uk expand| tr ' ' '\n'

    для русского словаря uk нада заменить на ru. Где:
    aspell -l uk dump master — тоже самое, что и aspell dump master uk
    aspell -l uk expand — заменяет одну строчку на «чужеродный/AS» строчку всех вариантов слова разделённых через пробел
    tr ' ' '\n' — заменяет все пробелы на переносы слов.

    Так, для украинского словаря был сформирован файл аж на 23 Мб, но с эклисом отлично работает.

    проверить какие словари установлены в системе можно командой:
    aspell dump dicts

  • Vlass

    P.S. Естественно в системе Linux должен быть установлен aspell и соответствующие словари.

    • Спасибо за полезную информацию!

      Я думаю, команда dump в win версии aspell работает иначе, чем в linux, поэтому и нет проблем с окончаниями.

  • Vlass

    P.S. Естественно в системе Linux должен быть установлен aspell и соответствующие словари.

    • Спасибо за полезную информацию!

      Я думаю, команда dump в win версии aspell работает иначе, чем в linux, поэтому и нет проблем с окончаниями.

  • aleksey8118

    Большое спасибо за статью! Многие интересующие меня вопросы автор четко осветил с разных сторон. Надеюсь, что эта статья поможет мне избежать ошибок! Спасибо

  • Николай

    Для эклипса разработан плагин Hunspell4Eclipse http://code.google.com/p/hunspell4eclipse/

    Этот плагин поддерживает словари Hunspell/Myspell. В частности, можно использовать словари из поставки Open Office. Позволяет проверять тексты, в которых вперемешку идут русские и английские слова.

    Работает на четыре с плюсом. Основной минус — запаздывает с проверкой, поэтому время от времени нужно возвращаться к написанному тексту в поисках подчеркнутых слов.

    • Интересно, попробую. А «подтормаживание» при работе появляется и при использовании встроенной проверки, если установить большие словари.

  • а чего результирующие файлики не выложили ? лицензия ?

    • Какие файлики? По-моему я все ссылки в статье привел. Словари лучше качать с оф. сайта, т.к. они обновляются.