2012-02-13 27 views
5

Chỉ cần tự hỏi nếu có anyway để có hỗ trợ intelliSense trong khi làm việc trên các tệp javascript trong Dynamics CRM 2011? Tôi biết rằng bạn có thể có hỗ trợ này nếu bạn sử dụng Visual Studio, tuy nhiên chỉ cần tự hỏi nếu có bất kỳ cách nào chúng ta có thể làm điều đó trong chính ứng dụng CRM.Javascript intellisense với Dynamics CRM 2011

Bất kỳ đề xuất nào về điều này sẽ tuyệt vời!

+0

Tôi đoán bạn đang hỏi vì bạn muốn có thể xuất bản tương đối nhanh chóng cho hệ thống? Bạn có chấp nhận một giải pháp dựa trên VS hoàn thành như vậy không? –

+0

Có đó là lý do chính. Tôi nhận thức được các giải pháp dựa trên VS, tuy nhiên, điều tối ưu sẽ là tối ưu cho các tài nguyên javascript trong chính CRM. Bạn có biết bất kỳ giải pháp nào cung cấp chức năng này không? – skub

+0

Không có gì. Có thể Dynamics CRM 6.0? Và ngoài tò mò, bạn đã thử giải pháp xuất bản dựa trên VS nào? –

Trả lời

4

Vì trình chỉnh sửa tập lệnh bên trong CRM chỉ là một hộp văn bản thuần túy, tôi nghĩ câu trả lời là không, và tôi tin rằng tôi xin lỗi khi nói điều đó! Bạn sẽ nghĩ rằng ít nhất họ cũng đã đặt phông chữ thành một loại chuyển phát nhanh giống như thật để giúp chỉnh sửa một chút.

Tôi tìm cách dễ nhất là sử dụng trình soạn thảo văn bản nhẹ có đánh dấu cú pháp, như Notepad++. Hoàn toàn miễn phí, tất nhiên;)

Nếu bạn sao chép mã ra khỏi trình soạn thảo của CRM, hãy dán mã đó vào Notepad ++ và chọn JavaScript làm ngôn ngữ, nó sẽ cung cấp cho bạn cú pháp tương tự như Visual Studio nhưng không có thời gian tải liên quan (không hiểu sai, tôi yêu Visual Studio nhưng nó quá mức cần thiết cho một thay đổi nhỏ của JavaScript). Ngoài ra nó sẽ cho phép bạn đặt thụt đầu dòng đúng cách. Sau đó, khi bạn chỉnh sửa xong, hãy sao chép và dán lại vào CRM.

Tôi thấy điều này đặc biệt hữu ích nếu tôi cần thực hiện thay đổi nhanh chóng trên máy tính mà Visual Studio không khả dụng.

+0

Có, tôi đoán đây là cách duy nhất: ( – skub

+1

@skub: Tôi nghĩ câu trả lời này là tốt, nhưng khuôn mặt buồn của bạn làm tôi cảm thấy buồn. Bạn đã xem dự án CRM JS của Tanguy chưa? Đó là điều đẹp, và có thể được điều chỉnh để nhanh chóng xuất bản các tệp bằng một lần lưu và nhấn * với * intellisense. (Xem http://stackoverflow.com/questions/7791822/ms-dynamics-crm-2012-script-editor-enhancements/7812797#7812797) –

+0

ah right có vẻ đầy hứa hẹn, tôi sẽ kiểm tra nó :). Cảm ơn Peter! – skub

2

Bạn cần phải thêm tập tin XrmPage-vsdoc.js để dự án của bạn trong VS2010 và sau đó thêm một tham chiếu đến nó như thế này

///<reference path="..\IntelliSense\XrmPage-vsdoc.js"/> 

để phía trên cùng của tập tin * bạn .js và bạn sẽ được làm việc IntelliSense. Để biết thêm thông tin, hãy xem bài đăng này CRM 2011: IntelliSense for Xrm.Page

+0

Tôi nghĩ rằng điểm mà anh ấy đã không _want_ để sử dụng VS? – sarnold

6

Xin lỗi nên đã đọc cẩn thận hơn trước khi đăng. Nhưng nếu bạn là sử dụng VS ...

Xem http://blogs.msdn.com/b/crm/archive/2011/04/07/jscript-intellisense-for-form-script-libraries.aspx. Tôi là nhà văn cho phần này của CRM SDK. Tôi đã thực hiện giải pháp này và đưa nó vào SDK. Nó cung cấp cho JavaScript IntelliSense dựa trên cấu trúc và dữ liệu được tìm thấy trong một biểu mẫu cụ thể. Có một phần mở rộng Visual Studio và một giải pháp quản lý CRM hỗ trợ.

Chủ đề CRM SDK này giới thiệu giải pháp: http://msdn.microsoft.com/en-us/library/gg328261.aspx.

Giải pháp này hơi khác so với các giải pháp IntelliSense khác vì nó thực hiện hầu hết các hàm Xrm.Page để bạn có được IntelliSense VÀ một số khả năng kiểm tra mã của bạn dựa trên ảnh chụp nhanh của một biểu mẫu riêng lẻ có chứa dữ liệu. Bạn không phải tải lên các tệp của mình dưới dạng tài nguyên web. Bạn có thể kiểm tra tính chính xác trước và tránh gỡ lỗi chính các tài nguyên web từ bên trong CRM.

Những gì nó không làm là cung cấp tên của các thuộc tính biểu mẫu riêng lẻ mà bạn có thể muốn tham chiếu (mặc dù ảnh chụp nhanh của dữ liệu trang cung cấp điều này ở định dạng JSON dễ đọc). Nó tập trung vào cú pháp cho API và các phương thức có sẵn. Nếu bạn gõ Xrm.Page.getAttribute ('new_optionset'). bạn sẽ chỉ thấy các phương thức hợp lệ cho thuộc tính tùy chọn. Trong khi tất cả các thuộc tính đều có các hàm getValue và setValue, không phải mọi thuộc tính đều có phương thức getOptions. Không yêu cầu bất kỳ thư viện bổ sung nào được thêm vào tập lệnh của bạn để chúng hoạt động.

Tôi nghĩ rằng các thư viện intelliSense khác thật tuyệt vời. Nhờ những người tạo ra chúng. Giải pháp tôi tạo ra có chi phí cao hơn một chút nhưng bạn cũng có được trải nghiệm khác. Sử dụng cái nào phù hợp với bạn.

+0

Tôi nghĩ tôi sẽ thích nó. Tôi sẽ thử lại vào cuối tuần này .. –

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