VS2013 Javascript Intellisense ใช้งานไม่ได้กับทุกสิ่ง

ขณะนี้ระบบอัจฉริยะของฉันใน Visual Studio ใช้งานได้กับสิ่งต่าง ๆ เช่น $(this).hide เป็นต้น แต่สำหรับโค้ดด้านล่าง มันไม่ทำงานเมื่อฉันต้องการดึง op เช่น ajax, serverside และ columns เมื่อฉันกด ctrl-space ฉันไม่มีตัวเลือกที่สามารถเพิ่มได้ ฉันไม่แน่ใจว่าอะไรเป็นสาเหตุของสิ่งนี้ สิ่งนี้ไม่รองรับหรือฉันต้องกำหนดค่าบางอย่าง?

$('#example').DataTable(
        {
        serverSide: true,
        ajax: 'GetUsers',
        columns: [
            { data: 'Id', visible:false,sortable:false},
            { data: 'UserName' },
            { data: 'EmailAddress' }
        ]
    });

person Patrick    schedule 14.05.2014    source แหล่งที่มา
comment
ลองรีเฟรชด้วย Ctrl + Shift + j   -  person Dean.DePue    schedule 14.05.2014
comment
ctrl-shift-j ไม่ได้ทำอะไรเลย .... ยังไม่มีคำติชมจาก vs.   -  person Patrick    schedule 14.05.2014
comment
แปลกนะ คุณจะเห็นข้อความอัปเดตที่มุมซ้ายล่าง...   -  person Dean.DePue    schedule 14.05.2014
comment
ฉันลองด้วยการเปลี่ยน DataTable เป็น .animate... จากนั้นฉันก็ได้รับและตั้งค่าคำแนะนำที่เป็นไปได้ด้วย   -  person Patrick    schedule 14.05.2014
comment
ดูข้อมูลนี้อาจช่วยได้: blogs.msdn.com/b/microsoft_press/archive/2013/11/07/   -  person Dean.DePue    schedule 14.05.2014
comment
ฉันตั้งค่า _references.js แล้ว นอกจากนี้เมื่อฉันทำ $(something) แล้วกด a ฉันได้รับคำแนะนำ ไม่ใช่สำหรับคุณสมบัติที่คุณสามารถตั้งค่าได้   -  person Patrick    schedule 14.05.2014
comment
คุณได้รับสติปัญญาจาก $(บางสิ่ง) เพราะคุณอ้างอิง jQuery ฉันเชื่อว่า แต่ DataTable เป็นปลั๊กอินอื่นใช่ไหม   -  person GôTô    schedule 14.05.2014
comment
มันเป็นปลั๊กอินที่แตกต่างกัน ฉันยังอ้างอิงมัน สิ่งนี้คือเมื่อฉันทำเช่น $(something(animate({....}); คุณสมบัติที่คุณสามารถตั้งค่าในตำแหน่งของ .... จะไม่แสดงเช่นกัน   -  person Patrick    schedule 14.05.2014


คำตอบ (1)


Visual Studio ใช้มาร์กอัปเหมือน XML ที่มีความคิดเห็นเพื่อสร้าง javascript Intellisense

โดยพื้นฐานแล้ว คุณเพิ่มมาร์กอัปของแบบฟอร์มนี้ (สมมติว่าโค้ดนี้อยู่ใน myScript.js):

function myFeature (enable) {
    /// <summary>Summary of the function</summary>
    /// <param name='enable' type='Boolean'>True: RW, False: RO</param>

    [function code here]
}

ในตัวอย่างนี้ คุณจะเห็นว่าพารามิเตอร์ enable ได้รับการประกาศเป็นบูลีน คุณจะได้รับระบบอัจฉริยะตามนั้น

มีแท็กมากมายที่คุณสามารถใช้ได้: <summary>, <param>, <field> ฯลฯ

คุณสามารถดูเอกสารประกอบได้ที่ MSDN

หากต้องการเข้าถึง Intellisense นี้จากไฟล์สคริปต์อื่น คุณจะต้องเพิ่มข้อมูลอ้างอิงตามที่ Dean.DePue กล่าว (/// <reference path="~/Scripts/myScript.js" />) .

ตอนนี้กลับมาที่ปัญหาของคุณ

DataTable ไม่ได้ระบุไว้ในไฟล์สคริปต์ มาร์กอัปเพื่ออธิบายให้ Visual Studio ทราบว่าสิ่งต่างๆ ทำงานภายในนั้นอย่างไร Visual Studio ยังคงสามารถรับฟังก์ชันต่างๆ ได้ แต่ไม่พบข้อมูลเพิ่มเติม

โปรดทราบว่าคุณยังสามารถจัดเตรียมมาร์กอัปนี้ในไฟล์แยกต่างหากได้ (มักเรียกว่าไฟล์ vsdoc) ช่วยให้เราสามารถฝังไฟล์ย่อขนาดได้ แต่ยังคงได้รับ Intellisense โดยใช้ // <reference> ที่ชี้ไปที่ไฟล์ vsdoc


เพื่อสรุปมันขึ้นมา

DataTable ไม่ได้ให้ข้อมูล Intellisense (และไม่มีไฟล์ vsdoc แยกต่างหาก) นั่นคือสาเหตุที่คุณไม่ได้รับอะไรเลย

ตามฟังก์ชัน animate พารามิเตอร์แรกจะถูกประกาศเป็น type=Object ดังนั้นจึงอาจเป็นออบเจ็กต์ใดก็ได้โดยไม่มีรายละเอียดเพิ่มเติม

person GôTô    schedule 15.05.2014
comment
ขอบคุณสำหรับคำตอบ. - person Patrick; 15.05.2014