`
chenjd
  • 浏览: 3085 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

设置你喜欢的IDE

阅读更多
本文翻译自Play framework官网:
https://www.playframework.com/documentation/2.4.x/IDE

使用Play非常容易,甚至不需要复杂的IDE。因为Play自动编译并且刷新你的改动到源文件,所以你用简单的文本编辑器就可以轻松工作了。

然而,现代Java或Scala IDE提供了非常酷的功能,比如自动编译、动态(on-the-fly)编译、辅助重构和调试。

Eclipse
Setup sbteclipse
Play需要sbteclipse 4.0.0 或更新版本.

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")

运行eclipse命令之前必须编译你的工程。加上下面的设置就可以在运行eclipse命令时强制编译:
// Compile the project before generating Eclipse files, so that generated .scala or .class files for views and routes are present
EclipseKeys.preTasks := Seq(compile in Compile)


如果你的工程里有Scala源文件,需要安装Scala IDE

如果你不想安装Scala IDE并且你的工程里只有Java源文件,可以如下设置:

EclipseKeys.projectFlavor := EclipseProjectFlavor.Java           // Java project. Don't expect Scala IDE
EclipseKeys.createSrc := EclipseCreateSrc.ValueSet(EclipseCreateSrc.ManagedClasses, EclipseCreateSrc.ManagedResources)  // Use .class files instead of generated .scala files for views and routes


配置生成
Play提供了一个命令来简化Eclipse配置。使用"eclipse"命令来转化Play应用为Eclipse工程。

[my-first-app] $ eclipse

如果希望带上可用的jars源(需要多花些时间,而且可能丢掉一些源):

[my-first-app] $ eclipse with-source=true

注意: 如果你带着aggregate使用子工程,需要在build.sbt中设置skipParents。

EclipseKeys.skipParents in ThisBuild := false

或者从Play控制台输入:

[my-first-app] $ eclipse skip-parents=false

然后使用"File/Import/General/Existing project…"导入你的play应用到Workspace.



要想调试,用"activator -jvm-debug 9999 run"启动你的应用,并且在Eclipse中选中工程右键点击并学则"Debug As, Debug Configurations".在"Debug Configurations"对话框中,右键点击"Remote Java Application"并选择"New".修改"Port"为9999并点击"Apply"。现在开始可以点击"Debug"来连接运行中的应用。停止调试会话不会停止服务器。

提示: 可以在应用中使用"~run"来启用文件改变时直接编译。使用这种方法,当你在视图中创建新模板会自动发现scala模板文件,并且文件改变时自动编译。如果使用正常的run命令,则必须每次在浏览器上点击"刷新"。

如果你在应用中有重要改动,比如改变classpath,需要使用eclipse命令重新生成配置文件。

提示:如果是团队工作,不要提交Eclipse配置文件。

生成的配置文件包括框架安装的绝对引用。它们仅适用于你自己的安装。如果是团队工作,每个开发者必须适用他自己的Eclipse配置文件。

IntelliJ

IntelliJ IDEA可以不使用命令提示就快速创建Play应用。IDE之外不需要配置任何东西,sbt编译工具会下载合适的库,解决依赖问题,并构造工程。

在IntelliJ IDEA中创建Play应用之前,要确保最新的Scala Plugin已安装且在IntelliJ IDEA中已启用。即使你不用Scala开发,它也会帮助模板引擎并解决依赖问题。

创建Play应用:
1. 打开"New Project"向导, 在"Scala"选项下选择"Play 2.x",点击"Next".
2. 填写工程信息,点击"Finish".

IntelliJ IDEA使用SBT创建一个空的应用。

也可以导入已有的Play工程。

导入Play工程:
1. 打开工程向导,选择"Import Project".
2. 在打开的窗口里,选择希望导入的工程,点击"OK".
3. 在向导的下一页,选择"Import project from external model",选择"SBT project",点击"Next".
4. 在向导的下一页,选择"Additional import",点击"Finish".

检查工程结构,确保所有必需的依赖已经下载。可以使用code assistance, navigation和on-th-fly code analysis等功能。

至此可以运行创建的应用,并在默认浏览器访问http://localhost:9000看到结果。运行Play应用:
1. 创建新的运行配置 - 从主菜单,选择Run -> Edit来配置;
2. 点击"+"来添加新配置;
3. 从配置列表中选择"SBT Task";
4. 在"tasks"输入框中,简单输入"run";
5. 选择"OK"保存变化;
6. 现在可以从Run菜单中选择"Run"来运行你的应用。

使用默认的Run/Debug配置就可以很容易为Play应用启动调试会话。

更多信息,请查看Play Framework 2.x手册:
https://confluence.jetbrains.com/display/IntelliJIDEA/Play+Framework+2.0

从错误页面导航到源代码

使用play.editor配置选项,可以设置Play的错误页面添加超链接。这样,可以很容易从错误页面导航到IntelliJ, 直接进入源代码(需要先安装远程调用IntelliJ插件)。

Netbeans

生成配置

Play不支持原生的生成Netbeans工程,但是有一个NetBeans的Scala插件可以帮助Scala语言和SBT:
https://github.com/dcaoyuan/nbscala

还有一个SBT插件来创建Netbeans工程定义:
https://github.com/dcaoyuan/nbsbt

ENSIME

安装ENSIME
请参照安装指导:https://github.com/ensime/ensime-emacs

生成配置

编辑project/plugins.sbt文件,添加下面一行(需要首先检查插件的最新版本https://github.com/ensime/ensime-sbt):

addSbtPlugin("org.ensime" % "ensime-sbt" % "0.1.5-SNAPSHOT")

启动Play:
$ activator

在Play控制台输入'ensime generate'。插件应当生成一个.ensime文件,位于Play工程的根目录。
$ [MYPROJECT] ensime generate
[info] Gathering project information...
[info] Processing project: ProjectRef(file:/Users/aemon/projects/www/MYPROJECT/,MYPROJECT)...
[info]  Reading setting: name...
[info]  Reading setting: organization...
[info]  Reading setting: version...
[info]  Reading setting: scala-version...
[info]  Reading setting: module-name...
[info]  Evaluating task: project-dependencies...
[info]  Evaluating task: unmanaged-classpath...
[info]  Evaluating task: managed-classpath...
[info] Updating {file:/Users/aemon/projects/www/MYPROJECT/}MYPROJECT...
[info] Done updating.
[info]  Evaluating task: internal-dependency-classpath...
[info]  Evaluating task: unmanaged-classpath...
[info]  Evaluating task: managed-classpath...
[info]  Evaluating task: internal-dependency-classpath...
[info] Compiling 5 Scala sources and 1 Java source to /Users/aemon/projects/www/MYPROJECT/target/scala-2.9.1/classes...
[info]  Evaluating task: exported-products...
[info]  Evaluating task: unmanaged-classpath...
[info]  Evaluating task: managed-classpath...
[info]  Evaluating task: internal-dependency-classpath...
[info]  Evaluating task: exported-products...
[info]  Reading setting: source-directories...
[info]  Reading setting: source-directories...
[info]  Reading setting: class-directory...
[info]  Reading setting: class-directory...
[info]  Reading setting: ensime-config...
[info] Wrote configuration to .ensime


启动ENSIME

在Emacs中, 执行M-x ensime并遵循显示的指导。

至此为止,你的Play项目应该有了类型检查,自动补全等功能。 注意,如果添加新的库依赖,需要重新运行"ensime generate"并重启ENSIME.

更多信息
ENSIME READEME: https://github.com/ensime/ensime-emacs。如果有问题,请在ensime组发帖: https://groups.google.com/forum/?fromgroups=#!forum/ensime

所有Scala插件
Scala是一种新的编程语言,它的很多功能不在核心IDE中,而是在插件中。

1. Eclipse Scala IDE: http://scala-ide.org/
2. NetBeans Scala Plugin: https://github.com/dcaoyuan/nbscala
3. IntelliJ IDEA Scala Plugin: http://confluence.jetbrains.net/display/SCA/Scala+Plugin+for+IntelliJ+IDEA
4. IntelliJ IDEA’s plugin is under active development, and so using the nightly build may give you additional functionality at the cost of some minor hiccups.
5. Nika (11.x) Plugin Repository: https://www.jetbrains.com/idea/plugins/scala-nightly-nika.xml
6. Leda (12.x) Plugin Repository: https://www.jetbrains.com/idea/plugins/scala-nightly-leda.xml
7. IntelliJ IDEA Play plugin (available only for Leda 12.x): http://plugins.intellij.net/plugin/?idea&pluginId=7080
8. ENSIME - Scala IDE Mode for Emacs: https://github.com/aemoncannon/ensime
(see below for ENSIME/Play instructions)

下一章: Play应用结构
  • 大小: 88.9 KB
分享到:
评论

相关推荐

    wingide 4 注册机

    wingide 相关的 注册码 学习工具,如果你喜欢python,喜欢wingide,如果你有实力,请支持python,支持wingide。

    KusoIDE:基于可爱的 GNUEmacs 的快速灵活的 IDE,适用于 Emacs 大师

    如果你喜欢GNU/Emacs ,如果你喜欢在编辑器中编程而不是大而慢的 IDE,但仍然喜欢拥有一个方便的代码编辑器,那么 Kuso IDE 是你的正确选择。 依赖关系 Kuso IDE 需要这些软件: GNU Emacs >= 24.3 文本信息 git ...

    lq920320#backup#如何成为一名优秀的“怼人”工程师1

    1. 使用一个你喜欢的 IDE 来打开你要阅读的项目 2. 熟悉常规的命名方式以及不常规的命名 3. 搞清楚分层结构

    springbox-cloud, spring 云参考应用程序.zip

    springbox-cloud, spring 云参考应用程序 SpringBox参考应用程序在本地运行克隆 repo 。将 root pom.xml 导入你喜欢的IDE或者运行 mvn package 。下载并安装以下服务:RabbitMQ社区 Editioni 版本 2.1. x -

    Android代码-Tracker

    项目为标准的 Android 应用,所以您可以使用你喜欢的 IDE (在 Mac 下推荐使用 IntelliJ IDEA)打开它。 同时,Tracker 基于以下项目库以及 jar 包,您需要引入 友盟统计分析(lib 目录) 百度地图 jar 包(lib 目录...

    MonApplication:将设备连接到蓝牙的应用程序

    2.2 将项目导入你喜欢的IDE。 2.3 配置面向版本 21(最低 18)的 Android 模拟器并启动它。 例子: - 名称:MyAppli_AVD CPU/ABI:ARM(armeabi-v7a) 路径:路径.android\avd\MyAppli_AVD.avd 目标:Android...

    example-frontend-workflow:集成到 Maven 构建系统中的 AngularJS 项目的示例项目设置工作流

    示例前端工作流该项目展示了如何在基于 Maven 的... 'mvn clean package' 将应用程序打包到可部署的 WAR 中发展'git clone' 这个 repo 到一个目录中将 maven 项目导入你喜欢的 IDE 运行“maven install”目标在开发过程

    status:我的状态页面

    示例前端工作流 该项目展示了如何在基于 Maven 的工作流中集成“完整”的 AngularJS 单页应用程序。 使用在 webapp 目录中设置 Node 环境。...将 maven 项目导入你喜欢的 IDE 运行“maven install”目标 在开发过程

    play_入门学习手册

    Play!是一个full-stack(全栈的)Java Web应用框架,包括一个简单...如果你已经是一个使用 Java 平台的开发者,那[1]么你不需要切换到另一种语言,其他 IDE 或者其他类库, 而仅仅是切换到一个效率更高的 Java 环境。

    使用Gradle构建Java项目

     一件称手的兵器(你喜欢的IDE或者文本编辑器)  Java环境([JDK6](http://www.oracle.com/technetwork/java/javase/downloads/index.html”JDK”及以上版本)  如何完成这个手册的内容?  与大多数Spring的...

    arcgis-jsapi-getting-started:帮助您开始使用 ArcGIS API for JS 的存储库。 它包括代码自动补全、片段等。如果你喜欢它,请考虑给这个 repo 一个 :star:

    目录IDE 设置以加速您的开发您将需要使用通过类型定义和代码片段来加速您的开发。 使用ESM 和类型定义( ),您将受益于: 自动完成每个类支持的属性和方法: 有关支持的参数、API 参考链接等的文档: 使用 。 它包括...

    zxing.java源码解析-awesome-processing::artist_palette:你喜欢的创意编码@Processing资源

    (IDE),专为电子艺术、新媒体艺术和视觉设计社区而构建,目的是在视觉环境中向非程序员教授计算机编程的基础知识。 内容 环境 网站 - 视觉思维的创意编码 :thumbs_up: - 在线互动学习网站 图书 - 制作交互式图形的...

    java版直播间源码-opendaylight-eclipse-setup:OpenDaylight的Eclipse“Oomph”设置模型

    java版直播间源码如果你喜欢/使用这个项目,在 GitHub 上 Star / Watch / Follow me 不胜感激。 观看截屏视频以了解这一切。 观看 OpenDaylight Mini Summit 2016 年 6 月(柏林)的演示录音。 本次会议的幻灯片也可...

    GBK源码转UTF8格式(QT源码)

    也许你的工程源码是GBK,更糟的可能是GBK+UTF8混合,IDE都疯了。用这个简单的源码,你可以把他们全部变成utf8或者gbk,也可以研究qt用。随你喜欢了。

    VC编程助手

    软件版权归原作者及原软件公司所有,如果你喜欢,请购买正版软件 一款开发环境增强工具,可增加自动,简单的导航功能并显示开发所必须的信息。完美集成在IDE中。 支持Microsoft Visual Studio 6-2010的所有开发语言...

    Python最新最全教程.docx

    完成安装后,你可以使用任何你喜欢的代码编辑器或IDE(集成开发环境)来编写Python代码。在开始编写代码之前,需要了解Python的基础语法和概念。 下面是一个简单的Python程序示例,用于输出"Hello, World!": print...

    【Arduino入门】NO.1,使Arduino的内置LED闪烁-电路方案

    在第0课中,您将设置Arduino IDE,并确保您可以找到正确的串行端口以连接到您的Arduino板。 现在已经到了将该连接用于测试和编程Arduino板的时候了。 Arduino IDE包含大量您可以加载和使用的示例草图。 这包括使'L'...

    VB从入门到精通 第一版 第1部分 编程基础

    很基础很全面的书籍,虽然写的是入门到精通,但是你不要指望通过它就可以达到精通的地步,要学习编程就扎扎实实去学习,当年我为了学会vb开发,把这本书的1-7章书中的例子一个个分析并在IDE中敲完,自带的光盘中的...

    SEE Conf 2022 第五届支付宝体验科技大会PPT合集(33份).zip

    让你喜欢支付宝多一点 如何打造高质量的 Electron 应用 如何打造业务专属的CAN I USE 如何提升 B 端工具型产品自助率 如何制作一个媲美原生体验的选择器 设计工程化三部曲 探索中后台设计提效次时代 提效神奇 Design...

    python教程.docx

    完成安装后,你可以使用任何你喜欢的代码编辑器或IDE(集成开发环境)来编写Python代码。在开始编写代码之前,需要了解Python的基础语法和概念。 下面是一个简单的Python程序示例,用于输出"Hello, World!": print...

Global site tag (gtag.js) - Google Analytics