2017-08-29 5 views
3

JavaScriptファイルのVSコードリンターに型情報を入力することはできますか?私はJavaScriptファイルと.d.tsファイルを持っており、この.d.tsファイルを使用して、タイプエラーのためにJavaScriptファイルを解析したいと思います。それは可能ですか? VSコードで直接使用できない場合は、他のツールを使用することは可能ですか?Visual Studioコード - JavaScriptファイルのヒントのタイプ

例追加するには:一般的に

// file.d.ts 
declare function f(x: number): number; 

// file.js 
function f(x) { return x * 2; } 
f('Not a number'); // This should be an error 
+0

@mplungjanおそらく私は質問で十分ではありませんでしたが、私が意味することは、このJavaScriptファイルをTypeScriptプロジェクトで使用するつもりはないということです。このJavaScriptファイルを変更するつもりですが、可能であればタイプチェックをしたいと思います。私は '.d.ts'ファイルを持っています。より正確な質問を編集する必要がありますか? –

+0

これは便利かもしれません - .d.tsファイルが何であるかを知っている人は(タイプコピーの定義?)あなたが何を求めているのかを知っているでしょう – mplungjan

答えて

2

を、あなたは内容で、プロジェクトのルートにjsconfig.json fileを作成したいと思う:

{ 
    "compilerOptions": {}, 
    "exclude": [ 
     "node_modules" 
    ] 
} 

このファイルにはにVSのコードを伝えますすべてのjsファイル(およびd.tsファイル)を同じプロジェクトの一部として扱います。

しかし、TypeScriptは、d.tsファイル内の型宣言fを、jsファイル内の実際の宣言であるfとマージしていないようです。

// @ts-check 

//function f(x) { return x * 2; } 

f('Not a number'); // This is an error 

しかし、そうでない場合は、ffunction(x: any): number型を持つ:あなたは、実装をコメントアウトした場合、あなたはfの正しい種類と予想エラーを取得します。

これは私には予想外のようで、私はこれを追跡するために、新たな問題をオープンしました:https://github.com/Microsoft/TypeScript/issues


また、JavaScriptのみで作業しているあなた、あなたは常に型情報を追加するためにJSDocのコメントを使用することができる場合:

// @ts-check 

/** 
* @param {number} x 
* @return {number} 
*/ 
function f(x) { return x * 2; } 

f('Not a number'); // This is an error 
関連する問題