Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

updated site

  • Loading branch information...
commit b6887c63cd8942fa6e7d63c90859c922a48597b3 1 parent 5ca4641
@dragos dragos authored
Showing with 3,427 additions and 555 deletions.
  1. +1 −1  2.0.x/known-issues.html
  2. +15 −2 3.0.x/faq/index.html
  3. +1 −1  3.0.x/faq/known-issues.html
  4. +1 −0  3.0.x/index.html
  5. +364 −15 4.0.x/advancedsetup/index.html
  6. +512 −0 4.0.x/advancedsetup/scala-installations.html
  7. +2 −2 4.0.x/faq/index.html
  8. +2 −2 4.0.x/faq/known-issues.html
  9. +3 −3 4.0.x/features.html
  10. +1 −1  4.0.x/features/logging/index.html
  11. +1 −1  4.0.x/features/navigating/comment-hyperlinking.html
  12. +1 −1  4.0.x/features/navigating/declaration-hyperlinking.html
  13. +1 −1  4.0.x/features/navigating/implicit-hyperlinking.html
  14. +1 −1  4.0.x/features/navigating/index.html
  15. +1 −1  4.0.x/features/navigating/open-declaration.html
  16. +1 −1  4.0.x/features/navigating/open-type.html
  17. +1 −1  4.0.x/features/navigating/outline-view.html
  18. +1 −1  4.0.x/features/navigating/tasks-view.html
  19. +1 −1  4.0.x/features/scaladebugger/index.html
  20. +1 −1  4.0.x/features/scalainterpreter/index.html
  21. +1 −1  4.0.x/features/test-finder/index.html
  22. +1 −1  4.0.x/features/typingviewing/auto-edits.html
  23. +1 −1  4.0.x/features/typingviewing/code-completion.html
  24. +1 −1  4.0.x/features/typingviewing/code-templates.html
  25. +1 −1  4.0.x/features/typingviewing/errors-as-you-type.html
  26. +1 −1  4.0.x/features/typingviewing/formatting/index.html
  27. +1 −1  4.0.x/features/typingviewing/implicit-highlighting/index.html
  28. +1 −1  4.0.x/features/typingviewing/indent-guide.html
  29. +1 −1  4.0.x/features/typingviewing/index.html
  30. +1 −1  4.0.x/features/typingviewing/inferred-hover.html
  31. +1 −1  4.0.x/features/typingviewing/javadoc.html
  32. +1 −1  4.0.x/features/typingviewing/mark-occurrences.html
  33. +1 −1  4.0.x/features/typingviewing/quick-fixes.html
  34. +1 −1  4.0.x/features/typingviewing/refactoring/index.html
  35. +1 −1  4.0.x/features/typingviewing/semantic-highlighting/index.html
  36. +1 −1  4.0.x/features/typingviewing/show-inferred-semicolons.html
  37. +1 −1  4.0.x/features/typingviewing/show-type-of-selection.html
  38. +1 −1  4.0.x/features/typingviewing/source-generators/index.html
  39. +1 −1  4.0.x/features/typingviewing/structured-selection.html
  40. +1 −1  4.0.x/features/typingviewing/syntax-highlighting.html
  41. +1 −1  4.0.x/features/wizards/index.html
  42. +3 −3 4.0.x/gettingstarted/index.html
  43. +30 −11 4.0.x/index.html
  44. +2 −2 4.0.x/testingframeworks/index.html
  45. BIN  _images/change-capitalization1.png
  46. BIN  _images/closing-presentation-compilers1.png
  47. BIN  _images/code-completion-support1.png
  48. BIN  _images/create-method1.png
  49. BIN  _images/explicit-type1.png
  50. BIN  _images/extract-code-inline-renaming1.png
  51. BIN  _images/extract-code-scope-selection1.png
  52. BIN  _images/feature-refactoring-extract-local-012.png
  53. BIN  _images/feature-refactoring-extract-local-022.png
  54. BIN  _images/feature-refactoring-extract-method-012.png
  55. BIN  _images/indent-guide-pref1.png
  56. BIN  _images/indent-guide1.png
  57. BIN  _images/new-file-wizard1.png
  58. BIN  _images/new-menu-scala-file-entry1.png
  59. BIN  _images/scala-search-find-occurrences-011.png
  60. BIN  _images/scala-search-type-hierarchy-011.png
  61. BIN  _images/search-field-scala-file-entry1.png
  62. BIN  _images/step-filters1.png
  63. BIN  _images/template-preference-page1.png
  64. BIN  _images/todo-markers1.png
  65. +8 −0 _sources/4.0.x/advancedsetup/index.txt
  66. +393 −0 _sources/4.0.x/advancedsetup/scala-installations.txt
  67. +3 −2 _sources/4.0.x/index.txt
  68. +20 −2 _sources/changelog.txt
  69. +30 −1 _sources/current-user-doc/advancedsetup/index.txt
  70. +393 −0 _sources/current-user-doc/advancedsetup/scala-installations.txt
  71. +15 −2 _sources/current-user-doc/faq/known-issues.txt
  72. +1 −0  _sources/current-user-doc/features.txt
  73. +0 −15 _sources/current-user-doc/features/navigating/find-occurrences.txt
  74. +0 −2  _sources/current-user-doc/features/navigating/index.txt
  75. +0 −16 _sources/current-user-doc/features/navigating/type-hierarchy.txt
  76. +19 −4 _sources/current-user-doc/features/scaladebugger/index.txt
  77. +2 −2 _sources/current-user-doc/features/scalainterpreter/index.txt
  78. +3 −3 _sources/current-user-doc/features/typingviewing/auto-edits.txt
  79. +13 −2 _sources/current-user-doc/features/typingviewing/code-completion.txt
  80. +14 −0 _sources/current-user-doc/features/typingviewing/indent-guide.txt
  81. +1 −0  _sources/current-user-doc/features/typingviewing/index.txt
  82. +43 −5 _sources/current-user-doc/features/typingviewing/quick-fixes.txt
  83. +50 −23 _sources/current-user-doc/features/typingviewing/refactoring/index.txt
  84. +59 −0 _sources/current-user-doc/features/wizards/index.txt
  85. +5 −4 _sources/current-user-doc/index.txt
  86. +28 −7 changelog.html
  87. +2 −2 community.html
  88. +376 −14 current-user-doc/advancedsetup/index.html
  89. +512 −0 current-user-doc/advancedsetup/scala-installations.html
  90. +16 −3 current-user-doc/faq/index.html
  91. +16 −3 current-user-doc/faq/known-issues.html
  92. +24 −19 current-user-doc/features.html
  93. +5 −5 current-user-doc/features/logging/index.html
  94. +5 −5 current-user-doc/features/navigating/comment-hyperlinking.html
  95. +3 −3 current-user-doc/features/navigating/declaration-hyperlinking.html
  96. +5 −5 current-user-doc/features/navigating/implicit-hyperlinking.html
  97. +5 −7 current-user-doc/features/navigating/index.html
  98. +1 −1  current-user-doc/features/navigating/open-declaration.html
  99. +2 −2 current-user-doc/features/navigating/open-type.html
  100. +1 −1  current-user-doc/features/navigating/outline-view.html
  101. +2 −2 current-user-doc/features/navigating/tasks-view.html
  102. +20 −6 current-user-doc/features/scaladebugger/index.html
  103. +5 −5 current-user-doc/features/scalainterpreter/index.html
  104. +7 −7 current-user-doc/features/test-finder/index.html
  105. +5 −5 current-user-doc/features/typingviewing/auto-edits.html
  106. +14 −5 current-user-doc/features/typingviewing/code-completion.html
  107. +3 −3 current-user-doc/features/typingviewing/code-templates.html
  108. +2 −2 current-user-doc/features/typingviewing/errors-as-you-type.html
  109. +2 −2 current-user-doc/features/typingviewing/formatting/index.html
  110. +6 −6 current-user-doc/features/typingviewing/implicit-highlighting/index.html
  111. +14 −19 current-user-doc/features/{navigating/type-hierarchy.html → typingviewing/indent-guide.html}
  112. +24 −18 current-user-doc/features/typingviewing/index.html
  113. +2 −2 current-user-doc/features/typingviewing/inferred-hover.html
  114. +3 −3 current-user-doc/features/typingviewing/javadoc.html
  115. +6 −6 current-user-doc/features/typingviewing/mark-occurrences.html
  116. +36 −8 current-user-doc/features/typingviewing/quick-fixes.html
  117. +66 −22 current-user-doc/features/typingviewing/refactoring/index.html
  118. +7 −6 current-user-doc/features/typingviewing/semantic-highlighting/index.html
  119. +3 −3 current-user-doc/features/typingviewing/show-inferred-semicolons.html
  120. +6 −6 current-user-doc/features/typingviewing/show-type-of-selection.html
  121. +5 −5 current-user-doc/features/typingviewing/source-generators/index.html
  122. +3 −3 current-user-doc/features/typingviewing/structured-selection.html
  123. +9 −6 current-user-doc/features/typingviewing/syntax-highlighting.html
  124. +41 −15 current-user-doc/features/{navigating/find-occurrences.html → wizards/index.html}
  125. +3 −3 current-user-doc/gettingstarted/index.html
  126. +53 −27 current-user-doc/index.html
  127. +2 −2 current-user-doc/testingframeworks/index.html
  128. +11 −8 index.html
  129. +2 −2 license.html
  130. +1 −1  searchindex.js
  131. +1 −1  tutorials/androiddevelopment/index.html
  132. +1 −1  tutorials/continuations-plugin/index.html
  133. +2 −2 tutorials/index.html
  134. +1 −1  tutorials/lift24scalaide20/index.html
  135. +1 −1  tutorials/m2eclipse/index.html
  136. +1 −1  tutorials/play/index.html
  137. +1 −1  tutorials/scalac-trunk/index.html
  138. +15 −105 user/faq.html
View
2  2.0.x/known-issues.html
@@ -41,7 +41,7 @@
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="top" title="Scala IDE 0.1-SNAPSHOT documentation" href="../index.html" />
<link rel="up" title="User Documentation for the Scala IDE 2.0.x" href="index.html" />
- <link rel="next" title="User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)" href="../4.0.x/index.html" />
+ <link rel="next" title="User Documentation for the Scala IDE 4.0.x Lithium" href="../4.0.x/index.html" />
<link rel="prev" title="License" href="../license.html" />
</head>
<body>
View
17 3.0.x/faq/index.html
@@ -215,7 +215,7 @@
checks it is activated at every launch. The easiest way to debug
this is therefore to accept activation of JDT weaving at
launch. Otherwise, you can look into turning it on manually using
-the <a class="reference internal" href="../../current-user-doc/advancedsetup/index.html"><em>Scala Diagnostics Dialog</em></a>.</p>
+the <a class="reference internal" href="../advancedsetup/index.html"><em>Scala Diagnostics Dialog</em></a>.</p>
</div>
<div class="section" id="scala-errors-on-all-unicode-arrows">
<h3>Scala errors on all Unicode arrows</h3>
@@ -223,7 +223,7 @@
<p>The code contains Unicode niceties like <tt class="docutils literal"><span class="pre">←</span></tt> and <tt class="docutils literal"><span class="pre">⇒</span></tt>, but the editor doesn&#8217;t seem to be able to display them, and errors are reported at their location.</p>
<p><strong>Solution</strong>:</p>
<p>The operating system is not using UTF-8 by default, and its default encoding is used inside Eclipse.</p>
-<p>The encoding used to open files can be configured at different levels. Most of the time, setting Eclipse default encoding to UTF-8 in <tt class="docutils literal"><span class="pre">General</span> <span class="pre">→</span> <span class="pre">Workspace</span></tt> preferences is enough. But in some case, the wrong encoding might also have been set in the project properties, or even the file properties.</p>
+<p>The encoding used to open files can be configured at different levels. Most of the time, setting Eclipse default encoding to UTF-8 in <tt class="docutils literal"><span class="pre">General</span> <span class="pre">→</span> <span class="pre">Workspace</span></tt> in the preferences <a class="footnote-reference" href="#preferences" id="id5">[1]</a> is enough. But in some case, the wrong encoding might also have been set in the project properties, or even the file properties.</p>
</div>
<div class="section" id="red-screen-of-death-red-squiggles-everywhere">
<h3>Red screen of death (red squiggles everywhere)</h3>
@@ -305,6 +305,19 @@
<p><strong>Solution</strong>:</p>
<p>If you have several update sites providing different version of Scala IDE, Eclipse may have decided that a newest Scala library should be used instead of the one provided by the plug-in to be installed. To avoid this problem, make sure to uncheck the <tt class="docutils literal"><span class="pre">Contact</span> <span class="pre">all</span> <span class="pre">update</span> <span class="pre">sites</span> <span class="pre">during</span> <span class="pre">install</span> <span class="pre">to</span> <span class="pre">find</span> <span class="pre">required</span> <span class="pre">software</span></tt> option. It is situated at the bottom of the <tt class="docutils literal"><span class="pre">Help</span> <span class="pre">→</span> <span class="pre">Install</span> <span class="pre">New</span> <span class="pre">Software...</span></tt> dialog.</p>
</div>
+<div class="section" id="incorrect-compiler-error-reported-in-the-scala-editor">
+<h3>Incorrect compiler error reported in the Scala Editor</h3>
+<p><strong>Symptoms</strong>:</p>
+<p>A compiler error is reported in the Scala editor, when indeed the code is correct.</p>
+<p><strong>Solution</strong>:</p>
+<p>In rare circumstances, the interactive typecheker (a.k.a., presentation compiler) can get in a state where it reports false, type-checking errors. As a workaround, we&#8217;ve provided a UI action that force restarts the presentation compiler. You can access it by right clicking on the project folder in the Package Explorer view, then <tt class="docutils literal"><span class="pre">Scala</span> <span class="pre">→</span> <span class="pre">Restart</span> <span class="pre">Presentation</span> <span class="pre">Compiler</span></tt>. If the incorrect error is still reported after restarting the presentation compiler, please drop us a note in the scala-ide-user mailing list.</p>
+<table class="docutils footnote" frame="void" id="preferences" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id5">[1]</a></td><td>The Eclipse preferences are accessible using <tt class="docutils literal"><span class="pre">Windows</span> <span class="pre">→</span> <span class="pre">Preferences</span></tt> (or <tt class="docutils literal"><span class="pre">Eclipse</span> <span class="pre">→</span> <span class="pre">Preferences</span></tt> on Mac osX).</td></tr>
+</tbody>
+</table>
+</div>
</div>
</div>
View
2  3.0.x/faq/known-issues.html
@@ -41,7 +41,7 @@
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
<link rel="top" title="Scala IDE 0.1-SNAPSHOT documentation" href="../../index.html" />
<link rel="up" title="User Documentation for the Scala IDE 3.0.x" href="../index.html" />
- <link rel="next" title="User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)" href="../../4.0.x/index.html" />
+ <link rel="next" title="User Documentation for the Scala IDE 4.0.x Lithium" href="../../4.0.x/index.html" />
<link rel="prev" title="License" href="../../license.html" />
</head>
<body>
View
1  3.0.x/index.html
@@ -257,6 +257,7 @@
<li class="toctree-l3"><a class="reference internal" href="faq/index.html#bad-completion-when-using-companion-object-in-java">Bad completion when using companion object in Java</a></li>
<li class="toctree-l3"><a class="reference internal" href="faq/index.html#eclipse-freezes-deadlock">Eclipse freezes (deadlock)</a></li>
<li class="toctree-l3"><a class="reference internal" href="faq/index.html#noclassdeffounderror-scala-tools-nsc-settings-mutablesettings-settingvalue">NoClassDefFoundError (scala/tools/nsc/settings/MutableSettings$SettingValue)</a></li>
+<li class="toctree-l3"><a class="reference internal" href="faq/index.html#incorrect-compiler-error-reported-in-the-scala-editor">Incorrect compiler error reported in the Scala Editor</a></li>
</ul>
</li>
</ul>
View
379 4.0.x/advancedsetup/index.html
@@ -40,8 +40,8 @@
<script type="text/javascript" src="../../_static/resources/javascript/contentsFix.js"></script>
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
<link rel="top" title="Scala IDE 0.1-SNAPSHOT documentation" href="../../index.html" />
- <link rel="up" title="User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)" href="../index.html" />
- <link rel="next" title="Features" href="../features.html" />
+ <link rel="up" title="User Documentation for the Scala IDE 4.0.x Lithium" href="../index.html" />
+ <link rel="next" title="Scala Multiple Installation Support" href="scala-installations.html" />
<link rel="prev" title="Getting Started" href="../gettingstarted/index.html" />
</head>
<body>
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
</ul>
</div>
</div>
@@ -94,8 +94,356 @@
<div class="section" id="advanced-setup">
<h1>Advanced Setup</h1>
<p>This page contains information to help you configure Eclipse and Scala IDE, to increase performances and ease-of-use.</p>
+<div class="section" id="scala-multiple-installation-support">
+<h2>Scala Multiple Installation Support</h2>
+<p>Scala IDE now supports projects set up for several major versions of the
+Scala compiler.</p>
+<div class="section" id="why-multiple-versions">
+<h3>Why multiple versions ?</h3>
+<p>The Scala IDE has a strong dependency on Scala&nbsp;: it comes deeply
+embedded with an interactive version of the compiler, called the
+<a class="reference external" href="./dev/architecture/presentation-compiler.html#scalapresentationcompiler">Presentation Compiler</a>, that it uses to do all the interactive
+work on your code: completions, errors as you type, semantic
+highlighting, etc <a class="footnote-reference" href="#id11" id="id1">[1]</a>.</p>
+<p>So far the Scala IDE was therefore built <em>on</em> and <em>for</em> a
+specific version of the Scala Compiler. For editing 2.10
+projects, you had to have a version of the IDE compiled for
+Scala 2.10. For 2.11, you had to have a version compiled for
+Scala 2.11. This led to users working with both 2.11 and 2.10
+projects to have two installations of Eclipse, with different
+flavors of the Scala IDE plugin installed.</p>
+<p>This also constrained us developers: since most of the IDE&#8217;s
+source code had to pass compilation with both 2.10 and 2.11, it
+was impossible to remove some obsolete things, led to some
+regression headaches, and made us maintain two parallel branches
+for the source.</p>
+<p>With this multi-version support feature, we want to use a single
+version of the IDE, built on the latest version of Scala, to
+handle both &#8220;modern&#8221; projects built using 2.11, as well as &#8220;legacy&#8221;
+projects built with 2.10.</p>
+<p>It will also let us retire the 2.10 branch of the IDE builds,
+focusing the efforts of our small team on one branch, and
+letting us deliver features to our users faster.</p>
+</div>
+<div class="section" id="scala-multi-version-support-new">
+<h3>Scala Multi Version Support <span class="raw-html"><span class="label info">new</span></span></h3>
+<p>The gist of it is the following: the IDE is, as of its 4.0.0 release, a
+2.11 build. The Presentation Compiler it ships with is a part of Scala
+2.11. But its typechecker can run with a specific option,
+<tt class="docutils literal"><span class="pre">-Xsource:2.10</span></tt> that lets it work on 2.10 source files. That&#8217;s now a
+standalone <a class="reference external" href="http://www.scala-lang.org/news/2.11.1">scala compiler</a> option,
+by the way — though please note it only affects up to the typechecker
+phase <a class="footnote-reference" href="#id12" id="id2">[2]</a>.</p>
+<p>So, if you are working on a 2.11 project, nothing changed — this
+is business as usual. If you are working on a 2.10 code base, a
+few tweaks and settings may be needed, though the IDE will try
+to help you.</p>
+<p>All you may need to do, then, is to tell the IDE how to deal with
+your Scala 2.10 project. For that you need to align a few things:</p>
+<ul class="simple">
+<li>a setting of compiler options</li>
+<li>a consistent classpath</li>
+<li>in particular, a compatible Scala classpath container within it</li>
+<li>and optionally, a custom Scala Installation</li>
+</ul>
+<p>All of this is brought to you by a single toggle, that we will
+deal with first, so that those of you in a hurry can start
+hacking.</p>
+</div>
+<div class="section" id="source-level-new">
+<h3>Source Level <span class="raw-html"><span class="label info">new</span></span></h3>
+<p>To configure a new, fresh project for 2.10 compatibility, you have to
+go to project-specific settings: the platform&#8217;s default is still
+to consider that projects are based on Scala 2.11 <a class="footnote-reference" href="#id13" id="id3">[3]</a>.</p>
+<p>Here&#8217;s what you&#8217;ll see:</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/compiler-before.png"><img alt="img1" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/compiler-before.png" style="width: 100%;" /></a></p>
+<p>You can now toggle project-specific settings and look at the
+drop-down just below it. It displays a list of versioned Scala
+installations that should include (at least) both a 2.10 version
+and a 2.11 version. Some are labeled as <em>dynamic</em>, others as
+<em>fixed</em>.</p>
+<p>Here&#8217;s an example:</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/compiler-toggled.png"><img alt="img2" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/compiler-toggled.png" style="width: 100%;" /></a></p>
+<p>The meaning of a fixed version is just that: if you select any
+fixed version, your project will be type-checked with that
+particular version of Scala, for as long as the IDE can find it <a class="footnote-reference" href="#id14" id="id4">[4]</a>.</p>
+<p>The meaning of a dynamic option is that it will get updated in a
+binary compatible way as we ship updates of the IDE through
+Eclipse <a class="reference external" href="http://wiki.eclipse.org/FAQ_How_do_I_upgrade_Eclipse%253F">update sites</a>. You have the insurance that if you choose
+a dynamic 2.11 version, what will be used is the latest
+available 2.11 installation the IDE ships with <a class="footnote-reference" href="#id15" id="id5">[5]</a>.</p>
+<p><strong>That&#8217;s it</strong>&nbsp;! Now once you select one of these options
+(hopefully a
+2.10 installation, since this is what we&#8217;re here to do), you
+will not see any changes to other compilation options. But if
+you subsequently reopen compiler settings for that project,
+you&#8217;ll see that the <tt class="docutils literal"><span class="pre">-Xsource:2.10</span> <span class="pre">-Ymacro-expand:none</span></tt> string has
+been added to your compiler settings:</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/compiler-after.png"><img alt="img3" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/compiler-after.png" style="width: 100%;" /></a></p>
+<p>Note that if you decide to <em>revert</em> that change and come back to
+a 2.11 configuration, the IDE will look closely at your project&#8217;s
+compiler settings as compared to workspace-wide settings. If just
+removing scala-version-related makes your project configuration
+equivalent to workspace settings, it will automatically revert the
+project-specific toggle. your project will again be ruled by
+current workspace-wide settings.</p>
+<p>Also, note this setting will not affect what your projct is built
+with. What your project runs on is, as usual, the compiler it
+finds on classpath. But what is actually found on classpath may
+vary according to your project&#8217;s specific settings <a class="footnote-reference" href="#id16" id="id6">[6]</a>.</p>
+</div>
+<div class="section" id="multiple-scala-installation-settings-at-once-new">
+<h3>Multiple Scala Installation Settings at once <span class="raw-html"><span class="label info">new</span></span></h3>
+<p>Many of you have multiple projects which version they want to switch
+quickly, without having to open project preferences for each project. So,
+choosing a Scala Installation is now a multi-select action: just choose
+your target projects, right-click, go to the Scala menu, and choose ‘Set
+the Scala Installation’, as below.</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/new-support/multiselect-action.png"><img alt="img13" src="http://scala-ide.org/resources/images/xsource-screenshots/new-support/multiselect-action.png" style="width: 100%;" /></a></p>
+</div>
+<div class="section" id="scala-installation-detection-new">
+<h3>Scala Installation detection <span class="raw-html"><span class="label info">new</span></span></h3>
+<p>The IDE will try to understand what version of Scala your project
+is designed to work with. It does this by looking at your
+<em>resolved</em> classpath. A resolved classpath means &#8220;expanded until
+it explicitly contains just paths to existing files&#8221; <a class="footnote-reference" href="#id17" id="id7">[7]</a>.
+Files in that classpath will possibly contain a scala-library
+jar, in which we know where to look for a version, or other,
+external jar files which filename might hint at a Scala version.</p>
+<p>If we detect a 2.10 scala library, you&#8217;ll see the following
+error marker appear in the problems view:</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/error-marker.png"><img alt="img4" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/error-marker.png" style="width: 100%;" /></a></p>
+<p>If you try to quick-fix this error (by pressing Ctrl+1 or right-clicking and selecting Quickfix), you’ll see the following dialog:</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/quickfix.png"><img alt="img5" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/quickfix.png" style="width: 100%;" /></a></p>
+<p>Opening Project Properties here (by clicking <em>Finish</em>) is equivalent to
+doing it through menus, you can then toggle project-specific compiler
+settings if necessary, and set the correct compiler flags.</p>
+<p>A similar dialog will pop up if you have external 2.10 libraries
+show up in your classpath.</p>
+<p>Now, if you have a project that was created in Eclipse, or if
+you are working on a project which Eclipse configuration has
+been generated in the past with <a class="reference external" href="https://github.com/typesafehub/sbteclipse">sbteclipse</a>, you may notice that
+those dialogs do not appear. This is because your project is
+using a Classpath Container.</p>
+<p>Basically, classpath containers are an indirection in your
+classpath that is elaborated by the platform Eclipse using
+settings. They&#8217;re the technical notion behind the Eclipse feature
+named <a class="reference external" href="http://help.eclipse.org/juno/index.jsp?topic%3D%252Forg.eclipse.jdt.doc.user%252Freference%252Fpreferences%252Fjava%252Fbuildpath%252Fref-preferences-user-libraries.htm">user libraries.</a></p>
+<p>Your project&#8217;s physical representation contains a string (a classpath
+container <em>path</em>) in its classpath, that Eclipse resolves depending on its
+own settings and context <a class="footnote-reference" href="#id18" id="id8">[8]</a>. This has been the way Scala projects in the
+IDE have been dealt with so far: your projects contained that indirection
+as a pointer to a Scala compiler. That pointer was resolved to whichever
+version of Scala the current Scala Plugin had been bundled with, so that
+as you updated your ScalaIDE plugin over time, your projects were always
+built with the latest version of the scala compiler embedded with the IDE.</p>
+<p>As of now you have access to the content of the Scala Classpath
+Containers. First of all, choosing a project-specific scala
+installation in compiler settings, as discussed above, also sets
+the classpath container. You can witness that by expanding your
+project in the Package Explorer. Here&#8217;s how it look for our test
+project, set to use the latest 2.10 Scala above:</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/package-explorer.png"><img alt="img6" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/package-explorer.png" style="width: 100%;" /></a></p>
+<p>You&#8217;ll notice this is not the generic 2.11 container you would
+get with a fresh new (and therefore 2.11) project. You can also
+see that in the <em>Java Build Path</em> preference page in the project
+settings:</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/properties-build-path.png"><img alt="img7" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/properties-build-path.png" style="width: 100%;" /></a></p>
+<p>You can also edit this classpath container, by right-clicking in
+the <em>Package Explorer</em> view, or by clicking <em>Edit</em> on the <em>Java
+Build Path</em> Preference page.</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/edit-container.png"><img alt="img8" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/edit-container.png" style="width: 100%;" /></a></p>
+<p>Choosing a particular installation here will have the same
+effect as choosing a particular Scala Installation in the
+project&#8217;s compiler settings, as outlined above. In fact, if you
+reopen your project&#8217;s settings after applying that classpath
+container change, you&#8217;ll notice that the settings for your
+installation and use of project-specific settings have changed
+appropriately.</p>
+<p>Note that if you decide to write a plugin, or do something that
+depends on the scala compiler as opposed to just the scala
+library, you may want to add another specific container to your
+classpath: the Scala compiler. This is possible thanks to the
+(usual) <em>Add Library</em> menu of the <em>Java Build Path</em> page. Here,
+the Scala Compiler choice will take you to a window very similar
+to the above.</p>
+<p>Beware this choice will also have an impact on your choice of
+Scala installation and associated compiler settings. In fact, to
+make sure that the compiler and library container settings would
+not get out of sync, we had to make sure that classpath container
+edition should not fire if you have both Scala-library and
+Scala-compiler on classpath. The best way to proceed is
+from a project&#8217;s choice of Scala Installation, which cascades to
+classpath containers — and a link will guide you there if you
+try to modify such a classpath container directly anyway <a class="footnote-reference" href="#id19" id="id9">[9]</a>.</p>
+<p>This will let you have a project which classpath is managed the
+way your choice of Scala Installation is : a fixed set of jars if
+this is what you choose, or the latest flavor of your favorite
+compiler (whether 2.10 or 2.11), in case you select a dynamic
+installation.</p>
+<p>But so far, we have only seen how to manage the pre-installed,
+embedded versions of the scala library and compiler. How about
+dealing with custom, personal installations of Scala that you
+may want to use in conjunction with your project&nbsp;?</p>
+</div>
+<div class="section" id="byos-bring-your-own-scala">
+<h3>BYOS (Bring Your Own Scala)</h3>
+<p>If you want to use a custom version of Scala with your project,
+there has always been the option of having a manually-managed
+classpath. You can either use the <em>Add External Jars</em> function
+for the <em>Java Build Path</em> preference page to set up your
+scala-compiler and/or scala-library (etc) jars, or you could use
+sbteclipse with the <tt class="docutils literal"><span class="pre">EclipseKeys.withBundledScalaContainers:=false</span></tt>
+option, which copies exactly the settings resolved by sbt.</p>
+<p>But using this is tedious, and it&#8217;s per-project. Or perhaps your project
+does not have an sbt build. How about setting a custom, workspace-wide
+installation that your projects can then reuse ?</p>
+<p>This is what you can do from the Scala Installations preference
+page. You will find it in the preference dialog for the
+workspace.</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/scala-installations.png"><img alt="img9" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/scala-installations.png" style="width: 100%;" /></a></p>
+<p>Notice how there is no notion of dynamic or fixed represented here: those
+notions are relevant for a choice of Scala Installation when you configure
+a project (dictating how that choice will be realized accross
+upgrades). Those are just the installations that are available to your IDE
+at the moment.</p>
+<p>There you can add and remove an installation according to your
+needs. So far, the dialog prompts you for a directory, which
+should contain all your jar files, at the root of the
+directory. Those should comprise at least of the scala-compiler
+and scala-library jar. If there are source jars in that
+directory, the IDE will also try to incorporate them in the
+installation. It will also try to find extra dependencies
+such as scala-reflect.</p>
+<p>It will try to do a best effort to understand the version of
+your installation given what we know of how such jars are
+produced by the compiler build <a class="footnote-reference" href="#id20" id="id10">[10]</a>, and try to check those
+jars&#8217; versions are consistent with each other.</p>
+<p>Let&#8217;s now try to add an installation from the <tt class="docutils literal"><span class="pre">~/.sbt/boot</span></tt>
+directory, a place where sbt stores the scala jars it requires to
+boot.</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/sbt-installation.png"><img alt="img10" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/sbt-installation.png" style="width: 100%;" /></a></p>
+<p>A dialog then comes up asking for a name: this name gives you
+the option of labeling a custom installation with a tag that is
+easier to find in all the dialogs above, or even to have several
+names for a given choice of jars.</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/naming-installation.png"><img alt="img11" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/naming-installation.png" style="width: 100%;" /></a></p>
+<p>You can now see your installation listed in all relevant dialogs
+mentioned above, and you can select it in Compiler Settings.</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/custom-installation-visible.png"><img alt="img12" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/custom-installation-visible.png" style="width: 100%;" /></a></p>
+<p>Note that any scala installation created in that custom manner
+is necessarily fixed: dynamic installations vary following
+upgrades of the Scala IDE packaged compilers, and we would not
+know what to upgrade such a directory-based scala installation
+to.</p>
+<p>You may also find it constraining to have your scala
+installation set as a bunch of jars at the root of a
+directory. But it should be possible to convert any setup of a
+scala installation to a suitable directory by using symbolic links.</p>
+<p>Besides, we firmly intend to implement more ways of defining a
+custom scala installation for use in your IDE. If you have a
+preferred way (explicitly choosing every jar ? looking at your
+maven/ivy cache ?), please <a class="reference external" href="https://groups.google.com/d/forum/scala-ide-dev">let us know</a>.</p>
+<p>Finally, note that so far, we only support Scala Versions
+posterior to 2.10.0. Indeed, the <tt class="docutils literal"><span class="pre">-Xsource</span></tt> flag only knows so
+far how to run both in 2.11 (normal) and 2.10 (compatibility)
+modes. But it no longer knows about old typing ways of the past.</p>
+<table class="docutils footnote" frame="void" id="id11" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td>One important exception to this is building, which is a <a class="reference external" href="https://en.wikipedia.org/wiki/Batch_processing">batch-mode</a> task that can be
+delegated to another piece of byte code.</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id12" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id2">[2]</a></td><td>In other terms, there&#8217;s no way for you to generate
+class files for a 2.10 code base using a 2.11 compiler and this
+option.</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id13" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id3">[3]</a></td><td>If you are dealing mostly with 2.10 projects, you may be
+interested in the 2.10 flavors of the Scala IDE.</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id14" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id4">[4]</a></td><td>The IDE will not lose Scala installation during normal operation,
+or through upgrades. But that may occur if you remove files on your
+disk, or explicitly remove components (bundles) of your IDE
+installation.</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id15" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id5">[5]</a></td><td>This is only valid for built-in versions: a dynamic
+installation choice will never resolve to a custom Scala installation.</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id16" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id6">[6]</a></td><td>Notice that this means that the expansion of white-box
+macros is not currently possible in the compatibility 2.10
+mode. Indeed, macros have known important <a class="reference external" href="http://docs.scala-lang.org/overviews/macros/changelog211.html">recent developments</a>
+between 2.10 and 2.11 which makes type checking compatibility
+between the two extremely difficult. If you have a significant
+project that uses 2.10 whitebox macros, you may want to look at
+2.10 flavors of the Scala IDE.&lt;/div&gt;</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id17" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id7">[7]</a></td><td>We&#8217;ll see why and how a classpath might <em>not</em> be
+expanded in a moment.</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id18" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id8">[8]</a></td><td><p class="first">Note that this is also the way, in its default operating mode, that
+<a class="reference external" href="https://github.com/typesafehub/sbteclipse">sbteclipse</a> generates
+ScalaIDE configurations. If you want sbteclipse to generate an explicit
+classpath, preserving the scala version sbt would have chosen for you,
+you can set the option <cite>withBundledScalaContainers</cite> to false. Scala-IDE
+will then figure out wich version of scala your project is using from
+its classpath, and configures itself correctly based on that.</p>
+<p class="last">More details on using it
+<a class="reference external" href="http://scala-ide.org/blog/Xsource-compatibility.html#using-sbteclipse">here</a>.</p>
+</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id19" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id9">[9]</a></td><td>If you need to know, the issue here is on refreshing the
+<em>Java Build Path</em> window, rather than modifying both classpath
+containers in the background. We&#8217;d be very eager to receive a
+contribution from an Eclipse expert on that point !</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id20" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id10">[10]</a></td><td>Technically, we use the <cite>library.properties</cite> file of
+your scala-library jar.</td></tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="multiple-scala-version-support">
+<h3>Multiple Scala Version Support</h3>
+<p>Do you have projects configured to use a legacy version of Scala&nbsp;? Head
+over to the <a class="reference external" href="./scala-installations.html">Multiple Scala Version Support page</a>.</p>
+</div>
<div class="section" id="eclipse-configuration">
-<h2>Eclipse Configuration</h2>
+<h3>Eclipse Configuration</h3>
<p>The default Eclipse heap configuration is often inadequate for the Scala IDE. It is strongly recommended to edit the <tt class="docutils literal"><span class="pre">eclipse/eclipse.ini</span></tt> (<tt class="docutils literal"><span class="pre">eclipse/Eclipse.app/Contents/MacOS/eclipse.ini</span></tt> on Mac osX) file and add the following lines to increase various heap limits and virtual machine options:</p>
<div class="highlight-bash"><div class="highlight"><pre>--launcher.XXMaxPermSize
256m
@@ -118,24 +466,24 @@
</div>
</div>
<div class="section" id="required-preferences">
-<h2>Required Preferences</h2>
+<h3>Required Preferences</h3>
<ul>
<li><p class="first"><strong>JDT Weaving</strong></p>
<p>Scala IDE uses AOP to tweak the Eclipse JDT, so JDT weaving has to be enable. Otherwise, Scala files would be managed as Java files.</p>
-<p>It is set in the <tt class="docutils literal"><span class="pre">JDT</span> <span class="pre">Weaving</span></tt> section of Scala Setup Diagnostics dialog <a class="footnote-reference" href="#diagnostics" id="id1">[2]</a>. <em>JDT Weaving</em> should be checked (and disabled, to prevent accidental changes). If it is not the case, click to enable it.</p>
+<p>It is set in the <tt class="docutils literal"><span class="pre">JDT</span> <span class="pre">Weaving</span></tt> section of Scala Setup Diagnostics dialog <a class="footnote-reference" href="#diagnostics" id="id21">[12]</a>. <em>JDT Weaving</em> should be checked (and disabled, to prevent accidental changes). If it is not the case, click to enable it.</p>
<img alt="../../_images/advancedsetup-jdtweaving-012.png" src="../../_images/advancedsetup-jdtweaving-012.png" />
</li>
</ul>
</div>
<div class="section" id="optional-preferences">
-<h2>Optional Preferences</h2>
+<h3>Optional Preferences</h3>
<ul>
<li><p class="first"><strong>Heap Status</strong></p>
-<p>When the memory usage nears the limit, the Garbage Collector activity increases (when the compiler runs, ...) and system slows down. It is good to keep a eye on the heap status. It is possible by enabling <tt class="docutils literal"><span class="pre">Show</span> <span class="pre">heap</span> <span class="pre">status</span></tt> in the <tt class="docutils literal"><span class="pre">General</span></tt> section <a class="footnote-reference" href="#preferences" id="id2">[1]</a>.</p>
+<p>When the memory usage nears the limit, the Garbage Collector activity increases (when the compiler runs, ...) and system slows down. It is good to keep a eye on the heap status. It is possible by enabling <tt class="docutils literal"><span class="pre">Show</span> <span class="pre">heap</span> <span class="pre">status</span></tt> in the <tt class="docutils literal"><span class="pre">General</span></tt> section <a class="footnote-reference" href="#preferences" id="id22">[11]</a>.</p>
<a class="reference external image-reference" href="../_images/advancedsetup-heapstatus-01.png"><img alt="../../_images/advancedsetup-heapstatus-012.png" src="../../_images/advancedsetup-heapstatus-012.png" style="width: 100%;" /></a>
</li>
<li><p class="first"><strong>Limit Simultaneously Open Editors</strong></p>
-<p>Having too many editors open can claim a lot of memory. Unless you are an exceptional multi-tasker or you use a task-focused interface such as <a class="reference external" href="http://www.eclipse.org/mylyn/">Mylyn</a>, you may want to limit the number of simultaneously opened editors in the <tt class="docutils literal"><span class="pre">General</span></tt> section <a class="footnote-reference" href="#preferences" id="id3">[1]</a>..</p>
+<p>Having too many editors open can claim a lot of memory. Unless you are an exceptional multi-tasker or you use a task-focused interface such as <a class="reference external" href="http://www.eclipse.org/mylyn/">Mylyn</a>, you may want to limit the number of simultaneously opened editors in the <tt class="docutils literal"><span class="pre">General</span></tt> section <a class="footnote-reference" href="#preferences" id="id23">[11]</a>..</p>
<blockquote>
<div><a class="reference external image-reference" href="../_images/limit-editors.png"><img alt="../../_images/limit-editors1.png" src="../../_images/limit-editors1.png" style="width: 100%;" /></a>
</div></blockquote>
@@ -160,7 +508,7 @@
</ul>
</div>
<div class="section" id="performance">
-<h2>Performance</h2>
+<h3>Performance</h3>
<p>Garbage Collection activity and swap can be really bad for performance. It can trigger Eclipse freezes and cuase a general system slow down.</p>
<p>Monitoring what is happening is the best option to keep a healthy system:</p>
<ul class="simple">
@@ -170,7 +518,7 @@
<p>Depending of the problem, the memory allocated to the JVM can be increased, or some of the other application closed (like the web browser, or some flash application, ...).</p>
</div>
<div class="section" id="memory-consumption-new">
-<h2>Memory consumption <span class="raw-html"><span class="label info">new</span></span></h2>
+<h3>Memory consumption <span class="raw-html"><span class="label info">new</span></span></h3>
<p>The Scala IDE for Eclipse uses the Scala Presentation Compiler which provides semantic features such as live error markers, inferred type hovers etc.</p>
<p>Each project has its own presentation compiler instance working in a separate thread. It is created after importing or opening a previously closed project, as well as when you open .scala file or type something and a presentation compiler didn&#8217;t exist at a given moment.</p>
<p>In the case of complex projects with many dependencies, each presentation compiler can consume a lot of memory.
@@ -183,11 +531,11 @@
</div>
</div>
<div class="section" id="suggested-interesting-keyboard-shortcuts">
-<h2>Suggested interesting keyboard shortcuts</h2>
+<h3>Suggested interesting keyboard shortcuts</h3>
<p>You may want to head out to our <a class="reference internal" href="../../dev/appendix/shortcuts.html#shortcuts"><em>Suggested Shortcuts</em></a> page to get a list of shortcuts that will speed up your Scala development.</p>
</div>
<div class="section" id="additional-links">
-<h2>Additional Links</h2>
+<h3>Additional Links</h3>
<ul class="simple">
<li><a class="reference external" href="http://blog.normation.com/2010/05/24/optimizing-eclipse-performances/">Optimizing Eclipse performances</a> from <a class="reference external" href="http://blog.normation.com/">Normation</a>.</li>
<li><a class="reference external" href="http://stackoverflow.com/questions/142357/what-are-the-best-jvm-settings-for-eclipse">What are the best JVM settings for Eclipse?</a> from <a class="reference external" href="http://blog.normation.com/">Stack Overflow</a> forum</li>
@@ -197,17 +545,18 @@
<table class="docutils footnote" frame="void" id="preferences" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
-<tr><td class="label">[1]</td><td><em>(<a class="fn-backref" href="#id2">1</a>, <a class="fn-backref" href="#id3">2</a>)</em> The Eclipse preferences are accessible using <tt class="docutils literal"><span class="pre">Windows</span> <span class="pre">→</span> <span class="pre">Preferences</span></tt> (or <tt class="docutils literal"><span class="pre">Eclipse</span> <span class="pre">→</span> <span class="pre">Preferences</span></tt> on Mac OS X).</td></tr>
+<tr><td class="label">[11]</td><td><em>(<a class="fn-backref" href="#id22">1</a>, <a class="fn-backref" href="#id23">2</a>)</em> The Eclipse preferences are accessible using <tt class="docutils literal"><span class="pre">Windows</span> <span class="pre">→</span> <span class="pre">Preferences</span></tt> (or <tt class="docutils literal"><span class="pre">Eclipse</span> <span class="pre">→</span> <span class="pre">Preferences</span></tt> on Mac OS X).</td></tr>
</tbody>
</table>
<table class="docutils footnote" frame="void" id="diagnostics" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
-<tr><td class="label"><a class="fn-backref" href="#id1">[2]</a></td><td>The Scala Diagnostics dialog is accessible using <tt class="docutils literal"><span class="pre">Scala</span> <span class="pre">→</span> <span class="pre">Run</span> <span class="pre">Setup</span> <span class="pre">Diagnostics</span></tt>.</td></tr>
+<tr><td class="label"><a class="fn-backref" href="#id21">[12]</a></td><td>The Scala Diagnostics dialog is accessible using <tt class="docutils literal"><span class="pre">Scala</span> <span class="pre">→</span> <span class="pre">Run</span> <span class="pre">Setup</span> <span class="pre">Diagnostics</span></tt>.</td></tr>
</tbody>
</table>
</div>
</div>
+</div>
</div>
<div class="span5 sidebar">
View
512 4.0.x/advancedsetup/scala-installations.html
@@ -0,0 +1,512 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>Scala Multiple Installation Support &mdash; Scala IDE 0.1-SNAPSHOT documentation</title>
+
+ <link rel="stylesheet" href="../../_static/resources/stylesheets/base.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/resources/stylesheets/bootstrap.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/resources/stylesheets/base.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/resources/stylesheets/doc.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/resources/stylesheets/sphinx.css" type="text/css" />
+ <link rel="stylesheet" href="../../_static/resources/stylesheets/prettify.css" type="text/css" />
+
+ <script type="text/javascript">
+ var DOCUMENTATION_OPTIONS = {
+ URL_ROOT: '../../',
+ VERSION: '0.1-SNAPSHOT',
+ COLLAPSE_INDEX: false,
+ FILE_SUFFIX: '.html',
+ HAS_SOURCE: true
+ };
+ </script>
+ <script type="text/javascript" src="../../_static/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/underscore.js"></script>
+ <script type="text/javascript" src="../../_static/doctools.js"></script>
+ <script type="text/javascript" src="../../_static/resources/javascript/jquery.js"></script>
+ <script type="text/javascript" src="../../_static/resources/javascript/toc.js"></script>
+ <script type="text/javascript" src="../../_static/resources/javascript/prettify.js"></script>
+ <script type="text/javascript" src="../../_static/resources/javascript/highlightCode.js"></script>
+ <script type="text/javascript" src="../../_static/resources/javascript/effects.core.js"></script>
+ <script type="text/javascript" src="../../_static/resources/javascript/effects.highlight.js"></script>
+ <script type="text/javascript" src="../../_static/resources/javascript/scrollTo.js"></script>
+ <script type="text/javascript" src="../../_static/resources/javascript/bootstrap-dropdown.js"></script>
+ <script type="text/javascript" src="../../_static/resources/javascript/bootstrap-dropdown-app.js"></script>
+ <script type="text/javascript" src="../../_static/resources/javascript/contentsFix.js"></script>
+ <link rel="shortcut icon" href="../../_static/favicon.ico"/>
+ <link rel="top" title="Scala IDE 0.1-SNAPSHOT documentation" href="../../index.html" />
+ <link rel="up" title="User Documentation for the Scala IDE 4.0.x Lithium" href="../index.html" />
+ <link rel="next" title="Features" href="../features.html" />
+ <link rel="prev" title="Advanced Setup" href="index.html" />
+ </head>
+ <body>
+<div class="top-bar">
+ <div class="top-bar-inner">
+ <div class="container">
+ <a class="brand" href="/index.html"><img src="../../_static/resources/images/logo.png" height="70px"></a>
+ <ul class="nav">
+ <li><a href="/index.html#features">Features</a></li>
+ <li><a href="/documentation.html">Documentation</a></li>
+ <li class="menu">
+ <a href="#" class="menu">Download</a>
+ <ul class="menu-dropdown">
+ <li><a href="/download/sdk.html">Bundle</a></li>
+ <li><a href="/download/current.html">Stable</a></li>
+ <li><a href="/download/milestone.html">Milestone</a></li>
+ <li><a href="/download/nightly.html">Nightlies</a></li>
+ </ul>
+ </li>
+ <li><a href="/blog/index.html">News</a></li>
+ <li><a href="/team.html">Team</a></li>
+ <li><a href="/docs/dev/roadmap.html">Roadmap</a></li>
+ </ul>
+ </div>
+ </div>
+</div>
+<div class="slider">
+ <div class="container">
+ <div class="row">
+ <div class="span16">
+ <h1>Scala Multiple Installation Support</h1>
+ </div>
+ </div>
+ </div>
+</div>
+<div class="bottom">
+ <div class="container" style="position: relative;">
+
+ <div class="row" style="position: relative; clear: both;">
+ <div class="span16">
+ <ul class="breadcrumb">
+ <li><a href="../../index.html">ScalaIDE Documentation</a> » </li>
+ <li><a href="../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="row" style="position: relative; clear: both;">
+ <div class="span11 main-content">
+ <div class="section" id="scala-multiple-installation-support">
+<h1>Scala Multiple Installation Support</h1>
+<p>Scala IDE now supports projects set up for several major versions of the
+Scala compiler.</p>
+<div class="section" id="why-multiple-versions">
+<h2>Why multiple versions ?</h2>
+<p>The Scala IDE has a strong dependency on Scala&nbsp;: it comes deeply
+embedded with an interactive version of the compiler, called the
+<a class="reference external" href="./dev/architecture/presentation-compiler.html#scalapresentationcompiler">Presentation Compiler</a>, that it uses to do all the interactive
+work on your code: completions, errors as you type, semantic
+highlighting, etc <a class="footnote-reference" href="#id11" id="id1">[1]</a>.</p>
+<p>So far the Scala IDE was therefore built <em>on</em> and <em>for</em> a
+specific version of the Scala Compiler. For editing 2.10
+projects, you had to have a version of the IDE compiled for
+Scala 2.10. For 2.11, you had to have a version compiled for
+Scala 2.11. This led to users working with both 2.11 and 2.10
+projects to have two installations of Eclipse, with different
+flavors of the Scala IDE plugin installed.</p>
+<p>This also constrained us developers: since most of the IDE&#8217;s
+source code had to pass compilation with both 2.10 and 2.11, it
+was impossible to remove some obsolete things, led to some
+regression headaches, and made us maintain two parallel branches
+for the source.</p>
+<p>With this multi-version support feature, we want to use a single
+version of the IDE, built on the latest version of Scala, to
+handle both &#8220;modern&#8221; projects built using 2.11, as well as &#8220;legacy&#8221;
+projects built with 2.10.</p>
+<p>It will also let us retire the 2.10 branch of the IDE builds,
+focusing the efforts of our small team on one branch, and
+letting us deliver features to our users faster.</p>
+</div>
+<div class="section" id="scala-multi-version-support-new">
+<h2>Scala Multi Version Support <a href="#id21"><span class="problematic" id="id22">|new|</span></a></h2>
+<p>The gist of it is the following: the IDE is, as of its 4.0.0 release, a
+2.11 build. The Presentation Compiler it ships with is a part of Scala
+2.11. But its typechecker can run with a specific option,
+<tt class="docutils literal"><span class="pre">-Xsource:2.10</span></tt> that lets it work on 2.10 source files. That&#8217;s now a
+standalone <a class="reference external" href="http://www.scala-lang.org/news/2.11.1">scala compiler</a> option,
+by the way — though please note it only affects up to the typechecker
+phase <a class="footnote-reference" href="#id12" id="id2">[2]</a>.</p>
+<p>So, if you are working on a 2.11 project, nothing changed — this
+is business as usual. If you are working on a 2.10 code base, a
+few tweaks and settings may be needed, though the IDE will try
+to help you.</p>
+<p>All you may need to do, then, is to tell the IDE how to deal with
+your Scala 2.10 project. For that you need to align a few things:</p>
+<ul class="simple">
+<li>a setting of compiler options</li>
+<li>a consistent classpath</li>
+<li>in particular, a compatible Scala classpath container within it</li>
+<li>and optionally, a custom Scala Installation</li>
+</ul>
+<p>All of this is brought to you by a single toggle, that we will
+deal with first, so that those of you in a hurry can start
+hacking.</p>
+</div>
+<div class="section" id="source-level-new">
+<h2>Source Level <a href="#id23"><span class="problematic" id="id24">|new|</span></a></h2>
+<p>To configure a new, fresh project for 2.10 compatibility, you have to
+go to project-specific settings: the platform&#8217;s default is still
+to consider that projects are based on Scala 2.11 <a class="footnote-reference" href="#id13" id="id3">[3]</a>.</p>
+<p>Here&#8217;s what you&#8217;ll see:</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/compiler-before.png"><img alt="img1" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/compiler-before.png" style="width: 100%;" /></a></p>
+<p>You can now toggle project-specific settings and look at the
+drop-down just below it. It displays a list of versioned Scala
+installations that should include (at least) both a 2.10 version
+and a 2.11 version. Some are labeled as <em>dynamic</em>, others as
+<em>fixed</em>.</p>
+<p>Here&#8217;s an example:</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/compiler-toggled.png"><img alt="img2" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/compiler-toggled.png" style="width: 100%;" /></a></p>
+<p>The meaning of a fixed version is just that: if you select any
+fixed version, your project will be type-checked with that
+particular version of Scala, for as long as the IDE can find it <a class="footnote-reference" href="#id14" id="id4">[4]</a>.</p>
+<p>The meaning of a dynamic option is that it will get updated in a
+binary compatible way as we ship updates of the IDE through
+Eclipse <a class="reference external" href="http://wiki.eclipse.org/FAQ_How_do_I_upgrade_Eclipse%253F">update sites</a>. You have the insurance that if you choose
+a dynamic 2.11 version, what will be used is the latest
+available 2.11 installation the IDE ships with <a class="footnote-reference" href="#id15" id="id5">[5]</a>.</p>
+<p><strong>That&#8217;s it</strong>&nbsp;! Now once you select one of these options
+(hopefully a
+2.10 installation, since this is what we&#8217;re here to do), you
+will not see any changes to other compilation options. But if
+you subsequently reopen compiler settings for that project,
+you&#8217;ll see that the <tt class="docutils literal"><span class="pre">-Xsource:2.10</span> <span class="pre">-Ymacro-expand:none</span></tt> string has
+been added to your compiler settings:</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/compiler-after.png"><img alt="img3" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/compiler-after.png" style="width: 100%;" /></a></p>
+<p>Note that if you decide to <em>revert</em> that change and come back to
+a 2.11 configuration, the IDE will look closely at your project&#8217;s
+compiler settings as compared to workspace-wide settings. If just
+removing scala-version-related makes your project configuration
+equivalent to workspace settings, it will automatically revert the
+project-specific toggle. your project will again be ruled by
+current workspace-wide settings.</p>
+<p>Also, note this setting will not affect what your projct is built
+with. What your project runs on is, as usual, the compiler it
+finds on classpath. But what is actually found on classpath may
+vary according to your project&#8217;s specific settings <a class="footnote-reference" href="#id16" id="id6">[6]</a>.</p>
+</div>
+<div class="section" id="multiple-scala-installation-settings-at-once-new">
+<h2>Multiple Scala Installation Settings at once <a href="#id25"><span class="problematic" id="id26">|new|</span></a></h2>
+<p>Many of you have multiple projects which version they want to switch
+quickly, without having to open project preferences for each project. So,
+choosing a Scala Installation is now a multi-select action: just choose
+your target projects, right-click, go to the Scala menu, and choose ‘Set
+the Scala Installation’, as below.</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/new-support/multiselect-action.png"><img alt="img13" src="http://scala-ide.org/resources/images/xsource-screenshots/new-support/multiselect-action.png" style="width: 100%;" /></a></p>
+</div>
+<div class="section" id="scala-installation-detection-new">
+<h2>Scala Installation detection <a href="#id27"><span class="problematic" id="id28">|new|</span></a></h2>
+<p>The IDE will try to understand what version of Scala your project
+is designed to work with. It does this by looking at your
+<em>resolved</em> classpath. A resolved classpath means &#8220;expanded until
+it explicitly contains just paths to existing files&#8221; <a class="footnote-reference" href="#id17" id="id7">[7]</a>.
+Files in that classpath will possibly contain a scala-library
+jar, in which we know where to look for a version, or other,
+external jar files which filename might hint at a Scala version.</p>
+<p>If we detect a 2.10 scala library, you&#8217;ll see the following
+error marker appear in the problems view:</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/error-marker.png"><img alt="img4" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/error-marker.png" style="width: 100%;" /></a></p>
+<p>If you try to quick-fix this error (by pressing Ctrl+1 or right-clicking and selecting Quickfix), you’ll see the following dialog:</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/quickfix.png"><img alt="img5" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/quickfix.png" style="width: 100%;" /></a></p>
+<p>Opening Project Properties here (by clicking <em>Finish</em>) is equivalent to
+doing it through menus, you can then toggle project-specific compiler
+settings if necessary, and set the correct compiler flags.</p>
+<p>A similar dialog will pop up if you have external 2.10 libraries
+show up in your classpath.</p>
+<p>Now, if you have a project that was created in Eclipse, or if
+you are working on a project which Eclipse configuration has
+been generated in the past with <a class="reference external" href="https://github.com/typesafehub/sbteclipse">sbteclipse</a>, you may notice that
+those dialogs do not appear. This is because your project is
+using a Classpath Container.</p>
+<p>Basically, classpath containers are an indirection in your
+classpath that is elaborated by the platform Eclipse using
+settings. They&#8217;re the technical notion behind the Eclipse feature
+named <a class="reference external" href="http://help.eclipse.org/juno/index.jsp?topic%3D%252Forg.eclipse.jdt.doc.user%252Freference%252Fpreferences%252Fjava%252Fbuildpath%252Fref-preferences-user-libraries.htm">user libraries.</a></p>
+<p>Your project&#8217;s physical representation contains a string (a classpath
+container <em>path</em>) in its classpath, that Eclipse resolves depending on its
+own settings and context <a class="footnote-reference" href="#id18" id="id8">[8]</a>. This has been the way Scala projects in the
+IDE have been dealt with so far: your projects contained that indirection
+as a pointer to a Scala compiler. That pointer was resolved to whichever
+version of Scala the current Scala Plugin had been bundled with, so that
+as you updated your ScalaIDE plugin over time, your projects were always
+built with the latest version of the scala compiler embedded with the IDE.</p>
+<p>As of now you have access to the content of the Scala Classpath
+Containers. First of all, choosing a project-specific scala
+installation in compiler settings, as discussed above, also sets
+the classpath container. You can witness that by expanding your
+project in the Package Explorer. Here&#8217;s how it look for our test
+project, set to use the latest 2.10 Scala above:</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/package-explorer.png"><img alt="img6" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/package-explorer.png" style="width: 100%;" /></a></p>
+<p>You&#8217;ll notice this is not the generic 2.11 container you would
+get with a fresh new (and therefore 2.11) project. You can also
+see that in the <em>Java Build Path</em> preference page in the project
+settings:</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/properties-build-path.png"><img alt="img7" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/properties-build-path.png" style="width: 100%;" /></a></p>
+<p>You can also edit this classpath container, by right-clicking in
+the <em>Package Explorer</em> view, or by clicking <em>Edit</em> on the <em>Java
+Build Path</em> Preference page.</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/edit-container.png"><img alt="img8" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/edit-container.png" style="width: 100%;" /></a></p>
+<p>Choosing a particular installation here will have the same
+effect as choosing a particular Scala Installation in the
+project&#8217;s compiler settings, as outlined above. In fact, if you
+reopen your project&#8217;s settings after applying that classpath
+container change, you&#8217;ll notice that the settings for your
+installation and use of project-specific settings have changed
+appropriately.</p>
+<p>Note that if you decide to write a plugin, or do something that
+depends on the scala compiler as opposed to just the scala
+library, you may want to add another specific container to your
+classpath: the Scala compiler. This is possible thanks to the
+(usual) <em>Add Library</em> menu of the <em>Java Build Path</em> page. Here,
+the Scala Compiler choice will take you to a window very similar
+to the above.</p>
+<p>Beware this choice will also have an impact on your choice of
+Scala installation and associated compiler settings. In fact, to
+make sure that the compiler and library container settings would
+not get out of sync, we had to make sure that classpath container
+edition should not fire if you have both Scala-library and
+Scala-compiler on classpath. The best way to proceed is
+from a project&#8217;s choice of Scala Installation, which cascades to
+classpath containers — and a link will guide you there if you
+try to modify such a classpath container directly anyway <a class="footnote-reference" href="#id19" id="id9">[9]</a>.</p>
+<p>This will let you have a project which classpath is managed the
+way your choice of Scala Installation is : a fixed set of jars if
+this is what you choose, or the latest flavor of your favorite
+compiler (whether 2.10 or 2.11), in case you select a dynamic
+installation.</p>
+<p>But so far, we have only seen how to manage the pre-installed,
+embedded versions of the scala library and compiler. How about
+dealing with custom, personal installations of Scala that you
+may want to use in conjunction with your project&nbsp;?</p>
+</div>
+<div class="section" id="byos-bring-your-own-scala">
+<h2>BYOS (Bring Your Own Scala)</h2>
+<p>If you want to use a custom version of Scala with your project,
+there has always been the option of having a manually-managed
+classpath. You can either use the <em>Add External Jars</em> function
+for the <em>Java Build Path</em> preference page to set up your
+scala-compiler and/or scala-library (etc) jars, or you could use
+sbteclipse with the <tt class="docutils literal"><span class="pre">EclipseKeys.withBundledScalaContainers:=false</span></tt>
+option, which copies exactly the settings resolved by sbt.</p>
+<p>But using this is tedious, and it&#8217;s per-project. Or perhaps your project
+does not have an sbt build. How about setting a custom, workspace-wide
+installation that your projects can then reuse ?</p>
+<p>This is what you can do from the Scala Installations preference
+page. You will find it in the preference dialog for the
+workspace.</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/scala-installations.png"><img alt="img9" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/scala-installations.png" style="width: 100%;" /></a></p>
+<p>Notice how there is no notion of dynamic or fixed represented here: those
+notions are relevant for a choice of Scala Installation when you configure
+a project (dictating how that choice will be realized accross
+upgrades). Those are just the installations that are available to your IDE
+at the moment.</p>
+<p>There you can add and remove an installation according to your
+needs. So far, the dialog prompts you for a directory, which
+should contain all your jar files, at the root of the
+directory. Those should comprise at least of the scala-compiler
+and scala-library jar. If there are source jars in that
+directory, the IDE will also try to incorporate them in the
+installation. It will also try to find extra dependencies
+such as scala-reflect.</p>
+<p>It will try to do a best effort to understand the version of
+your installation given what we know of how such jars are
+produced by the compiler build <a class="footnote-reference" href="#id20" id="id10">[10]</a>, and try to check those
+jars&#8217; versions are consistent with each other.</p>
+<p>Let&#8217;s now try to add an installation from the <tt class="docutils literal"><span class="pre">~/.sbt/boot</span></tt>
+directory, a place where sbt stores the scala jars it requires to
+boot.</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/sbt-installation.png"><img alt="img10" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/sbt-installation.png" style="width: 100%;" /></a></p>
+<p>A dialog then comes up asking for a name: this name gives you
+the option of labeling a custom installation with a tag that is
+easier to find in all the dialogs above, or even to have several
+names for a given choice of jars.</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/naming-installation.png"><img alt="img11" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/naming-installation.png" style="width: 100%;" /></a></p>
+<p>You can now see your installation listed in all relevant dialogs
+mentioned above, and you can select it in Compiler Settings.</p>
+<p><a class="reference internal" href="http://scala-ide.org/resources/images/xsource-screenshots/installations/custom-installation-visible.png"><img alt="img12" src="http://scala-ide.org/resources/images/xsource-screenshots/installations/custom-installation-visible.png" style="width: 100%;" /></a></p>
+<p>Note that any scala installation created in that custom manner
+is necessarily fixed: dynamic installations vary following
+upgrades of the Scala IDE packaged compilers, and we would not
+know what to upgrade such a directory-based scala installation
+to.</p>
+<p>You may also find it constraining to have your scala
+installation set as a bunch of jars at the root of a
+directory. But it should be possible to convert any setup of a
+scala installation to a suitable directory by using symbolic links.</p>
+<p>Besides, we firmly intend to implement more ways of defining a
+custom scala installation for use in your IDE. If you have a
+preferred way (explicitly choosing every jar ? looking at your
+maven/ivy cache ?), please <a class="reference external" href="https://groups.google.com/d/forum/scala-ide-dev">let us know</a>.</p>
+<p>Finally, note that so far, we only support Scala Versions
+posterior to 2.10.0. Indeed, the <tt class="docutils literal"><span class="pre">-Xsource</span></tt> flag only knows so
+far how to run both in 2.11 (normal) and 2.10 (compatibility)
+modes. But it no longer knows about old typing ways of the past.</p>
+<table class="docutils footnote" frame="void" id="id11" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td>One important exception to this is building, which is a <a class="reference external" href="https://en.wikipedia.org/wiki/Batch_processing">batch-mode</a> task that can be
+delegated to another piece of byte code.</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id12" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id2">[2]</a></td><td>In other terms, there&#8217;s no way for you to generate
+class files for a 2.10 code base using a 2.11 compiler and this
+option.</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id13" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id3">[3]</a></td><td>If you are dealing mostly with 2.10 projects, you may be
+interested in the 2.10 flavors of the Scala IDE.</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id14" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id4">[4]</a></td><td>The IDE will not lose Scala installation during normal operation,
+or through upgrades. But that may occur if you remove files on your
+disk, or explicitly remove components (bundles) of your IDE
+installation.</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id15" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id5">[5]</a></td><td>This is only valid for built-in versions: a dynamic
+installation choice will never resolve to a custom Scala installation.</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id16" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id6">[6]</a></td><td>Notice that this means that the expansion of white-box
+macros is not currently possible in the compatibility 2.10
+mode. Indeed, macros have known important <a class="reference external" href="http://docs.scala-lang.org/overviews/macros/changelog211.html">recent developments</a>
+between 2.10 and 2.11 which makes type checking compatibility
+between the two extremely difficult. If you have a significant
+project that uses 2.10 whitebox macros, you may want to look at
+2.10 flavors of the Scala IDE.&lt;/div&gt;</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id17" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id7">[7]</a></td><td>We&#8217;ll see why and how a classpath might <em>not</em> be
+expanded in a moment.</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id18" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id8">[8]</a></td><td><p class="first">Note that this is also the way, in its default operating mode, that
+<a class="reference external" href="https://github.com/typesafehub/sbteclipse">sbteclipse</a> generates
+ScalaIDE configurations. If you want sbteclipse to generate an explicit
+classpath, preserving the scala version sbt would have chosen for you,
+you can set the option <cite>withBundledScalaContainers</cite> to false. Scala-IDE
+will then figure out wich version of scala your project is using from
+its classpath, and configures itself correctly based on that.</p>
+<p class="last">More details on using it
+<a class="reference external" href="http://scala-ide.org/blog/Xsource-compatibility.html#using-sbteclipse">here</a>.</p>
+</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id19" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id9">[9]</a></td><td>If you need to know, the issue here is on refreshing the
+<em>Java Build Path</em> window, rather than modifying both classpath
+containers in the background. We&#8217;d be very eager to receive a
+contribution from an Eclipse expert on that point !</td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id20" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id10">[10]</a></td><td>Technically, we use the <cite>library.properties</cite> file of
+your scala-library jar.</td></tr>
+</tbody>
+</table>
+</div>
+</div>
+
+ </div>
+ <div class="span5 sidebar">
+ <p class="contents-title">Contents</p>
+ <div id="scroller-anchor">
+ <div id="scroller">
+ <div id="toc"></div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </div>
+</div>
+<div class="footer" style="position:relative; clear: both; ">
+ <div class="container">
+ <ul>
+ <li><h5>Download</h5></li>
+ <li><a href="/download/sdk.html">Bundle</a></li>
+ <li><a href="/download/current.html">Stable</a></li>
+ <li><a href="/download/milestone.html">Milestone</a></li>
+ <li><a href="/download/nightly.html">Nightlies</a></li>
+ </ul>
+ <ul>
+ <li><h5>Documentation</h5></li>
+ <li><a href="/docs/user/gettingstarted.html">Getting Started</a></li>
+ <li><a href="/docs/videos.html">Videos</a></li>
+ <li><a href="/docs/tutorials/index.html">Tutorials</a></li>
+ <li><a href="http://groups.google.com/group/scala-ide-user">User Mailing List</a></li>
+ </ul>
+ <ul>
+ <li><h5>Contribute</h5></li>
+ <li><a href="https://github.com/scala-ide/scala-ide">Source Code</a></li>
+ <li><a href="/docs/dev/index.html">Developer Documentation</a></li>
+ <li><a href="http://groups.google.com/group/scala-ide-dev">Developer Mailing List</a></li>
+ <li><a href="http://scala-ide-portfolio.assembla.com/spaces/scala-ide/support/tickets">Report a Bug</a></li>
+ <li><a href="http://www.typesafe.com/contribute/cla">Individual CLA</a></li>
+ <li><a href="/resources/pdfs/cla-org.pdf">Organization CLA</a></li>
+ </ul>
+ <ul>
+ <li><img src="../../_static/resources/images/watermark.png" align="center"/></li>
+ </ul>
+ </div>
+ <div class="container copyright">
+ <p>
+ <a href="http://creativecommons.org/licenses/by/2.0/uk/">Creative Commons</a>
+ <a href="http://scala-ide.org/feed.rss"><img align="right" height="20px" width="20px" src="http://scala-ide.org/resources/images/rss.png" alt="RSS feed of updates to the Scala IDE blog"></a>
+ </p>
+ </div>
+</div>
+<script type="text/javascript">
+ $('#toc').toc();
+</script>
+<script type="text/javascript">
+
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-574683-7']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+
+ function startVideo(div_id, youtube_id) {
+ var video = '<iframe class="doc_video" src="http://www.youtube.com/embed/' + youtube_id + '?rel=0&autoplay=1&vq=hd720" frameborder="0" allowfullscreen></iframe>';
+ document.getElementById(div_id).innerHTML = video
+ }
+
+
+</script>
+
+ </body>
+</html>
View
4 4.0.x/faq/index.html
@@ -40,7 +40,7 @@
<script type="text/javascript" src="../../_static/resources/javascript/contentsFix.js"></script>
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
<link rel="top" title="Scala IDE 0.1-SNAPSHOT documentation" href="../../index.html" />
- <link rel="up" title="User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)" href="../index.html" />
+ <link rel="up" title="User Documentation for the Scala IDE 4.0.x Lithium" href="../index.html" />
<link rel="next" title="Community" href="../../community.html" />
<link rel="prev" title="Developing for Android" href="../../tutorials/androiddevelopment/index.html" />
</head>
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
</ul>
</div>
</div>
View
4 4.0.x/faq/known-issues.html
@@ -40,7 +40,7 @@
<script type="text/javascript" src="../../_static/resources/javascript/contentsFix.js"></script>
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
<link rel="top" title="Scala IDE 0.1-SNAPSHOT documentation" href="../../index.html" />
- <link rel="up" title="User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)" href="../index.html" />
+ <link rel="up" title="User Documentation for the Scala IDE 4.0.x Lithium" href="../index.html" />
<link rel="next" title="Frequently Asked Questions" href="../../user/faq.html" />
<link rel="prev" title="License" href="../../license.html" />
</head>
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
</ul>
</div>
</div>
View
6 4.0.x/features.html
@@ -40,9 +40,9 @@
<script type="text/javascript" src="../_static/resources/javascript/contentsFix.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="top" title="Scala IDE 0.1-SNAPSHOT documentation" href="../index.html" />
- <link rel="up" title="User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)" href="index.html" />
+ <link rel="up" title="User Documentation for the Scala IDE 4.0.x Lithium" href="index.html" />
<link rel="next" title="Typing and Viewing" href="features/typingviewing/index.html" />
- <link rel="prev" title="Advanced Setup" href="advancedsetup/index.html" />
+ <link rel="prev" title="Scala Multiple Installation Support" href="advancedsetup/scala-installations.html" />
</head>
<body>
<div class="top-bar">
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
</ul>
</div>
</div>
View
2  4.0.x/features/logging/index.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
</ul>
</div>
View
2  4.0.x/features/navigating/comment-hyperlinking.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Navigating</a> » </li>
</ul>
View
2  4.0.x/features/navigating/declaration-hyperlinking.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Navigating</a> » </li>
</ul>
View
2  4.0.x/features/navigating/implicit-hyperlinking.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Navigating</a> » </li>
</ul>
View
2  4.0.x/features/navigating/index.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
</ul>
</div>
View
2  4.0.x/features/navigating/open-declaration.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Navigating</a> » </li>
</ul>
View
2  4.0.x/features/navigating/open-type.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Navigating</a> » </li>
</ul>
View
2  4.0.x/features/navigating/outline-view.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Navigating</a> » </li>
</ul>
View
2  4.0.x/features/navigating/tasks-view.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Navigating</a> » </li>
</ul>
View
2  4.0.x/features/scaladebugger/index.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
</ul>
</div>
View
2  4.0.x/features/scalainterpreter/index.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
</ul>
</div>
View
2  4.0.x/features/test-finder/index.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
</ul>
</div>
View
2  4.0.x/features/typingviewing/auto-edits.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/code-completion.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/code-templates.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/errors-as-you-type.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/formatting/index.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../../features.html">Features</a> » </li>
<li><a href="../index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/implicit-highlighting/index.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../../features.html">Features</a> » </li>
<li><a href="../index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/indent-guide.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/index.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
</ul>
</div>
View
2  4.0.x/features/typingviewing/inferred-hover.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/javadoc.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/mark-occurrences.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/quick-fixes.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/refactoring/index.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../../features.html">Features</a> » </li>
<li><a href="../index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/semantic-highlighting/index.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../../features.html">Features</a> » </li>
<li><a href="../index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/show-inferred-semicolons.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/show-type-of-selection.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/source-generators/index.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../../features.html">Features</a> » </li>
<li><a href="../index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/structured-selection.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/typingviewing/syntax-highlighting.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
<li><a href="index.html">Typing and Viewing</a> » </li>
</ul>
View
2  4.0.x/features/wizards/index.html
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
<li><a href="../../features.html">Features</a> » </li>
</ul>
</div>
View
6 4.0.x/gettingstarted/index.html
@@ -40,9 +40,9 @@
<script type="text/javascript" src="../../_static/resources/javascript/contentsFix.js"></script>
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
<link rel="top" title="Scala IDE 0.1-SNAPSHOT documentation" href="../../index.html" />
- <link rel="up" title="User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)" href="../index.html" />
+ <link rel="up" title="User Documentation for the Scala IDE 4.0.x Lithium" href="../index.html" />
<link rel="next" title="Advanced Setup" href="../advancedsetup/index.html" />
- <link rel="prev" title="User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)" href="../index.html" />
+ <link rel="prev" title="User Documentation for the Scala IDE 4.0.x Lithium" href="../index.html" />
</head>
<body>
<div class="top-bar">
@@ -84,7 +84,7 @@
<div class="span16">
<ul class="breadcrumb">
<li><a href="../../index.html">ScalaIDE Documentation</a> » </li>
- <li><a href="../index.html">User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</a> » </li>
+ <li><a href="../index.html">User Documentation for the Scala IDE 4.0.x Lithium</a> » </li>
</ul>
</div>
</div>
View
41 4.0.x/index.html
@@ -6,7 +6,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>User Documentation for the Scala IDE 4.0.x - Lithium (unreleased) &mdash; Scala IDE 0.1-SNAPSHOT documentation</title>
+ <title>User Documentation for the Scala IDE 4.0.x Lithium &mdash; Scala IDE 0.1-SNAPSHOT documentation</title>
<link rel="stylesheet" href="../_static/resources/stylesheets/base.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@@ -71,7 +71,7 @@
<div class="container">
<div class="row">
<div class="span16">
- <h1>User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</h1>
+ <h1>User Documentation for the Scala IDE 4.0.x Lithium</h1>
</div>
</div>
</div>
@@ -86,8 +86,8 @@
<div class="row" style="position: relative; clear: both;">
<div class="span11 main-content">
- <div class="section" id="user-documentation-for-the-scala-ide-4-0-x-lithium-unreleased">
-<h1>User Documentation for the Scala IDE 4.0.x - Lithium (unreleased)</h1>
+ <div class="section" id="user-documentation-for-the-scala-ide-4-0-x-lithium">
+<h1>User Documentation for the Scala IDE 4.0.x Lithium</h1>
<p>This documentation is the starting point for the installation guide and other information regarding the use of the Scala IDE for Eclipse V4.0.0.</p>
<p>Contents:</p>
<div class="toctree-wrapper compound">
@@ -109,13 +109,32 @@
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="advancedsetup/index.html">Advanced Setup</a><ul>
-<li class="toctree-l2"><a class="reference internal" href="advancedsetup/index.html#eclipse-configuration">Eclipse Configuration</