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

30 июля, 2009
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 влияет или какой-то другой плагин, но я решил, что лучшее враг хорошего и снёс его :) .

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

До встречи!

Понравилась статья? Подписывайтесь на продолжение rss link !

Или на мой твиттер twitter link

]]>

Добавьте эту страницу в google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

]]>

Опубликовано в Eclipse, Разное Комментарии (39) »

]]>

Вы можете оставить комментарий. Трекбеки закрыты.

  • http://autobester.com/ stopydovo

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

  • http://autobester.com stopydovo

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

  • http://bidia.ru/ Alexey

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

  • http://bidia.ru Alexey

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

  • http://www.eurica.com.ua/ kazot

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

    • http://www.simplecoding.org/ Владимир

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

      • http://www.eurica.com.ua/ kazot

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

        • http://www.simplecoding.org/ Владимир

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

  • http://www.eurica.com.ua/ kazot

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

    • http://www.simplecoding.org/ Владимир

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

      • http://www.eurica.com.ua/ kazot

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

        • http://www.simplecoding.org/ Владимир

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

  • nek

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

    • http://www.simplecoding.org/ Владимир

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

  • nek

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

    • http://www.simplecoding.org/ Владимир

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

  • http://djangoproject.su/forum/5/ Валька

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

    • http://www.simplecoding.org/ Владимир

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

  • http://djangoproject.su/forum/5/ Валька

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

    • http://www.simplecoding.org/ Владимир

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

  • Death

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


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

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

    • http://www.simplecoding.org/ Владимир

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

      • Death

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

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

        • http://www.simplecoding.org/ Владимир

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

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

  • Death

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


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

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

    • http://www.simplecoding.org/ Владимир

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

      • Death

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

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

        • http://www.simplecoding.org/ Владимир

          В теории можно сделать из чего угодно. Я выбирал 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 и соответствующие словари.

    • http://www.simplecoding.org/ Владимир

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

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

  • Vlass

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

    • http://www.simplecoding.org/ Владимир

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

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

  • aleksey8118

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

  • Николай

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

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

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

    • http://www.simplecoding.org Владимир

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

]]>
Tweet