Làm cách nào để bạn có được JavaScript / jQuery Intellisense Làm việc trong Visual Studio 2008?


92

Tôi nghĩ jQuery Intellisense được cho là sẽ được cải thiện với SP1. Tôi thậm chí đã tải xuống phiên bản có chú thích của jQuery 1.2.6, nhưng intellisense sẽ không hoạt động trong một tệp jscript riêng biệt. Tôi có thư viện jQuery được tham chiếu đầu tiên trên trang web của tôi trong thẻ <head>. Tôi có làm gì sai không?

Câu trả lời:


87

Ở đầu tệp JavaScript bên ngoài của bạn, hãy thêm phần sau:

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

Đảm bảo đường dẫn chính xác, liên quan đến vị trí của tệp trong cấu trúc thư mục, v.v.

Ngoài ra, bất kỳ tham chiếu nào cũng cần phải ở đầu tệp, trước bất kỳ văn bản nào khác, bao gồm cả nhận xét - theo nghĩa đen, là điều đầu tiên trong tệp. Hy vọng rằng phiên bản Visual Studio trong tương lai sẽ hoạt động bất kể nó nằm ở đâu trong tệp, hoặc có thể chúng sẽ làm điều gì đó hoàn toàn khác ...

Khi bạn đã hoàn thành việc đó và lưu tệp , hãy nhấn Ctrl+ Shift+ Jđể buộc Visual Studio cập nhật Intellisense.


1
Không sao, rất vui vì tôi có thể giúp đỡ! Tôi nghĩ rằng hỗ trợ Intellisense cho JavaScript vẫn còn một chặng đường dài, ngay cả với SP1, mọi thứ vẫn còn hơi khó khăn. Ồ, ít nhất họ đang làm gì đó để giúp đỡ! :)
Jason Bunting

FYI: Tôi đã cập nhật tiêu đề của cái này để phản ánh thực tế là cái này không chỉ dành riêng cho jQuery, vì nó thực sự không phải vậy. Cảm ơn vì câu hỏi!
Jason Bunting

Ngoài ra, cần lưu ý, hãy đảm bảo rằng bạn sử dụng thuộc tính PATH thay vì TÊN. Tôi đã thấy nhiều ví dụ w /: /// <tham khảo name = "jQuery.js" /> (không chính xác) chứ không phải là /// <đường dẫn tham chiếu = "jQuery.js" /> (ĐÚNG)
Nathan

Yeah - uh, đó là những gì mã của tôi chỉ ra. Tôi đã bỏ lỡ điều gì đó?
Jason Bunting

1
shift-control-j sẽ buộc intellisense phải được tính toán lại.

15

Có một tệp JavaScript tài liệu jQuery được hỗ trợ chính thức cho Visual Studio 2008. Tệp này chỉ là một bản sửa lỗi tạm thời cho đến khi Microsoft phát hành một hotfix sẽ giải quyết vấn đề đầy đủ hơn.

Được nhúng trong ASPX:

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

Được nhúng trong JavaScript:

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

Đón xem tại đây: jquery-1.2.6-vsdoc.js

Tài liệu tham khảo :


Đây là tùy chọn duy nhất làm cho nó hoạt động với tôi trong VS 2010 Ultimate.
Alek Davis

8

Bạn sẽ muốn xem liên kết này:

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

CẬP NHẬT: Có một HotFix mới cho Visual Studio 2008 và một tệp Tài liệu jQuery Intellisense mới mang đầy đủ jQuery Intellisense cho VS'08. Dưới đây là các liên kết để lấy hai thứ này:

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


Nếu tôi có thể cho bạn 10 phiếu bầu, tôi sẽ. Tệp chỉ intellisense được tạo theo chương trình được tham chiếu ở đây sẽ thay đổi jQuery intellisense từ gần như vô dụng thành không thể thiếu. Nổi bật!
Herb Caudill 14/10/08

3

Đối với JavaScript nội tuyến, hãy sử dụng:

/// <đường dẫn tham chiếu = "~ \ js \ jquery-vsdoc.js" />

Lưu ý các dấu gạch chéo phía sau .

Điều này sẽ không hoạt động:

/// <đường dẫn tham chiếu = "~ / js / jquery-vsdoc.js" />


2

Bạn thực sự không cần phải tham chiếu phiên bản "-vsdoc". Nếu bạn đặt jquery-1.2.6-vsdoc.js trong cùng thư mục với jquery-1.2.6.js thì Visual Studio sẽ biết ẩn tham chiếu jquery-1.2.6.js đến jquery-1.2.6-vsdoc. js.

Tôi nghĩ rằng điều đó sẽ thực sự hiệu quả với bất kỳ tệp nào.

Hmmm ... đó là một giải pháp tốt cho một câu hỏi khác trên trang web này ...

Chỉnh sửa: Tính năng này chỉ hoạt động với Gói dịch vụ 1 của VS2008.


Có vẻ như cá nhân tôi phải giữ "-vsdoc" trong tài liệu tham khảo của mình để làm cho nó hoạt động ... Tôi đang sử dụng VS2008 với SP 1. (Và vâng, chúng nằm trong cùng một thư mục.) Có lẽ tôi cần xem xét những các hotfix do Chris Pietschmann đề xuất ở trên?
Funka

Chris đúng. Chức năng 'vsdoc' đã được thêm vào với hotfix mà anh ấy tham chiếu ở trên.
Alan Oursland

2

Nếu bạn đang bao gồm tệp jQuery được chú thích trong nguồn của mình chỉ cho intellisense, tôi khuyên bạn nên tận dụng các chỉ thị tiền xử lý để xóa nó khỏi chế độ xem của bạn khi bạn biên dịch. 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 %>

Sau đó, trong mã của bạn, bạn thực sự có thể tham chiếu jQuery. Điều này rất hữu ích khi sử dụng API thư viện AJAX của Google , vì bạn nhận được tất cả các lợi ích mà Google cung cấp cho bạn, cộng với intellisense.

Đây là một ví dụ về cách sử dụng API thư viện:

<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

Nếu bạn muốn lấy tệp Intellisense từ Microsoft CDN, bạn có thể sử dụng:

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

0

Đảm bảo rằng bạn không sử dụng tệp jQuery được thu nhỏ.

Sử dụng Ctrl+ Shift+ J để làm cho nó hoạt động sau khi thêm tệp JavaScript vào dự án.


Tôi đã đấu tranh để làm cho intellisense hoạt động cho đến khi tôi tìm thấy điều này, bởi vì tôi đang sử dụng phiên bản thu nhỏ và tự hỏi tại sao nó không hoạt động với tôi.
RKP
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.