11
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VSCodeでDenoのコードを書くとエラーが出る件

Posted at

…についての対処法。

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向けの拡張機能をインストールした上で、設定から有効化しなければいけません。

回避策

  1. Deno向けの拡張機能をインストールします。(バージョン3系が現在の最新です。)
  2. ctrl+shift+Pを押し、コマンドパレットを表示します。
  3. コマンドパレットからDeno: Initialize Workspace Configurationを選択して実行します
  4. (エラーが消えない場合はVSCodeを再起動します。)

image.png

3番目のコマンドパレットでの設定を忘れていることが多い気がします。

Cannot redeclare block-scoped variable <var-name>. deno-ts(2451)

原因

  • Deno言語サーバーは内部的にTypeScriptの言語サーバーを使用しています。
  • TypeScriptの言語サーバーは、ファイル中にimport文やexport文が無い場合、そのファイルをモジュールではなくスクリプトとして扱います。
  • スクリプトモードでは、HTMLファイルからscriptタグで読むこむような形が想定されるため、ファイル間での変数名の重複がエラーとして報告されます。

回避策

  1. エラーが出るファイルに対してexport {};を追記します。

image.png

それでいいのかよ?って感じですが、これが一番単純で速い解決策のようです。

A request has failed. See the output for more information.

日本語入力をしている時に、拡張機能がクラッシュすることがあります。

内部で使用している、テキストの差分を取るライブラリにバグがあるようです。

回避策

  1. ctrl+shift+Pを押し、コマンドパレットを表示します。
  2. コマンドパレットからDeno: Restart Language Serverを選択して実行します。
  3. (エラーが消えない場合はVSCodeを再起動します。)

image.png

まとめ

VSCodeでDenoのコードを書いた時に発生するエラーと、その対策について紹介しました。
言語サーバーの挙動がおかしい場合は、下部のOUTPUTタブからDeno Language Serverを選択することでエラーメッセージが表示されるかもしれないので、試してみてください。

image.png

11
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?