2014-07-09 19 views
6

Zaimplementowałem edytor asów dla PHP (który działa dobrze), ale kiedy próbuję ustawić dodatkowe opcje przy pomocy API Ace'a, otrzymuję ostrzeżenia w konsoli.Niepoprawnie edytowane opcje edytora Ace

Oto kod używany do inicjowania edytora i próby ustawienia opcji;

ace.require("ace/ext/language_tools"); 
ace.require("ace/ext/emmet"); 

// PHP 
var phpeditor = ace.edit("php_inc"); 
phpeditor.setTheme("ace/theme/dreamweaver"); 
phpeditor.getSession().setMode("ace/mode/php"); 
phpeditor.setOptions({ 
     enableSnippets: true, 
     enableLiveAutoComplete: true, 
     enableBasicAutocompletion: true, 
     showPrintMargin: settings.showPrintMargin, 
     useSoftTabs: false, 
     fontSize: settings.fontSize, 
     showInvisibles: settings.showInvisibles, 
     behavioursEnabled: settings.behavioursEnabled, 
     tabSize: settings.tabSize, 
     useWrapMode: settings.useWrapMode, 
     useWorker: settings.useWorker, 
     setHighlightActiveLine: false, 
     enableEmmet: true 
    }); 

Oto ostrzeżenia konsoli, które otrzymuję;

misspelled option "enableSnippets" ace.js?ver=3.9.1:5207 
misspelled option "enableLiveAutoComplete" ace.js?ver=3.9.1:5207 
misspelled option "enableBasicAutocompletion" ace.js?ver=3.9.1:5207 
misspelled option "setHighlightActiveLine" ace.js?ver=3.9.1:5207 
misspelled option "enableEmmet" ace.js?ver=3.9.1:5207 

Każda pomoc zostanie bardzo doceniona.

+0

Spróbuj ustawić opcje sesji? – EaterOfCode

+0

Próbowałem tego (np. Phpeditor.getSession(). SetOptions ({...});) i nadal otrzymuję te same komunikaty ostrzegawcze. Dzięki za pomysł! –

+0

Wszystkie opcje sesji można ustawić w edytorze, poza tym żadna z błędnie zapisanych opcji nie jest opcją sesji https://github.com/ajaxorg/ace/blob/v1.1.4/lib/ace/edit_session.js#L2451 –

Odpowiedz

14
  1. musisz dołączyć pliki skryptów dla rozszerzeń używanych zobaczyć https://github.com/ajaxorg/ace-builds/blob/v1.1.4/demo/autocompletion.html#L28
  2. nazwę opcji jest "enableLiveAutocompletion" zamiast "enableLiveAutoComplete"https://github.com/ajaxorg/ace/blob/v1.1.4/lib/ace/ext/language_tools.js#L186
  3. opcje nazwy nie mają set w nich tak powinno być highlightActiveLine

możesz zobaczyć listę wszystkich dostępnych opcji, uruchamiając Object.keys(editor.$options)

+0

Thank za to - myślałem, że 1 byłby objęty oświadczeniami ace.require (...), ale oczywiście nie. 2 było w rzeczywistości czymś, co próbowałem, gdy "enableLiveAutocompletion" ciągle pojawiało się jako błędnie (wciąż otrzymuję "błędnie napisaną opcję" enableLiveAutocompletion "- jakieś pomysły?) –

+0

może używasz starej wersji ace, spróbuj zaktualizować do najnowszej wersji. –

+0

Zaktualizowałem plik ace.js do najnowszej wersji - czy muszę zaktualizować wszystkie pliki? (Wolę nie, ponieważ mają w nich odpowiednie ustawienia) –

Powiązane problemy