Мне удалось скомпилировать и выполнить код Cyelon в 'Walkthrough' repository, щелкнув правой кнопкой мыши функцию и выбрав «Run functionName».Компиляция кода из IntelliJ
Я также попытался создать свой собственный проект Ceylon (с именем POSTtoFile) и посмотреть, могу ли я выполнить функцию Hello World. Я не мог. Я предполагаю, что я должен создать какое-то конфигурацию сборки для моего проекта, но я не знаю, что заполнить в эти поля формы:
Installing Ceylon IDE for IntelliJ руководства полностью молчание по этому вопросу. Было бы аккуратно, если бы он включил раздел под названием «Создание вашего первого проекта в Цейлоне». Нехорошо знать, что все предыдущие читатели этого документа, должно быть, знали это заранее. И вот я здесь! Единственное исключение.
В раскрывающемся списке «Ceylon module» существует одна опция, называемая module default "unversioned"
. Я попытался выбрать этот, а затем щелкнуть «Запустить» -> «Запустить POSTtoFile». Я получил этот результат:
"C:\Program Files\Java\jdk1.8.0_121\bin\java" -Dceylon.system.repo=C:\Users\Jon\.IdeaIC2016.3\config\plugins\CeylonIDEA\classes\embeddedDist\repo -Didea.launcher.port=7536 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.3.3\bin" -Dfile.encoding=windows-1252 -classpath "C:\Users\Jon\.IdeaIC2016.3\config\plugins\CeylonIDEA\classes\embeddedDist\lib\ceylon-bootstrap.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.3.3\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain com.redhat.ceylon.launcher.Bootstrap run --run "" default/unversioned
ceylon run: Module default/unversioned not found in the following repositories:
C:\Users\Jon\.IdeaIC2016.3\config\plugins\CeylonIDEA\classes\embeddedDist\repo
C:\Users\Jon\Auchitect\POSTtoFile\modules
C:\Users\Jon\.ceylon\cache
https://modules.ceylon-lang.org/repo/1
[Maven] Aether
[NPM] npm
Process finished with exit code 1
EDIT:
Как можно видеть на скриншоте ниже, у меня нет панели инструментов в нижней части окна IntelliJ, и я не вижу окна инструмента под названием «проблемы Цейлона» :
Как на другие вопросы:
- T папка 'modules' пуста
- IntelliJ похоже работа если я нажимаю
Build>Rebuild Project
. Это выход:
- Это мои номера версии:
Когда я ставлю ниже код в моем
main.ceylon
файле:общий void hello() { печать ("Hello, World!"); }
(извините, переполнение стека не форматировать это как код, даже если у меня есть 4 места в передней части каждой строки)
Я получаю зеленую стрелку слева от функции hello
, но тогда я не могу нажать на него. Он не говорит: 'Ничего здесь':
EDIT 2: Я пытался переместить файл исходного кода (main.ceilon
) из корневого каталога (POSTtoFile
) в исходном каталоге (POSTtoFile/source
). Затем я нажал Run
->Run 'POSTtoFile'
.
Это дало мне следующий новый вывод:
"C:\Program Files\Java\jdk1.8.0_121\bin\java" -Dceylon.system.repo=C:\Users\Jon\.IdeaIC2016.3\config\plugins\CeylonIDEA\classes\embeddedDist\repo -Didea.launcher.port=7532 "-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.3.3\bin" -Dfile.encoding=windows-1252 -classpath "C:\Users\Jon\.IdeaIC2016.3\config\plugins\CeylonIDEA\classes\embeddedDist\lib\ceylon-bootstrap.jar;C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 2016.3.3\lib\idea_rt.jar" com.intellij.rt.execution.application.AppMain com.redhat.ceylon.launcher.Bootstrap run --run "" default/unversioned
ceylon run: String index out of range: 0
java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(String.java:658)
at ceylon.modules.api.runtime.AbstractRuntime.invokeRun(AbstractRuntime.java:53)
at ceylon.modules.api.runtime.AbstractRuntime.execute(AbstractRuntime.java:105)
at ceylon.modules.api.runtime.AbstractRuntime.execute(AbstractRuntime.java:101)
at ceylon.modules.Main.execute(Main.java:69)
at ceylon.modules.Main.main(Main.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.modules.Module.run(Module.java:308)
at org.jboss.modules.Main.main(Main.java:487)
at ceylon.modules.bootstrap.CeylonRunTool.run(CeylonRunTool.java:292)
at com.redhat.ceylon.common.tools.CeylonTool.run(CeylonTool.java:547)
at com.redhat.ceylon.common.tools.CeylonTool.execute(CeylonTool.java:423)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.redhat.ceylon.launcher.Launcher.runInJava7Checked(Launcher.java:108)
at com.redhat.ceylon.launcher.Launcher.run(Launcher.java:38)
at com.redhat.ceylon.launcher.Launcher.run(Launcher.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.redhat.ceylon.launcher.Bootstrap.runVersion(Bootstrap.java:162)
at com.redhat.ceylon.launcher.Bootstrap.runInternal(Bootstrap.java:117)
at com.redhat.ceylon.launcher.Bootstrap.run(Bootstrap.java:93)
at com.redhat.ceylon.launcher.Bootstrap.main(Bootstrap.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Process finished with exit code 2
Это содержание main.ceilon
:
shared void hello() {
print("Hello , World!");
}
EDIT 3:
После изменения содержания main.ceilon
к этому:
void hello() {
print("Hello, World!");
}
hello();
я получаю этот выход при выполнении Run
->Run 'POSTtoFile'
:
и теперь все вдруг у меня есть кнопка Ceylon problems
в нижней панели инструментов! Он говорит, что у меня есть три проблемы:
incorrect syntax: no viable alternative at token end of file.
missing declaration or argument name.
not an annotation constructor: hello
Я не понимаю, почему я получаю ошибки, хотя, как мой код прямо из Tour of Ceylon.
Несколько вопросов, которые помогут мне узнать, что происходит: вы видите окно инструментов с именем «Проблемы Ceylon» в нижней панели инструментов? Если да, это означает, что Цейлон правильно настроен в вашем проекте. Вы видите что-нибудь в каталоге 'modules'? (он должен быть помечен как выходной каталог). Что-нибудь изменится, если вы выполните проект Build> Rebuild? Какую версию IntelliJ и Ceylon IDE вы используете? –
Если все настроено правильно, как только вы создадите файл и поместите функцию «shared» верхнего уровня без параметров в нем, зеленая стрелка должна появиться слева. Вы можете использовать его для автоматической сборки и запуска кода. –
@BastienJansen Я обновил свой вопрос с ответами на ваши вопросы. Спасибо, что помогли :) – loldrup