これは、なにをしたくて書いたもの?
先日、TypeScriptの環境設定をした時に、Emacsのlsp-modeの設定をしたのですが。
はじめてのTypeScript(+tslint、Prettier、Emacs lsp-mode) - CLOVER🍀
そもそも対象の言語がJavaScript/TypeScriptなので、JavaScriptでも試してみようかなと。
js-mode+lsp-mode
というわけで、TypeScript Language Serverをjs-modeに適用してみます。
JavaScript/TypeScript (theia-ide) - LSP Mode - LSP support for Emacs
以下のように、js-modeにlsp-modeが効くように設定。
※lsp-modeやcompanyの設定自体は済んでいるものとします
(use-package lsp-mode :ensure t :commands (lsp lsp-deferred) :hook (js-mode . lsp-deferred))
あと、タブの設定も変えておきました。
(add-hook 'js-mode-hook '(lambda () (setq js-indent-level 2)))
これで、js-modeが使われる時にlsp-mode+TypeScript Language Serverが有効になります。
こんな感じですね。Expressを使ってソースコードを書いている例です。
require
で警告されるのですが、これをサジェスト通りに修正すると、むしろNode.jsでは動かなくなるので無視ですかね…。
JavaScriptのバージョン指定は、設定では変えられそうな感じがしませんでした。
それでも、十分使えるでしょう。