環境セットアップ
Denoを生産的に使用するには、環境をセットアップする必要があります。つまり、シェルのオートコンプリート、環境変数、エディタ・IDEの設定を行います。
環境変数
Denoの動作を制御するいくつかの環境変数があります:
環境変数DENO_DIRのデフォルトは $HOME/.cache/denoで、任意のパスに設定できますが、生成およびキャッシュされたソースコードの書き込みと読み取りを制御します。
もし、環境変数NO_COLORを設定すれば、カラー出力がオフになります。 https://no-color.org/を参照してください。NO_COLORを使用しているかのテストはソースコード内で、--allow-envなしで使用できるboolean定数のDeno.noColorを用いることで設定されているか確認ができます。
シェルのオートコンプリート
deno completions <shell>を使用して、 シェルのオートコンプリート用のスクリプトを生成できます 。コマンドはstdoutに出力するため、適切なファイルにリダイレクトする必要があります。
Deno がサポートしているシェルは次の通り:
- zsh
- bash
- fish
- powershell
- elvish
例 (bash):
deno completions bash > /usr/local/etc/bash_completion.d/deno.bash
source /usr/local/etc/bash_completion.d/deno.bash
例 (フレームワークなしでのzsh):
mkdir ~/.oh-my-zsh/custom/plugins/deno
deno completions zsh > ~/.oh-my-zsh/custom/plugins/deno/_deno
次に、.zshrcに追加します。
fpath=(~/.zsh $fpath)
autoload -Uz compinit
compinit -u
それからターミナルを再起動します。補完がまだロードされない場合は、rm ~/.zcompdump/を実行して、以前に生成された補完を削除してから、compinitを実行してそれらを再度生成する必要があります。
例(zsh + oh-my-zsh)[zshユーザーに推奨]:
mkdir ~/.oh-my-zsh/custom/plugins/deno
deno completions zsh > ~/.oh-my-zsh/custom/plugins/deno/_deno
この後~/.zshrcファイルへdenoプラグインを追加します。antigenパスのようなツールの場合は~/.antigen/bundles/robbyrussell/oh-my-zsh/pluginsになり、コマンドはantigen bundle denoなどになります。
エディタとIDE
Denoはモジュールのインポートにファイル拡張子を使用する必要があり、さらにはhttpのインポートを許可が必要で、現在ほとんどのエディタと言語サーバーはこれをネイティブでサポートしていないため、多くのエディタは不要なファイル拡張子を持つファイルまたはインポートを見つけられないというエラーをスローします。
コミュニティは、一部の編集者がこれらの問題を解決するための拡張機能を開発しています:
VS Code
ベータバージョンの vscode_denoがVisual Studio Marketplaceに公開されました。問題があればIssuesをください。
JetBrains IDE
JetBrains IDEのサポートは、the Deno pluginを通じて利用できます。
JetBrains IDEをDeno用に設定する方法の詳細については、YouTrackのこのコメントを参照してください。
Vim と NeoVim
もしCoC(intellisense engine and language server protocol)をインストールしていれば、Vim は Deno/TypeScript に対してかなりうまく機能します。
CoCをインストールした後、Vim内から:CocInstall coc-denoと:CocInstall coc-denoを実行します。 Deno型定義でオートコンプリートを機能させるには、:CocCommand deno.typesを実行します。必要に応じて、:CocRestartでCoCサーバーを再起動します。これからは、gd(go to definition)やgr(goto/find references)などが機能するようになります。
Emacs
Emacsは、Emacs内でTypeScriptを使用する標準的な方法であるtideと、Denoの公式VSCode拡張機能で使用されるtypescript-deno-pluginの組み合わせを使用することにより、DenoをターゲットとするTypeScriptプロジェクトでかなりうまく機能します。
これを使用するには、まずEmacsのインスタンスにtideが設定されていることを確認してください。次に、 typescript-deno-plugin ページで指示されているように、最初に npm install --save-dev typescript-deno-plugin typescript (npm init -yが必須)を行い、次に下記のブロックをtsconfig.jsonに追加すれば準備完了です!
{
"compilerOptions": {
"plugins": [
{
"name": "typescript-deno-plugin",
"enable": true, // default is `true`
"importmap": "import_map.json"
}
]
}
}
このリストにお気に入りのIDEがない場合は、拡張機能を開発するかもしれません。私たちのコミュニティのDiscordグループで、どこから始めればよいかについて、いくつか指針を差し上げることができます。