คุณจะทำให้ JavaScript / jQuery Intellisense ทำงานใน Visual Studio 2008 ได้อย่างไร


92

ฉันคิดว่า jQuery Intellisense ควรได้รับการปรับปรุงด้วย SP1 ฉันยังดาวน์โหลด jQuery 1.2.6 เวอร์ชันที่มีคำอธิบายประกอบ แต่ intellisense จะไม่ทำงานในไฟล์ jscript แยกต่างหาก ฉันมีไลบรารี jQuery ที่อ้างอิงเป็นอันดับแรกบนหน้าเว็บของฉันในแท็ก <head> ฉันทำอะไรผิดหรือเปล่า?

คำตอบ:


87

ที่ด้านบนของไฟล์ JavaScript ภายนอกให้เพิ่มสิ่งต่อไปนี้:

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

ตรวจสอบให้แน่ใจว่าเส้นทางนั้นถูกต้องสัมพันธ์กับตำแหน่งของไฟล์ในโครงสร้างโฟลเดอร์ ฯลฯ

นอกจากนี้ยังมีการอ้างอิงใด ๆ จะต้องมีที่ด้านบนของไฟล์ก่อนที่ใด ๆข้อความอื่น ๆ รวมถึงความคิดเห็น - ตัวอักษร, สิ่งแรกในแฟ้ม หวังว่า Visual Studio เวอร์ชันในอนาคตจะใช้งานได้ไม่ว่าจะอยู่ที่ใดในไฟล์หรืออาจจะทำบางอย่างที่แตกต่างไปโดยสิ้นเชิง ...

เมื่อคุณดำเนินการเสร็จสิ้นและบันทึกไฟล์แล้วให้กดCtrl+ Shift+ Jเพื่อบังคับให้ Visual Studio อัปเดต Intellisense


1
ไม่มีปัญหาดีใจที่ช่วยได้! ฉันคิดว่าการสนับสนุน Intellisense สำหรับ JavaScript ยังไปได้อีกไกลแม้ว่า SP1 จะยังคงแฮ็คอยู่บ้างก็ตาม โอ้อย่างน้อยพวกเขาก็ทำอะไรบางอย่างเพื่อช่วย! :)
Jason Bunting

FYI: ฉันอัปเดตชื่อของสิ่งนี้เพื่อสะท้อนความจริงที่ว่านี่ไม่ได้เฉพาะเจาะจงกับ jQuery เท่านั้นเนื่องจากมันไม่ได้เป็นเช่นนั้นจริงๆ ขอบคุณสำหรับคำถาม!
Jason Bunting

นอกจากนี้โปรดทราบว่าคุณใช้แอตทริบิวต์ PATH แทน NAME ฉันได้เห็นตัวอย่างมากมาย w /: /// <reference name = "jQuery.js" /> (INCORRECT) มากกว่า /// <reference path = "jQuery.js" /> (CORRECT)
Nathan

ใช่ - เอ่อนั่นคือสิ่งที่รหัสของฉันระบุ ฉันพลาดอะไรไปหรือเปล่า?
Jason Bunting

1
shift-control-j จะบังคับให้ intellisense ถูกคำนวณใหม่

15

มีไฟล์ JavaScript เอกสาร jQuery ที่ได้รับการสนับสนุนอย่างเป็นทางการสำหรับ Visual Studio 2008 ไฟล์นี้เป็นเพียงการแก้ไขชั่วคราวจนกว่า Microsoft จะเผยแพร่โปรแกรมแก้ไขด่วนซึ่งจะช่วยแก้ไขปัญหาได้อย่างเพียงพอมากขึ้น

ฝังตัวใน ASPX:

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

ฝังใน JavaScript:

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

เลือกได้ที่นี่: jquery-1.2.6-vsdoc.js

อ้างอิง :


นี่เป็นตัวเลือกเดียวที่ทำให้มันใช้งานได้สำหรับฉันใน VS 2010 Ultimate
Alek Davis

8

คุณจะต้องดูที่ลิงค์นี้:

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

อัปเดต: มี HotFix ใหม่สำหรับ Visual Studio 2008 และไฟล์ jQuery Intellisense Documentation ใหม่ที่นำ jQuery Intellisense แบบเต็มไปยัง VS'08 ด้านล่างนี้เป็นลิงค์เพื่อรับสองสิ่งนี้:

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


ถ้าฉันสามารถให้คุณได้ 10 คะแนนฉันจะ ไฟล์ intellisense เท่านั้นที่สร้างขึ้นโดยโปรแกรมที่อ้างถึงที่นี่จะเปลี่ยน jQuery intellisense จากสิ่งที่แทบไม่มีประโยชน์ไปเป็นสิ่งที่ขาดไม่ได้ โดดเด่น!
Herb Caudill

3

สำหรับ inline JavaScript ให้ใช้:

/// <เส้นทางอ้างอิง = "~ \ js \ jquery-vsdoc.js" />

สังเกตเครื่องหมายทับด้านหลัง

สิ่งนี้จะไม่ทำงาน:

/// <เส้นทางอ้างอิง = "~ / js / jquery-vsdoc.js" />


2

คุณไม่จำเป็นต้องอ้างอิงเวอร์ชัน "-vsdoc" จริงๆ หากคุณใส่ jquery-1.2.6-vsdoc.js ในไดเร็กทอรีเดียวกับ jquery-1.2.6.js Visual Studio จะรู้ว่าจะปกปิดการอ้างอิง jquery-1.2.6.js ไปยัง jquery-1.2.6-vsdoc js.

ฉันคิดว่าจะใช้งานได้จริงกับไฟล์ใด ๆ

อืม ... นั่นเป็นวิธีแก้ปัญหาที่ดีสำหรับคำถามอื่นในไซต์นี้ ...

แก้ไข: คุณลักษณะนี้ใช้ได้กับ VS2008 Service Pack 1 เท่านั้น


ดูเหมือนว่าโดยส่วนตัวแล้วฉันต้องเก็บ "-vsdoc" ไว้ในข้อมูลอ้างอิงเพื่อให้ใช้งานได้ ... ฉันใช้ VS2008 กับ SP 1 (และใช่สิ่งเหล่านี้อยู่ในไดเร็กทอรีเดียวกัน) บางทีฉันอาจต้องดูที่ โปรแกรมแก้ไขด่วนที่แนะนำโดย Chris Pietschmann ด้านบน?
Funka

คริสพูดถูก ฟังก์ชัน 'vsdoc' ถูกเพิ่มด้วยโปรแกรมแก้ไขด่วนที่เขาอ้างถึงข้างต้น
Alan Oursland

2

หากคุณรวมไฟล์ jQuery ที่มีคำอธิบายประกอบไว้ในซอร์สของคุณสำหรับ intellisense เท่านั้นฉันขอแนะนำให้ใช้ประโยชน์จากคำสั่งพรีโปรเซสเซอร์เพื่อลบออกจากมุมมองของคุณเมื่อคุณคอมไพล์ 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 %>

จากนั้นในภายหลังในรหัสของคุณคุณสามารถจริงๆอ้างอิง jQuery สิ่งนี้มีประโยชน์เมื่อใช้Google AJAX Libraries APIเพราะคุณจะได้รับประโยชน์ทั้งหมดที่ Google มอบให้คุณรวมถึง Intellisense

นี่คือตัวอย่างการใช้ Libraries API:

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



0

ตรวจสอบให้แน่ใจว่าคุณไม่ได้ใช้ไฟล์ jQuery ที่ย่อขนาดแล้ว

ใช้Ctrl+ Shift+ J เพื่อให้ทำงานได้หลังจากเพิ่มไฟล์ JavaScript ในโปรเจ็กต์


ฉันพยายามดิ้นรนเพื่อให้ Intellisense ทำงานจนกว่าฉันจะพบสิ่งนี้เพราะฉันใช้เวอร์ชันย่อขนาดและสงสัยว่าทำไมมันถึงไม่ได้ผลสำหรับฉัน
RKP
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.