diff --git a/_data/doc-nav-header.yml b/_data/doc-nav-header.yml index 9c2c921667..4f2bbd82cf 100644 --- a/_data/doc-nav-header.yml +++ b/_data/doc-nav-header.yml @@ -1,5 +1,10 @@ - title: Getting Started - url: "/getting-started/index.html" + url: "#" + submenu: + - title: Install Scala + url: "/getting-started/install-scala.html" + - title: Scala IDEs + url: "/getting-started/scala-ides.html" - title: Scala 3 url: "#" submenu: diff --git a/_overviews/getting-started/index.md b/_overviews/getting-started/install-scala.md similarity index 98% rename from _overviews/getting-started/index.md rename to _overviews/getting-started/install-scala.md index 5a55cb1870..43bd922ec9 100644 --- a/_overviews/getting-started/index.md +++ b/_overviews/getting-started/install-scala.md @@ -183,8 +183,7 @@ and in the official sbt [documentation](https://www.scala-sbt.org/1.x/docs/index ### With an IDE -You can skip the rest of this page and go directly to [Building a Scala Project with IntelliJ and sbt](/getting-started/intellij-track/building-a-scala-project-with-intellij-and-sbt.html) - +You can read a short summary of Scala IDEs on [a dedicated page](/getting-started/scala-ides.html) ## Open hello-world project diff --git a/_overviews/getting-started/scala-ides.md b/_overviews/getting-started/scala-ides.md new file mode 100644 index 0000000000..444e641181 --- /dev/null +++ b/_overviews/getting-started/scala-ides.md @@ -0,0 +1,43 @@ +--- +layout: singlepage-overview +title: Scala IDEs + +partof: scala-ides + +permalink: /getting-started/:title.html + +keywords: +- Scala +- IDE +- JetBrains +- IntelliJ +- VSCode +- Metals +--- + +## Introduction + +Theoretically, you can write Scala code even in a notepad and compile and run the code from the terminal. When you do it, the compiler will tell you if it encounters any problems and suggest changes. You can apply that feedback in the notepad and try again. + +However, this way of software development will quickly prove to be unusable when you start coding anything more complicated than simple exercises. For larger projects, we highly recommend that you use one of the following IDEs (Integrated Development Environments): + +# IntelliJ IDEA + Scala Plugin + +[https://jetbrains.com/scala](https://jetbrains.com/scala) + +![](../../resources/images/getting-started/IntelliJScala.png) + +IntelliJ IDEA is a cross-platform IDE developed by JetBrains that provides a consistent experience for a wide range of programming languages and technologies. It also supports Scala through the IntelliJ Scala Plugin, which is being developed at JetBrains. First, install IntelliJ IDEA Community Edition (unless you don't already use the Ultimate edition) and then add the IntelliJ Scala Plugin. + +IntelliJ IDEA and Scala Plugin will assist you in virtually every part of a Scala software developer's work. Use it if you like a solid integrated experience, sane default settings, and tested solutions. + +For more information, check out our tutorial [Getting Started with Scala in IntelliJ](/getting-started/intellij-track/building-a-scala-project-with-intellij-and-sbt.html) + +# Visual Studio Code + Metals + +[https://scalameta.org/metals](https://scalameta.org/metals) + +![](../../resources/images/getting-started/VSCodeMetals.png) + +Visual Studio Code, commonly called VS Code, is a source code editor developed by Microsoft. Similar to how IntelliJ IDEA requires IntelliJ Scala Plugin to support Scala, you can get support for Scala in VS Code by installing an extension: Metals by Scalameta. In contrast to IntelliJ IDEA + Scala Plugin, VS Code + Metals is is aimed at people who like to get feedback and code intelligence straight from the compiler, which enables them to also try out experimental Scala features. Besides, Metals - as an [language server](https://microsoft.github.io/language-server-protocol/) - is also available to use with a variety of other source-code editors, such as Vim, Sublime Text, Zed, Helix and Emacs, which means that you will get a similar experience in any of them. + diff --git a/_overviews/scala3-book/taste-intro.md b/_overviews/scala3-book/taste-intro.md index 4820bdfe26..72f74faeed 100644 --- a/_overviews/scala3-book/taste-intro.md +++ b/_overviews/scala3-book/taste-intro.md @@ -23,4 +23,4 @@ can be installed by following our [getting started guide][get-started]. [reference]: {{ site.scala3ref }}/overview.html -[get-started]: {% link _overviews/getting-started/index.md %} +[get-started]: {% link _overviews/getting-started/install-scala.md %} diff --git a/_ru/scala3/book/taste-intro.md b/_ru/scala3/book/taste-intro.md index 74f5996a5b..58e15d8e22 100644 --- a/_ru/scala3/book/taste-intro.md +++ b/_ru/scala3/book/taste-intro.md @@ -28,4 +28,4 @@ next-page: taste-hello-world [reference]: {{ site.scala3ref }}/overview.html -[get-started]: {% link _overviews/getting-started/index.md %} +[get-started]: {% link _overviews/getting-started/install-scala.md %} diff --git a/_zh-cn/overviews/scala3-book/taste-intro.md b/_zh-cn/overviews/scala3-book/taste-intro.md index 1c0a5a6c3d..0d2f0fdf50 100644 --- a/_zh-cn/overviews/scala3-book/taste-intro.md +++ b/_zh-cn/overviews/scala3-book/taste-intro.md @@ -24,4 +24,4 @@ permalink: "/zh-cn/scala3/book/:title.html" > 或者,您可以使用 [Scastie](https://scastie.scala-lang.org) 在 Web 浏览器中运行这些示例,这是一个完全在线的编辑器和 Scala 的代码运行器。 [reference]: {{ site.scala3ref }}/overview.html -[get-started]: {% link _overviews/getting-started/index.md %} +[get-started]: {% link _overviews/getting-started/install-scala.md %} diff --git a/index.md b/index.md index fc46058513..22cbc790cc 100644 --- a/index.md +++ b/index.md @@ -17,7 +17,7 @@ sections: - title: "Getting Started" description: "Install Scala on your computer and start writing some Scala code!" icon: "fa fa-rocket" - link: /getting-started.html + link: /getting-started/install-scala.html - title: "Tour of Scala" description: "Bite-sized introductions to core language features." icon: "fa fa-flag" diff --git a/resources/images/getting-started/IntelliJScala.png b/resources/images/getting-started/IntelliJScala.png new file mode 100644 index 0000000000..c567da38df Binary files /dev/null and b/resources/images/getting-started/IntelliJScala.png differ diff --git a/resources/images/getting-started/VSCodeMetals.png b/resources/images/getting-started/VSCodeMetals.png new file mode 100644 index 0000000000..bdc5090726 Binary files /dev/null and b/resources/images/getting-started/VSCodeMetals.png differ