Есть ли какой-либо IDE F#, который работает по Моно?

Обратите внимание, что выполнение так будет ненадежно в коде выпуска, из-за оптимизации. Кроме того, запуск приложения в режиме песочницы (сетевой ресурс) не позволит Вам захватывать стековый фрейм вообще.

Рассматривают аспектно-ориентированное программирование (AOP), как PostSharp, который вместо того, чтобы быть названным от Вашего кода, изменяет Ваш код, и таким образом знает, где это в любом случае.

7
задан Gustavo 31 July 2009 в 00:38
поделиться

3 ответа

strong text Я действительно начал работать над новой привязкой F # для MonoDevelop. Я отправлю новость, как только у меня будет чем поделиться.

Странно, похоже, я не могу добавить комментарий к своему ответу ... В любом случае, я хотел бы начать с базовой функциональности, позволяющей создавать и компилировать проекты F #. Когда это будет сделано, я подумаю о реализации таких вещей, как автозаполнение и тому подобное.

Обновление: Из-за недавнего пополнения в нашей семье я не смог завершить свою работу. К счастью, кто-то другой взял на себя усилия, и результаты его работы находятся здесь: http://github.com/vasili/FSharpBinding

7
ответ дан 6 December 2019 в 19:40
поделиться

Я думаю, что аддон MonoDevelop будет вашим лучшим выбором. К сожалению, на данном этапе запрос на зрелый компилятор F # (даже в Windows) - это немного натянуто.

Он даже официально не выпущен для Windows (CTP все еще для VS 2008, а 2010 все еще бета).

4
ответ дан 6 December 2019 в 19:40
поделиться

Я использую Aquamacs и некоторые хуки в режиме Tuareg. - Нет завершения .Net (здесь есть режим C #), но режим dabrev:

;; F# specific configs 
;; hooked ocaml tuareg mode. If you do ML with mono e. g. 
(add-to-list 'load-path "~/.elisp/tuareg-mode")
    (autoload 'tuareg-mode "tuareg" "Major mode for editing Caml code" t)
    (autoload 'camldebug "camldebug" "Run the Caml debugger" t)
    (autoload 'tuareg-imenu-set-imenu "tuareg-imenu" 
      "Configuration of imenu for tuareg" t) 
    (add-hook 'tuareg-mode-hook 'tuareg-imenu-set-imenu)
    (setq auto-mode-alist 
        (append '(("\\.ml[ily]?$" . tuareg-mode)
              ("\\.topml$" . tuareg-mode))
                  auto-mode-alist))

;; now we use *.fs files for this mode
(setq auto-mode-alist (cons '("\\.fs\\w?" . tuareg-mode) auto-mode-alist))

(add-hook 'tuareg-mode-hook
       '(lambda ()
       (set (make-local-variable 'compile-command)
        (concat "fsc \""
            (file-name-nondirectory buffer-file-name)
            "\""))))

(defun tuareg-find-alternate-file ()
  "Switch Implementation/Interface."
  (interactive)
  (let ((name (buffer-file-name)))
    (if (string-match "\\`\\(.*\\)\\.fs\\(i\\)?\\'" name)
    (find-file (concat (tuareg-match-string 1 name)
               (if (match-beginning 2) ".fs" ".fsi"))))))
  • скомпилировать из окна редактора с FSC
  • получить интерактивный сеанс с подсветкой синтаксиса с бэкэндом Mono alt text
    (источник: 666kb.com )

Вы получаете подсветку синтаксиса от Ocaml (очень похожую), и она заботится о пробелах. У меня были проблемы с разветвлением FSI от Shell, потому что кажется, что при наборе есть задержка. Я не исследовал эту проблему и перешел на VisualStudio.

В качестве альтернативы существует пакет Textmate F # . Я проверил это полминуты, и он работает. Однако у вас нет опции Alt + Enter в VS, чтобы оценить отмеченные детали непосредственно в интерактивной подсказке.

2
ответ дан 6 December 2019 в 19:40
поделиться