ASPXに対するJavascriptのインテリセンスが有効にならないと思ったら、Resharperのせい?
Visual Studioを使っていると、外部Javascriptファイルのインテリセンスも結構頑張って出してくれるじゃないですか、WebFormsを使っていたりすると、ページ側にこんな変数を定義してページとは別に定義したJavascript側でこの変数を参照したりとかするわけですよ。
ASPX側(WebForm1.aspx)
<script type="text/javascript" src="<%= ResolveClientUrl("~/Scripts/jquery-1.9.0.js")%>"></script> <script type="text/javascript" src="<%= ResolveClientUrl("~/WebForm1.aspx.js")%>"></script> <script type="text/javascript"> var clientIds = { textBox1: "#<%= textBox1.ClientID %>", textBox2: "#<%= textBox2.ClientID %>", button1: "#<%= button1.ClientID %>" };
JS側(WebForm1.aspx.js)
/// <reference path="~/WebForm1.aspx"/> $(function() { $(clientIds.button1).on("click", function() { $(clientIds.textBox2).val($(clientIds.textBox1).val() + (new Date().toString())); }); });
JS側の1行目にreferenceディレクティブでASPXへのパスが指定されているので、javascript側でclientIdsのオブジェクト一覧がインテリセンスに出るはずなんです。MSDNにもそう書いてあります。。。が、なぜか出ないのです。どうもReSharper側の問題だったようです。ReSharperのオプション→InteliSense→GeneralからインテリセンスのタイプをVisual Studioにしたところ
ちゃんとclientIdsのプロパティーの一覧が候補に出てくれました!!やったー♪
だけれど、JSだけのために切り替えるのも微妙なんですよね。対応してくれないかなー。
カテゴリー:メモ, Visual Studio
javascript, ReSharper
コメント (0)
Trackbacks (0)
コメントを残す
トラックバック