有没有可以在Mono上运行的F#IDE?

时间:2009-07-31 00:38:50

标签: ide f# mono

我在Mac上使用F#,我想知道是否有任何F#IDE可以在单声道(不是通用编辑器)上工作。似乎有一个addon for MonoDelvelop,但我认为它可能还不够成熟。有什么建议吗?

3 个答案:

答案 0 :(得分:7)

强文我实际上开始为MonoDevelop开发新的F#绑定。一旦我有值得分享的东西,我就会发布新闻。

奇怪,似乎我无法在我的回答中添加评论...... 无论如何,我想从允许创建和编译F#项目的基本功能开始。完成后我会考虑实现自动完成等事情。

更新:由于最近我们的家庭成员,我无法完成我的工作。幸运的是,其他人接受了这项工作,他的工作成果就在这里:http://github.com/vasili/FSharpBinding

答案 1 :(得分:4)

我认为MonoDevelop插件将是您最好的选择。不幸的是,在这一点上,要求一个成熟的F#编译器(甚至在Windows上)有点紧张。

它甚至没有在Windows上正式发布(CTP仍然用于VS 2008,而2010仍然是Beta)。

答案 2 :(得分:2)

我使用Aquamacs和一些钩子进入图阿雷格模式。 - 没有.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获得语法高亮(非常相似)并且它会照顾空白区域。我有一些问题要求来自Shell的FSI,因为它似乎在输入时有延迟。我没有调查此问题并切换到VisualStudio。

或者有一个Textmate F# bundle。我测试了半分钟,它的工作原理。但是,您无法从VS获取Alt + Enter选项,以便在交互式提示下直接评估您标记的部分。