Language-tools: TypeScriptプリプロセッサを使用すると、未使用のエクスポートプロパティの警告が間違った行に表示されます。

作成日 2020年08月27日  ·  18コメント  ·  ソース: sveltejs/language-tools

バグを説明する
未使用のプロパティのexport letステートメントは警告を引き起こします。 警告は、私にとって実際のプロパティの上の行に表示されます。

再現するには

スクリプト言語をtypescript( lang="ts"またはtype="text/typescript" )に設定します。
一部のエクスポートプロパティを宣言し、どこにも使用しないでください。

予想される行動

警告は、使用されていないプロパティにあります。

スクリーンショット

image

プロパティがスクリプトの最初の行にある場合:

image

システム(以下の情報を入力してください):

  • OS:Windows 10、64ビット
  • IDE:VSCode
  • プラグイン/パッケージ:VSCode用のSvelte
bug

全てのコメント18件

@ tsconfig / svelteを最新のものに更新してみてください

私はそれを使用していません。
一時的に追加しましたが、何もしませんでした。

ああ、あなたは公式テンプレートを使っていると思いました。 パッケージはsvelteの基本設定です。 これに一致するように、 tsconfig.jsonextendsを更新できます。
https://github.com/sveltejs/template/blob/8194bf8f6452f8117195bf304ac99b15d329fbb3/scripts/setupTypeScript.js#L87

#333の複製

@ jasonlyu123私が言ったように、私は一時的に基本設定を追加しましたが、何も変更されていません。 それでも間違った行にエラーが表示されます。

次に、 tscを実行して、ワークスペースでtsファイルをコンパイルし、出力ファイルにソースマップがあるかどうかを確認できますか?

問題はソースマップにあります。 svelteコンパイラを使用してsvelte診断を取得します。 svelte.config.jsがあり、その中にプリプロセッサを指定している場合は、それを使用して前処理を行います。それ以外の場合は、公式のsvelte-preprocessを使用します。 また、プリプロセッサがソースマップを返さない場合、警告は間違った位置にあります。

また、tsconfig.jsonの変更は監視されないため、変更があった場合は必ず言語サーバーを再起動してください。

常にソースマップを生成するとは限りません。 単一のファイルでtscを呼び出すと、明らかにtsconfigがロードされません。 tsc -p .またはtsc --build tsconfig.jsonすると、期待どおりにソースマップが出力されます。

svelte.config.jsお持ちの場合、それを確認できますか?また、どのプリプロセッサを使用していますか?

私はデフォルトのプロセッサを使用しています。これは自動モードではsvelte-preprocessである必要があります。 入力コンポーネントにエラーがある最小限のサンプルリポジトリを作成しました。

svelte.config.jsを作成してみましたが、プリプロセッサを明示的に自動モードに設定しても問題ありませんでした。 tsconfig.jsonへのパスを持つtypescriptのみを明示的に使用しても、何も実行されませんtsconfig.jsonた。

うーん...これは予想外です。 tsconfig.json sourcemapをtrueに設定した場合にのみ機能します。

その場合、 extendsは完全には機能しません。 さて、今のところ明示的に設定してもかまいません。
ありがとう

ええ、私はsvelte-preprocessのソースファイルをざっと見ています。 extends解析していないようです。
問題をありがとう!

ドキュメントこの問題svelte-preprocessで開きました。 更新:ドキュメントが間違っていたため、自分でtrueに設定する必要があります。

@brunnerh "sourceMaps": trueと基本構成参照をtsconfig.jsonから削除し、代わりにsvelte.config.jssveltePreprocess({sourceMap: true})を実行すると、正しい警告が表示されますか?それではライン?

@brunnerh "sourceMaps": trueと基本構成参照をtsconfig.jsonから削除し、代わりにsvelte.config.jssveltePreprocess({sourceMap: true})を実行すると、正しい警告が表示されますか?それならライン?

いいえ、まだオフです。

したがって、 tsconfig.json "sourceMaps": trueを追加した場合にのみ機能しますか?

はい

これらはsvelte-preprocess関連する問題であるため、終了します。 「sourceMap-optionを介して前処理を指示すると、ソースマップが適用されません」-問題は最新バージョンで修正されています。 「 extends - tsconfig.jsonはサポートされていません」はhttps://github.com/sveltejs/svelte-preprocess/issues/300で追跡されてい

このページは役に立ちましたか?
0 / 5 - 0 評価