…についての対処法。
An import path cannot end with a '.ts' extension. Consider importing <file-path> instead. ts(2691)
(またはCannot find name 'Deno'. ts(2304)
)
原因
- VSCodeでは、デフォルトでNode.js向けの拡張機能が起動します。
- このエラーを回避するには、Deno向けの拡張機能をインストールした上で、設定から有効化しなければいけません。
回避策
- Deno向けの拡張機能をインストールします。(バージョン3系が現在の最新です。)
-
ctrl+shift+P
を押し、コマンドパレットを表示します。 -
コマンドパレットから
Deno: Initialize Workspace Configuration
を選択して実行します。 - (エラーが消えない場合はVSCodeを再起動します。)
3番目のコマンドパレットでの設定を忘れていることが多い気がします。
Cannot redeclare block-scoped variable <var-name>. deno-ts(2451)
原因
- Deno言語サーバーは内部的にTypeScriptの言語サーバーを使用しています。
- TypeScriptの言語サーバーは、ファイル中に
import
文やexport
文が無い場合、そのファイルをモジュールではなくスクリプトとして扱います。 - スクリプトモードでは、HTMLファイルからscriptタグで読むこむような形が想定されるため、ファイル間での変数名の重複がエラーとして報告されます。
回避策
- エラーが出るファイルに対して
export {};
を追記します。
それでいいのかよ?って感じですが、これが一番単純で速い解決策のようです。
A request has failed. See the output for more information.
日本語入力をしている時に、拡張機能がクラッシュすることがあります。
内部で使用している、テキストの差分を取るライブラリにバグがあるようです。
回避策
-
ctrl+shift+P
を押し、コマンドパレットを表示します。 - コマンドパレットから
Deno: Restart Language Server
を選択して実行します。 - (エラーが消えない場合はVSCodeを再起動します。)
まとめ
VSCodeでDenoのコードを書いた時に発生するエラーと、その対策について紹介しました。
言語サーバーの挙動がおかしい場合は、下部のOUTPUTタブからDeno Language Serverを選択することでエラーメッセージが表示されるかもしれないので、試してみてください。