vs2013 express + JavaScript

症状

VisualStudio 2013 Express for WEB 上で JavaScriptデバッグしたかったのですが、ブレークポイントが利きません・・・困った。

(追記じゃ)
  • NTVS Dev 2015-03-03 VS 2013.msi

なるものの存在を見つけました。普通にブレークポイントが利くそうですが、

  • NTVS 1.0 VS 2013.msi (Wed Mar 25, 2015 at 7:00 AM)

よりも古いので、インストールで断られました。開発版なので1.0よりも内容的には進んでいる可能性もありますが、次の正式版まで待つことにします(他の人達は問題なく動いているらしい。もしかして私だけとか...)。

(更に追記です)

VisualStudio2013 community版を使うことにしました。しかも、TypeScriptです。InntelliSenseもブレークポイントも利きます。苦労なし。

対策

ステップ・イン(F11)を使う。

経緯

JavaScriptPHPの変わりに使おうと目論んだのが動機でしたが見事に躓きました。昔は、emacsPerlを書き、その後はemacsPHPを書き。日々の作業をbashと共にこなすのが私の人生・・・なんと寂しい人生ではないか・・・そうじゃなくて・・・PCをアップデートしたのを機に、日常に変化を求め、PHPからJavaScriptに変更できないかと思ってしまったのです。
アプリを作るというのではなく、作業の自動化が目的です。.batや.shだと、DOMの扱いが面倒なのでPHPを使用しているのですが、JavaScript+Node.jsなら代替が利きそうだと思った訳です。
さて、次のような要望をemacs上で満たそうとすると、

  1. 補完したい。
    • js2-mode, tern-mode とか?
  2. デバッガ使いたい。
    • node.exe debug モードとか?

Node.jsも良くわからないのに環境整備とか鶏・卵です。早々に代替案を模索した結果、寄らば大樹のMicrosoftさんにお世話になろうと思いました(だめなら、emacsに戻ればいいのですから)。

インストール

VisualStudio Express 2013 for web とNode.jsをインストール。

  • vns_full.exe
  • NTVS 1.0 VS 2013.msi
  • node-v0.12.3-x64.msi
新規プロジェクト作成 [ファイル][新しいプロジェクト...]

おぉ、JavaScript, Node.js が使えます。とりあえず、Console で。

[OK]

ほほぅ、できましたね。Hello アプリです。

補完

ひゃはっ、インテリセンスさまさまです。

実行、ブレークポイントが利きません

何じゃこりゃ?「ブレークポイントは現在の設定ではヒットしません。」

No code has been loaded for this code location.

ステップ・イン

色々、ぐだぐだして、検索しても結局わからずじまい。なんだか、「アタッチプロセス」しろというのであすが、Expressにはそんなものありません。製品版を買えと?んな高いもの?・・・インテリセンスでよしとして、デバッガはnode.exeのデバッグモードでもいいかぁ・・・と思ったのでした・・・が、たまたま、ステップ・インしたらできました。

続行

ほらほら、続行したら、ブレークポイントで止まってる。ローカル変数の表示もされてる(実行窓の後ろで見えにくいけど)。

もちろん、続けて、続行したらちゃんと最後までいきます。

うーん、なんでapp.jsが2枚あるんだ?わかりませんが、とりあえずブレークできたので、よしとします。

蛇足

この2枚のapp.jsは、ブレーク・ポイントが利くのと、利かないのが1枚ずつあるという不気味さ。閉じても大丈夫なのか?間違ったほうを閉じたら、また、ブレークポイントが・・・と思いましたが、ステップ・イン使えば問題は無いようです。
全閉じしておいて、F11(ステップ・イン)すれば、ブレーク・ポイントが有効な1枚だけが開きます。不気味だ。
(以上)