如何在IntelliJ中获取Haskell文档?

3

Haskell在这里有关于"putStrLn"的文档...

https://www.haskell.org/hoogle/?q=putStrLn

但是当我使用IntelliJ IDE(默认的Haskell插件)时,我没有获得文档。自动完成可以用于“putStrLn”,并且在自动完成菜单中显示“String -> IO()”,但是当我按下Ctr-Q或Ctr-Space时,它会显示“未找到文档”。
如何在IntelliJ中获得Haskell的弹出式文档?
尝试使用替代的“HaskForce”插件。无法弄清楚如何做基本的“hello world”。 * Haskforce更新 * -- 从获取基本的Haskell内容开始:

https://eschulte.github.io/emacs24-starter-kit/starter-kit-haskell.html

-- 然后获取Haskforce(并卸载IntelliJ的Haskell插件)

Haskforce Plugin

-- 然后在“设置”中设置工具

Haskforce Tools

-- 设置编译器设置

Haskforce compiler settings

我打开了“安装Cabal依赖项”,因为当它关闭时,在运行时我会收到这个讨厌的消息:

Information:cabal: Install dependencies
Information:cabal: cabal: Could not resolve dependencies:
Information:cabal: next goal: base (dependency of HaskforceProject-0.1.0.0)
Information:cabal: base>=4.7 && <5)
Information:cabal: 4.6.0.0, 4.5.1.0, 4.5.0.0, 4.4.1.0, 4.4.0.0, 4.3.1.0, 4.3.0.0, 4.2.0.2,
Information:cabal: requires installed instance)
Information:cabal: null
Information:2/8/16 1:23 PM - Compilation completed with 1 error and 0 warnings in 1s 650ms
Error:cabal: install dependencies failed.

设置运行配置(在单击运行箭头之前必须进行“运行>编辑配置”):

Run Configuration

当我点击箭头运行时,我收到以下消息:

Not Working

ghc-modi error
Unable to parse problems from ghc-modi: cabal: At least the following dependencies are missing: base >=4.7 && 5 ghc-mod: readProcess: cabal "configure" "--with-ghc=ghc" "--flags" "" (exit 1): failed

请注意,这些屏幕截图来自于在Ubuntu 14.04上进行的全新安装,并且已经通过Ubuntu apt-get包管理器安装了Haskell essentials和Leskah。
通过在.cabal文件中将“base>=4.7 && 5”更改为“base>=4.6 && 5”,使得Haskforce能够正常工作,但仍然没有弹出式文档。
* 更新 *
仍然没有弹出式文档,但我已经为IntelliJ获得了HoogleIt插件,并为Atom获得了一个Hoogle插件,用于在Hoogle(Haskell Google)中搜索函数。

我对Java只有非常有限的了解,但是通过这个source,我猜测它还没有被实现。 - zakyggaps
你好,我是HaskForce的主要作者。看起来我们有两个问题,如何获取文档,以及如何进行基本的“hello world”操作。在HaskForce中,文档查找非常简单,但还有一些未解决的问题需要改进。至于“hello world”,如果您遇到问题,请在GitHub问题跟踪器上提交一个工单,并提供有关您所遇到问题的详细信息-https://github.com/carymrobbins/intellij-haskforce/issues - pyrospade
@pyrospade - 我已经将带有截图的完整描述添加到了“Haskforce 更新”。 - Michael Lafayette
@MichaelLafayette - 看起来你在.cabal文件中有base >=4.7 && <5的依赖项,但是根据错误信息,你的编译器只支持到4.6。你应该更新.cabal文件,将依赖项更改为base >=4.6 && <5。看起来你可能最初是作为一个stack项目开始的,然后切换到cabal而没有更新你的依赖项。 - pyrospade
@pyrospade - 我所做的只是“文件> 新建> 项目> Haskell> 使用Cabal构建> 下一步”,它会自动创建一个带有“build-depends: base >= 4.7 && <5”的Project.cabal文件。即使它是使用“base >= 4.6 && <5”运行,但自动完成根本不起作用,甚至无法识别“putStrLn”。我键入--“putStr”* Ctr-Space * - ,然后得到“HaskForce:未找到完成项。” 此外,调试模式(Shift + F9)甚至不打印“Hello World”。 - Michael Lafayette
@MichaelLafayette - 如果你在github的问题跟踪器上开一个问题,这可能会更容易解决(我从stack exchange那里得到的通知不太合理)。你也可以在freenode IRC的#haskforce上ping我(我的名字是crobbins),这样我们就可以实时交流了。 - pyrospade
2个回答

4
解决方案是使用Hoogle插件。IntelliJ有一个HoogleIt插件(Ctr-Shift-H),可以在Hoogle中搜索Haskell函数。Atom文本编辑器也有类似的插件。
在IDE中,Haskell没有Javadoc风格的文档。

0

好的,我又在回答自己的问题了。我认为如果你安装最新的EclipseFP并正确配置,你可以获得带有文档的自动完成功能。

请看图片:

Documentation

请注意,EclipseFP不像Java Hello World一样下载并运行。它似乎需要进行一些配置。

首先安装:

http://eclipsefp.github.io/install.html

然后执行“额外的配置步骤”


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接