Bagaimana Anda mendapatkan JavaScript / jQuery Intellisense Bekerja di Visual Studio 2008?

92

Saya pikir jQuery Intellisense seharusnya ditingkatkan dengan SP1. Saya bahkan mengunduh versi jQuery 1.2.6 yang dianotasi, tetapi intellisense tidak akan berfungsi dalam file jscript terpisah. Saya memiliki pustaka jQuery yang direferensikan pertama kali di halaman web saya di tag <head>. Apakah saya melakukan sesuatu yang salah?

Mark Struzinski
sumber

Jawaban:

87

Di bagian atas file JavaScript eksternal Anda, tambahkan yang berikut ini:

/// <reference path="jQuery.js"/>

Pastikan jalurnya benar, relatif terhadap posisi file dalam struktur folder, dll.

Juga, referensi harus berada di atas file, sebelum setiap teks lainnya, termasuk komentar - secara harfiah, hal pertama dalam file. Mudah-mudahan versi Visual Studio yang akan datang akan berfungsi di mana pun itu di file, atau mungkin mereka akan melakukan sesuatu yang sama sekali berbeda ...

Setelah Anda selesai melakukannya dan menyimpan file , tekan Ctrl+ Shift+ Juntuk memaksa Visual Studio memperbarui Intellisense.

Jason Bunting
sumber
1
Tidak masalah, senang saya bisa membantu! Dukungan Intellisense untuk JavaScript masih harus berjalan jauh, bahkan dengan SP1 hal-hal masih agak hackish, menurut saya. Baiklah, setidaknya mereka melakukan sesuatu untuk membantu! :)
Jason Bunting
FYI: Saya memperbarui judul ini untuk mencerminkan fakta bahwa ini tidak spesifik hanya untuk jQuery, karena sebenarnya tidak. Terima kasih atas pertanyaannya!
Jason Bunting
Juga, yang perlu diperhatikan, pastikan Anda menggunakan atribut PATH daripada NAMA. Saya telah melihat banyak contoh w /: /// <reference name = "jQuery.js" /> (SALAH) daripada /// <reference path = "jQuery.js" /> (CORRECT)
Nathan
Ya - eh, itulah yang ditunjukkan oleh kode saya. Apakah saya melewatkan sesuatu?
Jason Bunting
1
shift-control-j akan memaksa Intellisense untuk dihitung ulang.
15

Ada file JavaScript dokumentasi jQuery yang didukung secara resmi untuk Visual Studio 2008. File ini hanya perbaikan sementara hingga Microsoft merilis hotfix yang akan mengatasi masalah ini dengan lebih memadai.

Tersemat di ASPX:

<% if (false) { %>
    <script src="jquery-1.2.6-vsdoc.js" type="text/javascript"></script>
<% } %>

Tersemat di JavaScript:

/// <reference path="jquery-1.2.6-vsdoc.js" />

Ambil di sini: jquery-1.2.6-vsdoc.js

Referensi :

JD Courtoy
sumber
Ini adalah satu-satunya pilihan yang membuatnya bekerja untuk saya di VS 2010 Ultimate.
Alek Davis
8

Anda akan ingin melihat tautan ini:

http://blogs.ipona.com/james/archive/2008/02/15/JQuery-IntelliSense-in-Visual-Studio-2008.aspx

UPDATE: Ada HotFix baru untuk Visual Studio 2008 dan file Dokumentasi jQuery Intellisense baru yang menghadirkan jQuery Intellisense lengkap ke VS'08. Di bawah ini adalah tautan untuk mendapatkan keduanya:

http://blogs.msdn.com/webdevtools/archive/2008/11/07/hotfix-to-enable-vsdoc-js-intellisense-doc-files-is-now-available.aspx

http://blogs.msdn.com/webdevtools/archive/2008/10/28/rich-intellisense-for-jquery.aspx

Chris Pietschmann
sumber
Jika saya bisa memberi Anda 10 suara, saya akan melakukannya. File intellisense yang dihasilkan secara terprogram yang direferensikan di sini mengubah jQuery intellisense dari hampir tidak berguna menjadi sangat diperlukan. Luar biasa!
Herb Caudill
3

Untuk JavaScript sebaris, gunakan:

/// <jalur referensi = "~ \ js \ jquery-vsdoc.js" />

Perhatikan garis miring belakang .

Ini tidak akan berhasil:

/// <reference path = "~ / js / jquery-vsdoc.js" />

Peter Mortensen
sumber
2

Anda tidak perlu benar-benar merujuk pada versi "-vsdoc". Jika Anda meletakkan jquery-1.2.6-vsdoc.js di direktori yang sama dengan jquery-1.2.6.js maka Visual Studio akan tahu untuk menyembunyikan referensi jquery-1.2.6.js ke jquery-1.2.6-vsdoc. js.

Saya pikir itu benar-benar akan berfungsi untuk file apa pun.

Hmmm ... itu memberikan solusi yang bagus untuk pertanyaan lain di situs ini ...

Sunting: Fitur ini hanya bekerja dengan VS2008 Service Pack 1.

Alan Oursland
sumber
Tampaknya saya pribadi harus menyimpan "-vsdoc" dalam referensi saya untuk membuatnya berfungsi ... Saya menggunakan VS2008 dengan SP 1. (Dan ya, ini ada di direktori yang sama.) Mungkin saya perlu melihat itu perbaikan terbaru yang disarankan oleh Chris Pietschmann, di atas?
Funka
Chris benar. Fungsionalitas 'vsdoc' telah ditambahkan dengan perbaikan terbaru yang dia rujuk di atas.
Alan Oursland
2

Jika Anda menyertakan file jQuery beranotasi di sumber Anda hanya untuk intellisense, saya sarankan untuk memanfaatkan arahan preprocessor untuk menghapusnya dari pandangan Anda saat Anda mengompilasi. Ala:

<% #if (false) %>
  <!-- This block is here for jquery intellisense only.  It will be removed by the compiler! -->
  <script type="text/javascript" src="Scripts/jquery-1.3.2-vsdoc.js"></script>
<% #endif %>

Kemudian di kode Anda, Anda benar - benar dapat mereferensikan jQuery. Ini berguna saat menggunakan Google AJAX Libraries API , karena Anda mendapatkan semua manfaat yang diberikan Google, ditambah dengan Intellisense.

Berikut adalah contoh penggunaan API Perpustakaan:

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
   google.load("jquery", "1.3.2", { uncompressed: false });
</script>
nikmd23
sumber
0

Jika Anda ingin mengambil file Intellisense dari Microsoft CDN, Anda dapat menggunakan:

/// <reference path="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.1-vsdoc.js" />
Steve Miller
sumber
0

Pastikan Anda tidak menggunakan file jQuery yang diperkecil.

Gunakan Ctrl+ Shift+ J untuk membuatnya berfungsi setelah menambahkan file JavaScript ke proyek.

roman m
sumber
Saya telah berjuang untuk membuat intellisense bekerja sampai saya menemukan ini, karena saya menggunakan versi yang diperkecil dan bertanya-tanya mengapa itu tidak berhasil untuk saya.
RKP