2009-07-31 3 views
7

저는 Mac에서 F #을 사용하고 있습니다. 일반용 편집기가 아닌 모노로 작동하는 F # IDE가 있다면 kbow가 궁금합니다. addon for MonoDelvelop이있는 것 같습니다. 그러나 충분히 성숙한 것은 아닙니다. 어떠한 제안 ?모노를 통해 작동하는 F # IDE가 있습니까?

+0

F # 자체가 완전히 성숙하지 않았습니까? 연구 언어가 아닙니까? – Dykam

+0

IIRC, Visual Studio 제품 팀은이 단계에서이를 관리하고 있으며 Visual Studio의 다음 릴리스에서 C# 및 VB와 동등하게 표시됩니다. 따라서 아니요, 연구용 언어가 아니며 첫 번째 릴리스의 베타 단계에 있습니다. – harms

답변

7

강력한 텍스트 나는 실제로 MonoDevelop에 대한 새로운 F # 바인딩 작업을 시작했습니다. 나는 가치있는 것을 공유하는대로 뉴스를 올릴 것입니다.

이상하게도 내 대답에 코멘트를 추가 할 수없는 것처럼 보입니다 ... 어쨌든, F # 프로젝트를 만들고 컴파일 할 수있는 기본 기능부터 시작하고 싶습니다. 완료되면 자동 완성과 같은 것을 구현하는 방법을 살펴볼 것입니다.

업데이트 : 수 없었던 우리 가족에 최근 추가로 인해 내 작업을 완료합니다. 다행히도 다른 사람이 노력을 집어 들고 그의 결과는 여기에 있습니다 : http://github.com/vasili/FSharpBinding

+0

이것은 좋은 소식입니다! 자동 완성을 지원할 계획입니까? –

+0

니스! 여기 테스터가 필요하다면 – Gustavo

+0

듣고 반갑습니다 ... 도와 드리겠습니다.) – wishi

4

MonoDevelop addon이 최선의 방법 일 것이라고 생각합니다. 불행히도,이 시점에서 성숙한 F # 컴파일러 (심지어 Windows에서)를 요구하는 것은 약간의 스트레칭입니다.

심지어 공식적으로 Windows에서 릴리스되지 않았습니다 (CTP는 여전히 VS 2008 용이고 2010은 여전히 ​​베타 버전 임).

2

저는 Tuareg 모드로 Aquamacs와 일부 후크를 사용합니다. - 아니 닷넷 완료 (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")))))) 

Ocaml (매우 유사)에서 구문 강조를 얻을 수 있으며 공백을 처리합니다. 쉘에서 FSI를 포크하는 데 몇 가지 문제가있었습니다. 입력하는 동안 지연이있는 것 같기 때문입니다. 이 문제를 조사하지 않고 VisualStudio로 전환했습니다.

또는 Textmate F# bundle이 있습니다. 나는 그것을 30 분 동안 시험해 보았다. 그러나 VS에서 Alt + Enter 옵션을 사용하여 대화 형 프롬프트에서 직접 표시된 부분을 평가하지 마십시오.

+0

Textmate 번들은 실제로 iTerm에서 실행중인 fsi 세션에 대해 간단한 Alt + Enter 옵션을 제공합니다. –

관련 문제