2012-04-16 16 views
8

Sau khi xem xét Định nghĩa Mô-đun Không đồng bộ (AMD) trong ngữ cảnh javascript, tôi đã tự hỏi làm thế nào để có được intellisense trong Visual Studio 2010 cho một mô-đun phụ thuộc.Mô-đun AMD AMD: Cách lấy Visual Studio intellisense qua các mô-đun

Ví dụ cho mô-đun A:

define(function() { 
    return { 
     square: function(value) { 
      return value * value; 
     } 
    }; 
}); 

và một mô-đun B tương ứng:

define(["A"], function(a) { 
    return { 
     value: a.square(10) 
    } 
}); 

Sau đó, tôi muốn có IntelliSense đầy đủ cho các mô-đun A (biểu diễn dưới dạng tham số a) trong mô-đun B. Lưu ý rằng cả hai mô-đun này sẽ được định nghĩa trong các tệp riêng biệt (A.js và B.js trong trường hợp này).

+0

Tôi đã đăng một lỗi cho studio trực quan cho một vấn đề tương tự: https://connect.microsoft.com/VisualStudio/feedback/details/2825862 (Nó không hiểu đăng nhập của tôi khi tôi đăng mặc dù). Nếu các điều kiện tương tự khắc phục được sự cố của bạn, vui lòng nhận xét vấn đề. – beruic

Trả lời

2

Dường như tác giả của RequireJS đang làm việc trên Intellisense hỗ trợ ở đây: https://github.com/jrburke/requirejs-intellisense

Đáng tiếc là tôi đã không nhận các "ma thuật" để làm việc được nêu ra.

Cập nhật: Tôi đã làm việc này trong một số trường hợp nhất định. Đặc biệt nó hoạt động tốt khi tất cả các tệp js nằm trong cùng một thư mục.

+0

Bạn đã làm gì để nó hoạt động? – Charles

+0

Tôi đã đặt tất cả các tệp javascript trong cùng một thư mục và require.js "được tham chiếu" (kéo tệp vào trình chỉnh sửa để nhận được nhận xét tham chiếu). Tôi thấy rằng nó thường mất một vài giây để bắt đầu làm việc. Tôi đã làm cho nó làm việc cho một số cấu trúc thư mục khác nhưng nó có vẻ khá hạn chế. Ngoài ra tôi nghĩ rằng nó chỉ hoạt động cho các cuộc gọi yêu cầu (không xác định). – dcstraw

+0

Tôi nhận được hàm xác định và yêu cầu (nghĩa là 'yêu cầu' hiển thị trong intellisense trong định nghĩa mô-đun mặc định). Tuy nhiên, tôi không thể nhận được nội dung kiểm tra hoặc cá nhân, tức là 'kiểm tra'. không liệt kê numberProperty và childObject. Đây là những gì tôi có nghĩa là bởi 'đầy đủ' intellisense. – Charles

5

Nhận xét này đây đã giúp tôi làm cho nó một phần làm việc: Comment on GitHub Repo

Về cơ bản, tôi phải chắc chắn rằng đây:

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

là ở phía trên cùng của tập tin _references.js. Nó hoạt động trong các khối 'require' và 'define', nhưng dường như không hoạt động bên trong các hàm ẩn danh trong các khối 'define'.

Các vấn đề liên quan