Where does Typesafe Activator fit in the project - scala

First of all, I would like to say that I don't know if Stack Overflow is the right forum to ask this, but let's give it a try.
I'm a .NET developer, but I'm interested in giving Scala a try in my next project. Developing for .NET is very "simple" in the sense that everything happens "inside" Visual Studio, from coding to installing libraries, to deploying, you get it.
I've stumbled upon the Typesafe Activator tool. My question is for Scala programmers who are using it: is this tool usually used as an IDE for the whole project? Or is it used just to generate the templates, then work in another IDE like Eclipse? What would be a usual "cycle" in web app developing project with Scala?
Thank you very much in advance!

Right now the code editor in Activator is pretty basic. So most users start with Activator for new projects and learning and then open the project in IntelliJ or Eclipse. Then you can continue using Activator alongside an IDE if you want.

I agree with James that it is common to create the project with Activator before then moving to your preferred IDE. I'm not even close to the expert he is, and that has worked for me.
But inconsistently.
For me, as an IntelliJ user on Mac, I have found that JetBrains (the makers of IntelliJ) continues to make so many changes to their Scala, SBT, and Play plugins that there can be inconsistencies. I've found starting from IntelliJ sometimes works; starting with Activator sometimes works; importing an SBT project of any kind sometimes works; and so on. I have yet to uncover any pattern as to why.
You may have better luck than I, but just be ready to try a few approaches. Using Activator first as James suggests is certainly a viable one.

Related

Can't get Scala support in Intellij-IDEA working (though I've done this a dozen times before)

I have several machines. I just bought a new MacBook and installed Scala, set and then IntelliJ IDE. Nothing I do will make it correctly create or import a Scala project. I get message some times that the Scala library is not configured. Sometimes I can add the Scala Framework manually and sometimes Scala isn't an option in Add Framework. I have reinstalled SBT Scala, the Intellij Scala plugin and even IDEA. Every other machine is fine and I never had any problems - I'm going to have to give-up on Intellij at this point and use Eclipse (a cheaper option than sticking with the old laptop). I have different settings and options than the other machines as I'm on a slightly newer (2018.2) IDEA build but other than that I'm at a loss.
Anyone hit this before? What stupid thing have I done wrong?
The reason you get that is that there are certain combinations of SBT and IntelliJ that just don't work well together. Go to project/build.properties in your project and change your SBT version from to something like 1.1.1 (That one works well for me) and experiment. I know it is frustrating. Also be sure that IntelliJ and Scala plugins are upgraded.

How do I run SBT from within Eclipse?

So far I've been running IntelliJ IDEA Community Edition for my Scala projects, but as my projects are expanding in complexity, I stumble upon more and more roadblocks with the IDE.
Like for example the simple fact that IDEA doesn't allow for web-development or Java EE development what so ever, which means using the Play Framework or TomEE in Community Edition leads to nothing but dead ends and frustration.
The only reason I switched to IDEA in the first place, is because of its excellent plugin system, allowing me to run SBT seamlessly as the primary scala compiler and library downloading tool with ease.
Searching around on Google, however I can only seem to find mentions about the eclipse plugin for sbt, that makes an sbt project Eclipse friendly, which is the exact opposite of what I'm really looking for.
I'm not willing to spend €89 per year for a student licence after all the pain it's put me through so far...
So my question is; is there a plugin for Eclipse that allows me to use SBT the same way as in IDEA? Or am I forced to go through the console?
There may be some movement in this direction in the future, but for now there is no such plugin.
Currently there is no Sbt plugin for Eclipse. Depending on your use-case, you could:
use the Eclipse builder
Pros: proper integration (error markers in Problems and editors, cancelation, progress reporting)
Cons: may get out-of-sync with the Sbt build file (when adding a dependency, for example), doesn't handle anything other than Java and Scala (like Play templates or route files)
use Sbt on the command line (make sure to disable auto-building in Eclipse)
Pros: can handle complex builds, classpath is always up to date
Cons: no integration (see above)
use Activator
Same Pros and Cons as Sbt, but with a pretty UI
We are working on an sbt-server plugin for Eclipse, which will delegate the build to an external Sbt process without giving up the convenience of integration. We hope to have something out towards the end of this year.
I think the main problem you are trying to solve for is too have sbt jar dependencies show up and get used natively by your eclipse project. You can do that with the IvyIDE plugin (which is found in the eclipse marketplace).
If you have that installed (and the eclipse plugin for sbt) then this closes the gap between systems.
To enable:
type the {sbt deliver-local} command from your terminal. This adds an ivy xml in your project's target directory
right click on your project. Choose the Ivy -> enable Ivy dependency management option
go into your projects properties. Highlight the Ivy property. Click the new button and navigate to the ivy xml file in your projects target directory.
Now your eclipse compiles off of your sbt managed dependencies and now you are doing everything you want except actually running sbt from within eclipse (which you only have to do now when you are changing dependencies)

ColdFusion dev in Eclipse vs Intellij

Getting thrown into ColdFusion dev at work and just starting out, I wonder if there are any advantages (or disadvantages) of using Eclipse vs Intellij. I'm used to working in Intellij on Groovy/Grails and have close to zero hands-on time with Eclipse. The shop I'm in mostly uses Eclipse (I think because it's free and not much else), some use Dreamweaver (1 person me thinks).
Thanks in advance.
I'm a CF Developer that has been playing with intelliJ of late! I must say I do love the smoothness of intelliJ. IntelliJ does has have a CF code library ( http://plugins.intellij.net/plugin/?id=3571 ).
I don't use Eclipse for CF Development, but do use CFBuilder, which is based on Eclipse.
I personally prefer intelliJ as an IDE, but prefer CF Builder when working with CF.
There are two options for working with Eclipse for ColdFusion Development:
cfeclipse - an open source, free plugin for Eclipse
cfBuilder - the 'official' IDE, sold and distributed by Adobe.
There is also a plugin for IntelliJ which I have no personal experience using however I note that some highly respected CF devs are using it and preferring it to the Eclipse-based options.
My team and I currently use CFBuilder 2 and find that to be good enough for our needs. The biggest criticism I see about CFBuilder/Eclipse is that it can perform poorly on older PCs and the common solution is to increase the RAM available to it.
The benefit my team finds with CFBuilder is that the full Eclipse plug-in ecosystem is available giving us bundled options for source control and other development tools. (The same may exist for IntelliJ but I have no personal experience with it.)
Dreamweaver, especially a recent version, is an option and many CF devs swear by ColdFusion Studio which is a very old program and might be hard to get your hands on. Finally, there is also a plugin for Notepad++ for the times where you need to make a quick edit to a file and don't require a full IDE.
The editor that a lot of people have been using for ColdFusion lately is SublimeText 2 (http://www.sublimetext.com/2) with the official ColdFusion Package (https://github.com/SublimeText/ColdFusion). The link I posted below from Nettuts will help you get up and running with the PackageControl package that makes installing the ColdFusion package very easy.
Sublime is lightweight, powerful, and a pleasure to code in. It has small animations that make it feel responsive, and the birds eye map view of the code can be very useful. It even has some code insite that I find really helpful.
Heres a great post on Nettuts to get you started: http://net.tutsplus.com/tutorials/tools-and-tips/sublime-text-2-tips-and-tricks/

Eclipse workspaces and projects vs IntelliJ projects and modules?

Switching to using IntelliJ for all my coding but am confused by the use of 'projects' and modules in IntelliJ.
Can someone tell me if Eclipse 'projects' is the same as IntelliJ's use of 'project'.
Or is an Eclipse 'workspace' more like an IntelliJ 'project'?
The JetBrains website has this covered.
Migrating From Eclipse to IntelliJ IDEA
The quick answer is an Eclipse Project is equivalent to an IDEA Module. The concept of Project in IDEA is like a Workspace in Eclipse.
Edit:
Also take a look at the eclipse integration page.
A module is the equivalent of a project in eclipse.
I got the answer from one of JetBrains' short videos they provide on their site. I found them useful when played at 2X speed, so I could get up to speed on the IDE quickly: https://www.jetbrains.com/idea/documentation/
I am new to IntelliJ IDEA and have come from Eclipse world. I was initially confused by notion of projects and modules in IntelliJ IDEA . However after viewing this very useful video Running IntelliJ IDEA for the First Time, my understanding on has been greatly improved. Basically the projects and modules in IntelliJ IDEA are equivalent Eclipse workspace and projects. I recommend watching this video if you are new to IntelliJ IDEA

Can I write scala code in netbeans6.9.1?

Is it possible to write and compile Scala code in netbeans6.9.1? I am a beginner to Scala programming, and am very much confused about this.
I've never actually tried to write Scala in Netbeans personally but according to Dick Wall the support for Scala in Netbeans is pretty much the best of breed among the main 3 IDEs (IntelliJ, Eclipse, and Netbeans). I know that's just anecdotal but it's from a pretty trusted source who literally inserted a whole new section into his Java Posse podcast just so he can geek out over Scala.
This looks like a fantastic place to get you started. http://wiki.netbeans.org/Scala
Yes, check out the Netbeans wiki; Scala modules are experimental and under active development, so check the nightly builds. Also check out ErlyBird; it's an Erlang/Scala IDE based on NetBeans.
I have successfully used Scala with Netbeans 6.8. I tried using 6.9, but could not get it to work.
If you can manage with NB 6.8, then you are in luck.
Note that even with 6.8, refactoring is not available. However, code completion works very nicely and that is sufficient for me. I hope that there is a more usable Netbeans plugin for Scala in the near future.
Of course, you need to install the Scala plugin after installing NB 6.8 to get anything to work. Instructions here: http://wiki.netbeans.org/Scala68v1