VS Codeのエージェントモードを拡張するには、を試してください!

Visual Studio Code での TypeScript チュートリアル

TypeScript は、JavaScript の型付きスーパーセットであり、プレーンな JavaScript にコンパイルされます。堅牢なコンポーネントを構築するのに役立つクラス、モジュール、インターフェースを提供します。

TypeScript コンパイラーをインストールする

Visual Studio Code には TypeScript 言語サポートが含まれていますが、TypeScript コンパイラーである tsc は含まれていません。TypeScript ソースコードを JavaScript にトランスパイルするには (tsc HelloWorld.ts)、TypeScript コンパイラーをグローバルに、またはワークスペースにインストールする必要があります。

TypeScript をインストールする最も簡単な方法は、Node.js Package Manager である npm を使用することです。npm がインストールされている場合、次のコマンドで TypeScript をコンピューターにグローバル (-g) にインストールできます。

npm install -g typescript

バージョンを確認することで、インストールをテストできます。

tsc --version

Hello World

簡単な Hello World Node.js の例から始めましょう。新しいフォルダー HelloWorld を作成し、VS Code を起動します。

mkdir HelloWorld
cd HelloWorld
code .

ファイルエクスプローラーから、helloworld.ts という新しいファイルを作成します。

create new file

次に、以下の TypeScript コードを追加します。TypeScript のキーワード letstring 型宣言に注目してください。

let message: string = 'Hello World';
console.log(message);

TypeScript コードをコンパイルするには、統合ターミナル (⌃` (Windows、Linux Ctrl+`)) を開き、tsc helloworld.ts と入力します。これにより、コンパイルされ、新しい helloworld.js JavaScript ファイルが作成されます。

compiled hello world

Node.js がインストールされている場合は、node helloworld.js を実行できます。

run hello world

helloworld.js を開くと、helloworld.ts とそれほど変わらないことがわかります。型情報は削除され、letvar になっています。

var message = 'Hello World';
console.log(message);

IntelliSense

VS Code では、構文の強調表示や括弧のマッチングなどの言語機能が利用できます。エディターで入力しているときに、VS Code と TypeScript 言語サーバーが提供するスマートなコード補完と提案である IntelliSense に気づいたかもしれません。以下に console のメソッドを示します。

IntelliSense

メソッドを選択すると、パラメーターのヘルプが表示され、常にホバー情報を取得できます。

parameter help

tsconfig.json

このチュートリアルではこれまで、TypeScript ソースコードをコンパイルするために TypeScript コンパイラーのデフォルトの動作に頼ってきました。コンパイラーオプションや含めるべきファイルなどの TypeScript プロジェクト設定を定義する tsconfig.json ファイルを追加することで、TypeScript コンパイラーオプションを変更できます。

重要: このチュートリアルの残りの部分で tsconfig.json を使用するには、入力ファイルなしで tsc を呼び出します。TypeScript コンパイラーは、プロジェクト設定とコンパイラーオプションのために tsconfig.json を参照することを知っています。

ES5 にコンパイルし、CommonJS モジュールを使用するようにオプションを設定する簡単な tsconfig.json を追加します。

{
  "compilerOptions": {
    "target": "ES5",
    "module": "CommonJS"
  }
}

tsconfig.json を編集する際、IntelliSense (⌃Space (Windows、Linux Ctrl+Space)) がその作業を助けてくれます。

tsconfig.json IntelliSense

既定では、files 属性が含まれていない場合、TypeScript は現在のフォルダーとサブフォルダー内のすべての .ts ファイルを含めるため、helloworld.ts を明示的にリストする必要はありません。

ビルド出力の変更

生成された JavaScript ファイルが TypeScript ソースと同じフォルダーにあると、大規模なプロジェクトではすぐに煩雑になるため、outDir 属性を使用してコンパイラーの出力ディレクトリを指定できます。

{
  "compilerOptions": {
    "target": "ES5",
    "module": "CommonJS",
    "outDir": "out"
  }
}

helloworld.js を削除し、オプションなしでコマンド tsc を実行します。helloworld.jsout ディレクトリに配置されていることがわかります。

TypeScript 言語サービスの他の機能や、タスクを使用して VS Code から直接ビルドを実行する方法については、「TypeScript のコンパイル」を参照してください。

エラーチェック

TypeScript は、強力な型チェックによって一般的なプログラミングミスを回避するのに役立ちます。たとえば、message に数値を代入すると、TypeScript コンパイラーは 「error TS2322: Type '2' is not assignable to type 'string'」 というエラーを報告します。VS Code では、エディター (ホバー情報付きの赤い波線) と問題パネル (⇧⌘M (Windows、Linux Ctrl+Shift+M)) の両方で型チェックエラーを確認できます。[ts] というプレフィックスは、このエラーが TypeScript 言語サービスからのものであることを示しています。

incorrect type error

クイックフィックス

TypeScript 言語サービスには、一般的なコーディングの問題を発見するための強力な診断機能セットがあります。たとえば、ソースコードを分析して、エディターで薄暗く表示される到達不能なコードを検出できます。ソースコードの行にカーソルを合わせると、説明が表示され、その行にカーソルを置くと、クイックフィックスの電球が表示されます。

unreachable code detected

電球をクリックするか、⌘. (Windows、Linux Ctrl+.) を押すと、クイックフィックスメニューが表示され、到達不能なコードの削除修正を選択できます。

さらに、**コードアクションウィジェット: 近くのクイックフィックスを含める** (editor.codeActionWidget.includeNearbyQuickFixes) は、既定で有効になっている設定であり、その行のどこにカーソルがあっても、⌘. (Windows、Linux Ctrl+.) (コマンド ID editor.action.quickFix) から行内の最も近いクイックフィックスをアクティブ化します。

このコマンドは、クイックフィックスでリファクタリングまたは修正されるソースコードをハイライト表示します。通常のコードアクションと修正以外のリファクタリングは、カーソル位置で引き続きアクティブ化できます。

デバッグ

VS Code には TypeScript のデバッグの組み込みサポートがあります。実行中の JavaScript コードと組み合わせて TypeScript をデバッグするために、VS Code はデバッガーが元の TypeScript ソースコードと実行中の JavaScript をマッピングするためのソースマップに依存しています。tsconfig.json"sourceMap": true を設定することで、ビルド中にソースマップを作成できます。

{
  "compilerOptions": {
    "target": "ES5",
    "module": "CommonJS",
    "outDir": "out",
    "sourceMap": true
  }
}

tsc を実行して再ビルドすると、out ディレクトリに helloworld.js の隣に helloworld.js.map が作成されます。

エディターで helloworld.ts を開いた状態で、F5 を押します。他のデバッガー拡張機能がインストールされている場合は、ドロップダウンから Node.js を選択する必要があります。

デバッガーはセッションを開始し、コードを実行し、「Hello World」メッセージをデバッグコンソールパネルに表示します。

debug console output

helloworld.ts で、エディターの左側のガターをクリックしてブレークポイントを設定します。ブレークポイントが設定されると赤い円が表示されます。もう一度 F5 を押します。ブレークポイントに到達すると実行が停止し、**実行とデバッグ**ビュー (⇧⌘D (Windows、Linux Ctrl+Shift+D)) で変数やコールスタックなどのデバッグ情報を確認できます。

debug breakpoint

VS Code の TypeScript 用組み込みデバッグサポートの詳細と、プロジェクトのシナリオに合わせてデバッガーを構成する方法については、「TypeScript のデバッグ」を参照してください。

次のステップ

このチュートリアルは、VS Code を TypeScript 開発に利用するための簡単な紹介でした。引き続き読み進めて、VS Code の TypeScript 用コンパイルおよびデバッグサポートの詳細を確認してください。

よくある質問

対応する JavaScript が見つからないため、プログラムを起動できません

おそらく tsconfig.json"sourceMap": true を設定しておらず、VS Code の Node.js デバッガーが TypeScript ソースコードを実行中の JavaScript にマッピングできません。ソースマップを有効にしてプロジェクトを再ビルドしてください。