5

Tôi đang tìm cách thêm hoàn thành mã tinh vi vào trình chỉnh sửa ACE.Tự động hoàn thành nâng cao trong ACE Editor

Ví dụ, nếu tôi gõ mã JavaScript sau vào ACE ...

function Car() {} 

Car.prototype = { 
    model : '', 
    maxSpeed : 0 
}; 

var bugatti = new Car(); 
bugatti. 

... sau khi nảy dấu chấm sau bugatti, các tùy chọn "model" và "maxSpeed" sẽ xuất hiện.

Tôi biết ACE có tính năng "enableBasicAutocompletion" mới, nhưng điều này có vẻ rất thiếu. Tôi hy vọng sẽ có tự động điền dựa trên mã được nhập vào trình chỉnh sửa ACE và xuất hiện bằng cách nhấn vào. Chìa khóa. Các đề xuất tự động điền sẽ là các thuộc tính cho đối tượng đó.

Điều gần nhất tôi có thể tìm thấy trong video YouTube này: http://youtu.be/CSEDIhT6bXU

Tại 1:45, bạn sẽ nhìn thấy autocomplete được dựa trên JavaScript của người dùng, nhưng không có bản demo hoặc giải thích về cách này đã được hoàn thành.

Trả lời

2

Yup phần của Ace bây giờ. Mặc dù tôi không tìm thấy tài liệu trong API nhưng thay vì tìm kiếm trên mạng cứng: Thêm ace/ext-language_tools.js vào html của bạn. Dạng chấm không hoạt động tốt, vì vậy bạn có thể phải nhập ctrl-space hoặc alt-space cho (mặc dù nếu bạn viết một chút thuộc tính/phương thức bạn muốn gọi nó sẽ hiển thị), nhưng cú pháp chuẩn chẳng hạn như chức năng ghi, bây giờ sẽ hiển thị. Sau đó, trong js của bạn:

var editor = ace.edit("editor"); 

ace.require("ace/ext/language_tools"); 
editor.setOptions({ 
    enableBasicAutocompletion: true, 
    enableSnippets: true, 
    enableLiveAutocompletion: true 
}); 
Các vấn đề liên quan