ОБНОВЛЕНИЕ
Я решил пока использовать Clojure.
LispDev не готов, и Eclipse / cusp не был достаточно стабилен, чтобы я чувствовал себя комфортно.
Что касается Clojure, после долгого, очень разочаровывающего, очень раздражающего процесса, пытающегося получитьEclipse / CCW, Netbeans / Enclojure и IntelliJ / La Clojure работают, я наконец получил Eclipse / CCW работает.Остальные до сих пор в основном в разрушенных штатах.
(Если я доберусь до этого, я задокументирую, что потребовалось мне , чтобы заставить Eclipse / CCW работать.)
Итак, пока ясобираюсь использовать это.Я могу окунуться в CL и проверить бесплатные версии LispWorks и AllegroLisp, но Clojure кажется мне более естественным шагом для работы в среде Microsoft CLR.
Спасибо всем за помощь.
Оригинальный вопрос
Я разработчик на C #, очень хорошо знаком с Visual Studio (с Resharper).
Я новичок в Lisps.Недавно я заинтересовался и Common Lisp, и Clojure, и нашел много хороших материалов для них обоих.
Я пробовал Emacs + Slime, но похоже, что это очень устаревшее, устаревшее решение.Я не сомневаюсь в его силе, но его удобство использования совсем не похоже на то, к чему я привык.Я не хочу бороться с IDE в дополнение к языку.
Существуют плагины Eclipse для Clojure и CL.Есть также еще пара вариантов для Clojure.Поскольку я не Java-разработчик, я ничего не знаю об этих IDE.
Является ли Eclipse хорошим местом для начала?Есть ли другие хорошие варианты?
РЕДАКТИРОВАТЬ:
Вот функции, к которым я привык:
- Подсветка синтаксиса и автоиндентирование (у всех это есть, так что этоспорный вопрос)
- Автозаполнение имен функций и переменных
- Отображение в реальном времени всех перегрузок функций и параметров и возможность стрелок вверх / вниз по списку при наборе параметров
- Предложения по синтаксису для улучшения кода, с возможностью сделать их для вас («использовать const», «преобразовать в выражение LINQ (FP)», «переменная никогда не будет назначена», «переменная никогда не будет использоваться», «переменная»может иметь значение null "," функция никогда не будет использоваться "и т. д.)
- Извлечение метода / рефакторинг функции: выберите блок текста, и его можно извлечь в новую функцию
- СоздатьПерефакторинг переменной: выберите блок текста и создайте переменную (например, let)
- Переименуйте Refactoring: переименуйте объявление функции или переменной, и все другие функции, использующие ее, будут be обновлено (автоматический поиск / замена)
- Перейти к определению метода / функции, переменная
- Найти использование / ссылки на определенный метод / функцию, переменная
- Интегрированная папкаинструменты управления проектами и инструменты построения
- "Переместить класс в новый файл", который создает новый файл на основе имени класса и содержит все его методы
- "Переименовать файл на основе классатип ", который переименовывает файл, если вы измените имя класса
- F9 / Нажмите слева от строки, чтобы добавить / удалить точки останова
- F10 / F11, чтобы перейти к или над кодом при отладке,вместе со стрелкой и подсветкой, чтобы показать, какой код выполняется в данный момент (перейти к выполнению func или просто выполнить его здесь)
Большинство всего доступно в контекстном меню, вызываемом правой кнопкой мыши, или в видепарящий комбобокс или текстовое поле, когда вы печатаете.
Я не говорю, что emacs / slime не может этого сделать, но если это так, он не использует ничего подобного с точки зрения удобства использования.Ques.