ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

SublimeHaskell

Sublime Text 3 的 Haskell 插件。功能包括 cabal 构建、错误和警告高亮显示、智能补全和 ghc-mod 集成。

标签 haskell

详细信息

  • 2.2.0
  • github.com
  • github.com
  • 5年前
  • 28分钟前
  • 12年前

安装

  • 总数 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

自述文件

源代码
raw.githubusercontent.com

README

look

快速链接 ==> SublimeHaskell 的 文档

配置

需要(在您安装 SublimeHaskell 之前)

您需要安装 GHC Haskell 编译器和 cabal,或者安装 stack 构建工具和后端。

  • stack 会自动安装 ghc,因此无需单独安装 GHC
  • 或者您可以安装 Haskell 平台(包括 cabal 构建工具)
    • Glorious Haskell 计算机软件(ghc)。如果您还没有设置好 Haskell 开发和调试环境,建议安装 Haskell 平台。
    • cabal。在正常情况下,cabal 应该会与您的 Haskell 环境预装,例如,如果您安装了 Haskell 平台。
  • 后端。SublimeHaskell 通过与后端通信来支持有趣的编辑功能。推荐的后端是 hsdev。您可以使用任何已弃用的后端,但请注意,这些后端的支持可能在未来的 SublimeHaskell 版本中取消或删除。

    • hsdev 用于检查、增强补全、跳转、符号信息等。
      安装

      • 使用 cabalcabal 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

  1. 获取Sublime Text: https://text.sublime.net.cn/
  2. 安装Sublime Package Control包: http://wbond.net/sublime_packages/package_control/installation
  3. 使用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安装)

工具安装位置

工具(cabalhsdevghc-modghc等)通常安装在已添加到你的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实体和标记的颜色),如有必要可对错误、警告和提示进行颜色编码。注意不同类型的颜色和构造函数(在导入列表、数据声明等中)、类型中通用变量的特殊颜色、预处理程序和模块导入的颜色

compare

快速入门

  • 打开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+ealt+shift+d alt+shift+e在错误和警告之间跳转。

  • 要显示隐藏的错误输出,请使用命令显示错误面板(按 ctrl-alt-e)。

功能与SublimeHaskell的精彩之处

Stack支持

BuildCleanInstallRebuild这样的构建命令会使用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+RCtrl+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: 应用到选择 — 与上述相同,但对每个选择应用函数
    • foobarreverseraboof
    • 【1..10】reverse【10,9,8,7,6,5,4,3,2,1】
    • 123succ234
    • 【1..3】intercalate ", " . map (\i -> "foo" ++ show i)foo1, foo2, foo3
    • SublimeHaskell: 应用到选择列表 — 对从选择列表生成的列表应用函数
    • foobarbazreversebazbarfoo
    • foobarbazsortbarbazfoo
  • 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编译类型检查(无代码生成)CleanConfigureRebuildInstallTestRun
  • 错误命令
    • 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 SymbolsCTags: Rebuild Tags 命令与 codex 不兼容

致谢

图标来自 FlatIcon

错误图标由 Eleonor Wang 提供
警告图标由 Freepik 提供
提示图标由 Gregor Cresnar 提供
扳手图标由 Gregor Cresnar 提供