SublimeHaskell
Sublime Text 3 的 Haskell 插件。功能包括 cabal 构建、错误和警告高亮显示、智能补全和 ghc-mod 集成。
详细信息
安装
- 总数 54K
- Win 20K
- Mac 19K
- Linux 15K
8月7日 | 8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 |
Mac | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 3 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
自述文件
README
快速链接 ==> SublimeHaskell 的 文档
配置
需要(在您安装 SublimeHaskell 之前)
您需要安装 GHC Haskell 编译器和 cabal
,或者安装 stack
构建工具和后端。
stack
会自动安装 ghc,因此无需单独安装 GHC- 或者您可以安装 Haskell 平台(包括
cabal
构建工具)- Glorious Haskell 计算机软件(ghc)。如果您还没有设置好 Haskell 开发和调试环境,建议安装 Haskell 平台。
- cabal。在正常情况下,
cabal
应该会与您的 Haskell 环境预装,例如,如果您安装了 Haskell 平台。
后端。SublimeHaskell 通过与后端通信来支持有趣的编辑功能。推荐的后端是
hsdev
。您可以使用任何已弃用的后端,但请注意,这些后端的支持可能在未来的 SublimeHaskell 版本中取消或删除。hsdev 用于检查、增强补全、跳转、符号信息等。
安装- 使用
cabal
—cabal install hsdev
- 使用
stack
— 创建配置(例如,hsdev.yaml
)并包含以下内容
packages: [] resolver: lts-13.29 extra-deps: - hsdev-0.3.3.1 - haddock-api-2.21.0 - hdocs-0.5.3.1 - network-3.0.1.1
然后运行
stack install hsdev --stack-yaml hsdev.yaml
- 使用
已弃用的后端
ghc-mod(用于导入和 LANGUAGE 补全以及类型推断,
cabal install ghc-mod
,如果启用了hsdev
,则不使用,ghc-mod 是作为库由hsdev
使用的)
安装 SublimeHaskell
- 获取Sublime Text: https://text.sublime.net.cn/
- 安装Sublime Package Control包: http://wbond.net/sublime_packages/package_control/installation
- 使用Package Control安装SublimeHaskell
打开一个Haskell源文件、cabal
构建文件或一个stack.yaml
构建文件,并开始高效地进行Haskell开发!
可选工具
- stack. Haskell工具栈。如果你已安装了Haskell平台,那么你已经安装了它。《code>stack是
cabal
的互补构建工具。 - SublimeREPL包以支持REPL,如果你想在SublimeText中与GHCI交互。
- 代码美化器
- stylish-haskell(使用
cabal install stylish-haskell
安装) - hindent(使用
cabal install hindent
安装)
- stylish-haskell(使用
工具安装位置
工具(cabal
、hsdev
、ghc-mod
、ghc
等)通常安装在已添加到你的PATH
环境变量的目录中。SublimeHaskell也会在这些“Haskell标准”位置中寻找这些工具。这些位置包括
构建器 | *nix平台 | Windows |
---|---|---|
stack | $HOME/.local/bin |
%APPDATA%/local/bin |
cabal用户 | $HOME/.cabal/bin |
%APPDATA/cabal/bin |
cabal全局 | /usr/local/bin |
%PROGRAMFILES%/Haskell/bin |
更高级的用户可以在$HOME/.cabal/config
中配置cabal
的用户和全局安装路径。如果配置了这两个路径且所引用的目录存在,SublimeHaskell将使用这些值。
如果你为你工具的非标准安装位置进行了配置,你可以在SublimeHaskell的“用户设置”中通过调整add_to_PATH
进行配置。你将需要在保存你的首选项后重新启动SublimeText。
SublimeHaskell主题
有一个特殊的主题(增强Haskell实体和标记的颜色),如有必要可对错误、警告和提示进行颜色编码。注意不同类型的颜色和构造函数(在导入列表、数据声明等中)、类型中通用变量的特殊颜色、预处理程序和模块导入的颜色
快速入门
打开SublimeText命令面板(按
Ctrl-Shift-P
或在OS X上按Option-Command-P
)并输入haskell
以探索SublimeHaskell的精彩之处。在编辑Haskell源文件时,将提供自动错误高亮显示和增强自动完成功能。
每次保存时,程序中的任何错误都会列在窗口底部并突出显示在源代码中。
在项目变化时,将扫描所有源文件。它们导出的符号将提供在自动完成建议中。
stylish-haskell可用于美化文件或选定的文本。
使用
F12
跳转到声明,使用ctrl+k ctrl+i
来显示带有文档的符号信息。这些命令也可以通过右键 contexts 菜单中提供。要显示推断的类型,请使用
显示类型
(按ctrl-k ctrl-h ctrl-t
)命令。要插入推断的类型,请使用
插入类型
(按ctrl-k ctrl-h ctrl-i
)。你可以使用
alt+d alt+e
和alt+shift+d alt+shift+e
在错误和警告之间跳转。要显示隐藏的错误输出,请使用命令
显示错误面板
(按ctrl-alt-e
)。
功能与SublimeHaskell的精彩之处
Stack支持
像Build
、Clean
、Install
、Rebuild
这样的构建命令会使用stack
,如果有在.cabal
附近的stack.yaml
。如果你不想使用stack
,请将haskell_build_tool
设置设置为cabal
。
hsdev
使用stack
构建依赖于项目,以获取相应的包数据库。从版本0.1.7.2
开始,它将这些选项传递给stack
以获取与hsdev
兼容的编译器构建的包数据库。
增强完成度
在导出列表(显示范围内的符号)中工作,在导入列表和表达式中。在模块限定符之后完成(可以通过具有相同限定符的多个模块 import qualified as
)。针对源代码考虑模块重新导出。
弹出窗口
显示具有符号信息和错误/警告/提示详细信息的弹出窗口。需要 SublimeText 3 开发版本 > 3116(《[论坛帖子](https://forum.sublimetext.com/t/dev-build-3116/21148)》)。
如果可能,还会显示推断类型
您可以通过链接选择符号的所有用法
并且您可以在弹出窗口中自动修复警告/提示
命令
SublimeHaskell: 为符号插入导入
— 为声明添加导入SublimeHaskell: 查找声明
— 在已安装的包和在项目中查找声明SublimeHaskell: 在任何地方查找声明
— 在 hayoo 中也查找声明SublimeHaskell: 浏览模块
— 为模块获取声明SublimeHaskell: 浏览声明
— 获取当前文件作用域中的声明SublimeHaskell: 显示符号信息
— 获取符号的帮助,ctrl+k ctrl+i
SublimeHaskell: 切换符号信息面板
— 切换连续的符号信息面板,显示光标下符号的信息。阅读代码时很有用。SublimeHaskell: 转到模块
— 跳转到模块,ctrl+k ctrl+p
SublimeHaskell: 转到声明
— 覆盖默认,f12
Ctrl+R
,Ctrl+Shift+R
— 覆盖默认,转到符号和项目中的符号SublimeHaskell: 显示类型
— 显示当前表达式的类型/类型,ctrl+k ctrl+h ctrl+t
SublimeHaskell: 将选择扩展到表达式
— 将选择扩展到表达式,ctrl+shift+y
SublimeHaskell: 显示/隐藏所有类型
— 获取所有类型并在选择修改时突出显示,ctrl+t, h
SublimeHaskell: 插入类型
— 为选中表达式插入类型,ctrl+k ctrl+h ctrl+i
SublimeHaskell: Hayoo
— 在 hayoo 中搜索SublimeHaskell: 自动修复
— 自动修复一些警告和/或错误(目前为冗余导入和 hlint 提示)SublimeHaskell: Stylish
— 使用stylish-haskell
美化源代码SublimeHaskell: 扫描文档并推断类型
— 由于扫描文档和推断类型是一个长时间的过程,因此默认关闭,但可以使用此命令为当前打开的视图扫描文档和推断类型SublimeHaskell: 检查 & Lint
— 检查/lint/检查并 lint 打开文件。启用check_lint_fly
选项以在空闲时进行检查和 lint,《[检查 & lint](https://github.com/SublimeHaskell/SublimeHaskell/blob/master/Commands/FlyCheck.gif)》并重新扫描实际源,以便更新完成SublimeHaskell: 评估表达式
— 在当前模块的上下文中评估表达式SublimeHaskell: 表达式类型
— 在当前模块的上下文中评估表达式类型- 评估命令 — 参见动画
SublimeHaskell: 评估选择
— 评估选中的表达式,例如[1..10]
→[1,2,3,4,5,6,7,8,9,10]
replicate 10 'a'
→aaaaaaaaaa
(注意,字符串结果没有双引号)SublimeHaskell: 应用到选择
— 与上述相同,但对每个选择应用函数foobar
†reverse
→raboof
【1..10】
⫤reverse
⤇【10,9,8,7,6,5,4,3,2,1】
1
、2
、3
⫤succ
⤇2
、3
、4
【1..3】
⫤intercalate ", " . map (\i -> "foo" ++ show i)
⤇foo1, foo2, foo3
SublimeHaskell: 应用到选择列表
— 对从选择列表生成的列表应用函数foo
、bar
、baz
⫤reverse
⤇baz
、bar
、foo
foo
、bar
、baz
⫤sort
⤇bar
、baz
、foo
- Repl 命令(使用 SublimeREPL 插件)
SublimeHaskell Repl: GHCi
— 运行ghci
SublimeHaskell Repl: GHCi 当前文件
— 运行ghci
并加载当前文件SublimeHaskell Repl: Cabal Repl
— 对当前项目运行cabal repl
SublimeHaskell Repl: Load
— 在 repl 中加载当前文件或项目
- 上下文菜单命令
在 Hackage 上打开包
— 在符号信息面板中工作,打开 Hackage 页面在 Hackage 上打开模块
— 符号信息面板和源文件中的单词,打开所选模块的 Hackage 页面显示符号用法
— 显示使用符号的位置列表
- 编译命令
Build
、编译类型检查(无代码生成)
、Clean
、Configure
、Rebuild
、Install
、Test
、Run
- 错误命令
SublimeHaskell: 前往下一个错误
— 前往文件中的下一个错误,alt+d alt+e
SublimeHaskell: 前往上一个错误
— 前往文件中的上一个错误,alt+shift+d alt+shift+e
SublimeHaskell: 显示错误面板
— 如果已隐藏,则显示错误面板,ctrl+alt+e
你的项目和外部:索引
codex 允许你使用 ctags 跳转到在你的 cabal 依赖中声明的定义。
cabal install codex
- 运行
codex set format sublime
,更新你的~/.codex
文件到 Sublime 的 Ctags 插件的格式 - 将
~/.codex
改为tagsFileName: .tags
- 在你的项目目录,运行
codex cache clean && codex update
- 你现在可以跳转到项目外部的定义的源代码。
- 当前
CTags: Show Symbols
和CTags: Rebuild Tags
命令与codex
不兼容
致谢
图标来自 FlatIcon。
错误图标由 Eleonor Wang 提供
警告图标由 Freepik 提供
提示图标由 Gregor Cresnar 提供
扳手图标由 Gregor Cresnar 提供