web-dev-qa-db-ja.com

IntelliSenseファイルをvsCode(Visual Studio Code)にインポートする方法

Microsoftの新しいvsCodeテキストエディターでインテリセンスがどのように機能するかを理解していない。 "Great Code Editing Experience"見出しの下の docs で、ノードのグローバル変数の下に警告が表示されます__dirそして、ノードのインテリセンスを取得できるようにd.tsファイルへの参照を追加するための電球の提案を提供します。

enter image description here

2つの質問があります。

1-どのように DefinitelyTyped ファイル(d.ts)を直接(エディターからの提案なしに)インポートするか、githubソースからコピーしてタイピングディレクトリに配置する必要がありますか?

2-TypeScript定義を持つライブラリのインテリセンスを取得できますか?以下を試してみましたが、express.またはwhen.と入力すると、インテリセンスが得られません。ただし、ノードインテリセンスは取得します。

/// <reference path="../typings/node/node.d.ts"/>
/// <reference path="../typings/express/express.d.ts" />

var when    = require('when')
  , express = require('express')
  , gulp    = require('gulp')
32
kurtcorbett

更新:2016年8月:TSDは現在減価償却されています。代わりに https://www.npmjs.com/package/typings を使用してください

npm install typings --global

OR

2016年7月29日にリリースされたVS2015 NodeJS v1.2を使用する場合、typings-core @ 1.3.1は最初の使用時に自動的にインストールされます。

Executing command 'npm install "C:\PROGRAM FILES (X86)\Microsoft VISUAL STUDIO 14.0\COMMON7\IDE\EXTENSIONS\Microsoft\NODE.JS TOOLS FOR VISUAL STUDIO\1.2\TypingsAcquisitionTool"
[email protected] ..\..\..\..\..\node_modules\ntvs-typings-acquisition-tool
├── [email protected]
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])

-----元の回答-----

TypeScript定義ファイル用のパッケージマネージャーがあります。これは、多くの一般的なライブラリのTypeScript定義を含むコミュニティ主導のリポジトリです。

here の指示に従ってtsdをインストールできます。

Tsdをグローバルにインストールしたら、次のようにコマンドラインでプロジェクトルートからパッケージをインストールできます。

$ tsd install express --save

これにより、タイピングディレクトリが存在しない場合は作成され、express.d.tsファイルを含むエクスプレスディレクトリが追加されます。

Screenshot

また、すべてのtsdファイルへの参照を含むtsd.d.tsファイルも作成します。 tsdをさらにインストールすると、次のようになります。

enter image description here

Tsdファイルにアクセスするには、コードの先頭で/// <reference path="typings/tsd.d.ts" />を使用してパスを参照するだけです。

enter image description here

今、私はインテリセンスを取得します。

enter image description here

49
kurtcorbett

2016年1月、「tsd」パッケージは廃止されました。代わりに「typings」パッケージを使用してください。

https://github.com/DefinitelyTyped/tsd/issues/269 を参照してください

そして、VS Code(ext install)に2つのエクステンション-Typings InstallerおよびTypingsVS Codeからd.ts定義ファイルを簡単にインストールできます。

16
Dima Fomin

Explicit Projectモードで作業しているかどうかを確認します(REF: https://code.visualstudio.com/Docs/languages/javascript# _javascript-projects-jsconfigjson

何が起こっている?

Explicit Project Modeでは、VS Codeはintellisenseのtypingsフォルダーの下にある「main.d.ts」ファイルを使用します。このファイルには他の定義ファイルへの参照があるため、インテリジェンスは完璧に機能します。私の場合、main.d.tsは次のようになります

/// <reference path="main/ambient/express-serve-static-core/index.d.ts" />
/// <reference path="main/ambient/express/index.d.ts" />
/// <reference path="main/ambient/node/index.d.ts" />
/// <reference path="main/ambient/serve-static/index.d.ts" />

ファイルスコープモードでは、VS Codeはタイピング定義をチェックしないため、インテリジェンスはありません。このような場合にインテリジェンスを追加するには、定義を手動で参照するときに参照タグが便利です。手動で参照している場合は、特定のライブラリの定義に進むのではなく、タイピングの下のmain.d.tsを参照してください。これにより、コードの参照密度が低くなります。

また、jsconfig.jsonに相当するTypeScriptはtsconfig.jsonであることに注意してくださいまた、エディターを明示的プロジェクトモードに設定します。

3
Mahesh V S

これは、2017年4月のリリース後にjsconfig.jsonファイルで実現できます。

ファイルのサンプルコンテンツ:

{
 "typeAcquisition": {
     "include": [
         "jquery",
          "underscore"
     ]
   }
}

VSCodeについてはjsoncifg.jsonリファレンスを参照してください here。

3
kepils

https://github.com/borisyankov/DefinitelyTyped からexpress.d.tsファイルをダウンロードし、プロジェクトディレクトリに関連するパスでそれを参照することにより、Expressで動作するExpress IntelliSenseを取得しました。

/// <reference path="express.d.ts"/>

/typingsが何を指しているのかを探しています。プロジェクト設定の一部としてd.tsファイルを設定するのもいいかもしれません。

編集:

それを見つけた。

~/Downloads/VSCode-osx
▶ find . -type d -name "typings"
./Visual Studio Code.app/Contents/Resources/app/node_modules/applicationinsights/Scripts/typings

そのため、デフォルトではOSX .appにnodeasync、およびapplicationInsightsがバンドルされています。あなたが望む他のものは、私が上でやったように単純に含めることができると思います。

編集編集:

@kurtcorbettが言及している tsdパッケージマネージャー は見栄えが良いので、それを使用します。

1
Andrew Lavers

パッケージのタイプ定義を自動的にインストールする場合は、 Types auto installer 拡張機能をダウンロードできます。 package.jsonおよびbower.jsonを監視し、タイプを自動的にインストールします。

この拡張機能の最大の利点は、npmを介してタイプをインストールするため、コードに/// reference行を含める必要がないことです。

1
tamj0rd2

私がやったのは、電球に触れて、node/node.d.tsへの参照をプロジェクトに追加するというオプションを選択することでした。

その後、次のように書きました。

0
Bandito11