Node.js Tools for Visual Studioの紹介

Posted: 2013/11/29 カテゴリー: Uncategorized
タグ:, , , , , , ,

image

本日、Node.js Tools for Visual Studio (NTVS) がリリースされました!

NTVSは、VS2012、またはVS2013で動作します。Node.jsの愛好家数名がPython Tools for Visual Studio (PTVS) をフォークし、VS向けのNodeツールの開発を始めました。同時期に、PTVSチームもNode.js統合の作業をしていたので、全員が協力し、NTVSコミュニティ プロジェクトを立ち上げました。NTVSは、(npmのGUIを開発した) Red GateのBart Read、(デバッガーのいくつかの修正と機能追加を行った) ClickberryのDmitry Tretyakovの助けを借りて、PTVSを開発したのと同じチームによって開発されました。

NTVSは最初からオープン ソースであり、最初から外部からの貢献を受け入れてきました。NTVSは、ローカル、(Windows/Mac OS/Linuxで動作するサーバーに対する) リモートの両方で、編集、IntelliSense、プロファイリング、npm、デバッグをサポートし、Windows Azure Webサイト、Windows Azureクラウド サービスに対する発行もサポートしています。

NTVSは実際に非常に素晴らしく、(アルファ版ですが) いくつかの機能は非常に巧妙なので、NTVSをダウンロードして、試してみることをお薦めします。

image

Node.js Tools for Visual Studioは、どこでプログラムが時間を費やしているかを伝えるために、V8プロファイリングAPIとVisual Studioのレポート機能を活用しています。

: 「ファイル」>「新規作成」>「プロジェクト」ダイアログを見ましたか? Visual Studioはテンプレートを言語別に分類しているので、Node.jsのテンプレートはJavaScriptの下にあります。また、PythonやDjango、C#でのiOSやAndroid、TypeScript、VB、F#もすべて、Visual Studioでサポートされています。

NTVSコミュニティがNode.jsをVisual Studioに統合した方法に関して印象的な点の1つは、すでによく動作しているものの再作成ややり直しを試みなかったことでした。それは、人々が使っているNode.jsであり、node.exeであり、V8デバッガーであり、V8プロファイラーです。たとえば、NTVSは、V8プロファイラーからの出力を受け取り、Visual Studioプロファイラーのレポート ツールを使ってその出力を表示できます。車輪の再発明をする必要はなく、その作業に適したツールを使うだけです。

Node.js Tools for Visual StudioによるGhostブログ エンジンのハック

例を見てみましょう。

Visual Studioで、「ファイル」>「新規作成」>「プロジェクト」に進み、「JavaScript」をクリックし、「From Existing Node.js code」(既存のNode.jsコードから) をクリックします。

image

NTVSに、Ghostを展開したフォルダーを指定します。

image

それから、Node.js Tools for Visual Studioに、起動ファイルがindex.jsであることを伝え、「Next」をクリックし、プロジェクト ファイルを保存して、完了します。

image

この時点で、VS内にGhostが表示されます。

: Web Essentialsをインストールしているので、素晴らしい分割スクリーンのMarkdownエディターも使えます。

ここで、F5を押してデバッグするか、Ctrl-F5を押してデバッグなしで起動します。また、Nodeのパスやポート、起動ファイルが示されている、右下にあるプロジェクトのプロパティに注意してください。もちろん、これらを変更できます。

image

ここで、ローカルでGhostを実行します。次のスクリーンショットでは、Nodeのパス、ghost.jsファイル、ブラウザーを確認できます。

image

補完のための優れたIntelliSenseと、メソッド シグネチャのヘルプが使えます。

image

デバッグ

Node.js Tools for Visual Studioには、Nodeアプリのデバッグを完全にサポートしています。これには、ステップ実行、ブレークポイント、「例外でのブレーク」、および、ローカル、ウォッチ、イミディエイト、呼び出し履歴のツール ウィンドウが含まれます。

誤かの言語サービスと同様に、例外を管理できます。次のダイアログで、Node.js例外が、マネージ コード、アンマネージ コードの他の例外と並んで一覧表示されていることを確認してください。

image

Visual Studioが別のソケットでデバッガーに接続し、V8の考え方をVisual Studioのデバッグに関する考え方に変換すること以外は、デバッグは、Node V8デバッガーを使って通常通り行われます (LinuxやMacで動作するNode.jsもリモート デバッグできること覚えておいてください)。そのエクスペリエンスは、シームレスです。

次のスクリーンショットで、Ghostを実行し、node.exeをデバッグしていることを確認できます。ウォッチ ウィンドウで呼び出し履歴とローカルを確認できます。変数を検査し、ステップ実行し、Webアプリのデバッグ時にやりたいことのすべてを実行できます。

image

Visual Studio上のnpm

npmのエクスペリエンスも、かなりクールです。Node.js Tools for Visual Studioは常にファイル システムを監視しているので、コマンド ラインから、あるいはNodeのイミディエイト ウィンドウからnpmを実行することは、大歓迎です。Visual Studioでは、その変更を確認できます。

また、npmパッケージ管理ダイアログを使い、GUIでリポジトリを検索し、パッケージをインストールすることもできます。どちらを使うかは、あなた次第です。

image

パッケージをインストールしています…

image

物理的なnode_modulesや、モジュールの処理方法は、純粋にNodeです… VSはそれに触らず、それを気にかけません。しかし、Visual Studioのソリューション エクスプローラーは、物理ビュー上の論理ビューを表示します。

image

: 私は本当にこれが好きです。これには将来性があり、.NETにおける参照をこのように確認したいと考えています。NuGetパッケージを表示する、依存性ツリーのある物理/論理ビューということです。これは、プロジェクトのより良い理解に役立ちます。

さらに多数あります。REPL対話型ウィンドウがあります。ASP.NETプロジェクトが使っているのと同じ発行ウィザードを使って、他のWebプロジェクトと同様に発行できます。GitやVisual Studio発行を使って、Windows Azureにも直接Node.jsアプリを発行できます。

また、同梱されているリモート デバッグ プロキシとともにNodeを起動することで、他のマシンで実行されているNodeインスタンスをリモート デバッグ (英語 / 日本語 (機械翻訳)) できます。

image

node.exe RemoteDebug.js -machineport 5860 script.js

前述の通り、Visual Studioと、任意のサーバーOS上で実行されているNodeとの間で、リモート デバッグを実行できます。

まとめ

Visual Studioが (私には短時間に見える間に) かなり優秀な言語/環境の「工場」に発展しつつあることを、個人的にはかなり喜んでいます。

Node.js Tools for Visual Studioは、Apacheライセンスの基で完全にオープン ソースであり、貢献とバグ報告を歓迎しています。NTVSはアルファ版であり、早期ですが、素晴らしいものです。試してみてください。関係者の皆さん、おめでとうございます!

関連情報

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中