$ apm install [package-name]
您可以通过按下Command + ,
(command + 逗号)或 Windows 上的Control + ,
(control + 逗号)来打开 Atom 设置。从那里,您可以转到“安装”选项卡并搜索您要安装的包的名称。如果您更喜欢使用命令行,您也可以使用apm
来使用以下方法安装包:
$ apm install [package-name]
与 Java 和 Javascript 不同,ClojureScript 的约定是将闭合定界符放在同一行而不是新行上。为了帮助管理这一点,Shaun LeBron 的 Parinfer 可以根据您的代码缩进自动平衡您的闭合定界符。Chris Oakman 的 Atom 包适用于 Parinfer,可在此处找到:https://atom.io/packages/parinfer
Atom 默认情况下不会为 Lisp 方言正确自动缩进新行。您可以通过安装 Jon Spalding 的 lisp-paredit Atom 包来解决此问题。如果您已经在使用 Parinfer 并且只想使用 lisp-paredit 包进行新行缩进,您可以将 lisp-paredit 的设置更改为
启用:选中
严格:未选中
键绑定启用:未选中
…并使用以下键绑定更新您的keymap.cson
文件
# Provides proper indentation when enter is pressed 'atom-text-editor[data-grammar~="clojure"]': 'enter': 'lisp-paredit:newline' # Override newline back to original when in Proto-REPL console # GitHub Issue: https://github.com/jonspalding/lisp-paredit/issues/26 'ink-console atom-text-editor[data-grammar~="clojure"]': 'enter': 'editor:newline'
keymap.cson 文件位于主菜单中的“Atom > 键绑定…”下。 |
Roman Bataev 的 Joker linter 可以让您知道何时在代码中出现错误。Ryan De La Torre 的 Atom 包适用于 Joker,可在此处找到:https://atom.io/packages/linter-joker
要使用此功能,您还需要在您的机器上安装 Joker。您可以从 这里 下载它,或者通过 Homebrew 使用以下命令安装它:
brew install candid82/brew/joker
Jason Gilman 的 Proto REPL 允许您从编辑器中评估 ClojureScript 代码。
如果您使用的是 Leiningen 和 Figwheel,将 Proto REPL 连接到您的应用程序的最快方法是从 Proto REPL 中启动 Figwheel。为此,首先将figwheel-sidecar
、piggieback
和proto-repl
合并到您的project.clj
中的 dev 依赖项中
:profiles {:dev {:dependencies [[figwheel-sidecar "0.5.9"]
[com.cemerick/piggieback "0.2.1"]
[proto-repl "0.3.1"]]
接下来,在您的project.clj
中添加 piggieback 的 nREPL 中间件以用于 ClojureScript
:repl-options {:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}
现在打开 Proto REPL。您可以通过按下Command + Shift + P
(或 Windows 上的Control + Shift + P
)来打开命令面板,然后使用命令面板搜索Proto REPL: Toggle
命令。
在启动 Proto REPL 后,您应该在 REPL 指示的底部看到消息“使用 lein 在 [您的项目的路径] 中启动 REPL”。如果一切顺利,您应该能够在 Proto REPL 中运行以下命令来启动 Figwheel 并启动 ClojureScript REPL
(do (use 'figwheel-sidecar.repl-api) (start-figwheel!) (cljs-repl))
在浏览器中打开您本地托管的网页,然后尝试在 Proto REPL 中输入一些测试代码,例如(js/alert "Hello from Proto REPL!")
,以验证一切正常。(上面的命令应该会导致您的浏览器中出现一个警报。)
如果您不想每次都输入启动 Figwheel 的命令,您可以将自定义命令保存到您的 Atom 的init.js
/init.coffee
文件中
atom.commands.add('atom-text-editor', 'Start Figwheel with CLJS REPL', function () { protoRepl.executeCode(` (when (try (require 'figwheel-sidecar.repl-api) (resolve 'figwheel-sidecar.repl-api/start-figwheel!) (catch Throwable _)) (eval '(do (figwheel-sidecar.repl-api/start-figwheel!) (figwheel-sidecar.repl-api/cljs-repl)))) `); });
有关扩展 Proto REPL 的更多文档,请参见:https://github.com/jasongilman/proto-repl/blob/master/extending_proto_repl.md