Ceylon IDE M3.2 发布

openkk 12年前
   <p>Ceylon IDE 是基于 Eclipse 的插件,用于开发 Ceylon 编程语言。</p>    <p>Ceylon面向企业级应用开发设计,在JVM运行时基础上执行,支持与Java的交互操作。Ceylon语言充分借鉴了Java语言的优势并屏蔽其在设计上的不足,使用静态类型并提供高阶函数支持,在保持代码良好可读性的同时进一步降低开发者入门的难度。</p>    <p>Ceylon语言没有设计特殊的Primitive类型或复合类型,所有类型在类型系统内部都是可表达的。Ceylon的通用类型设计比Java的 实现更为简便,而且相比其他类Java语言具备更高的安全性,Ceylon的元编程(Reflection)也必须是类型安全的。此外,Ceylon语言 减少了开发者对于配置文件的依赖,屏蔽了Java开发者常常需要对各种XML进行的配置和修改操作。</p>    <p><img alt="Ceylon IDE M3.2 发布" src="https://simg.open-open.com/show/87a2fa226c5f699ae9c010ed15c30df2.png" width="535" height="357" /></p>    <p>该版本 100% 兼容之前的 M3.1 版本,在 UI 上做了很大的改进,主要包括:</p>    <h2>No more dependence on IMP</h2>    <p>We recommend removing IMP from your Eclipse installation.</p>    <h2>Ceylon Explorer view</h2>    <p>The <em>Ceylon Explorer View</em> presents packages as children of the containing modules. You should reset your <em>Ceylon Perspective</em> after updating the IDE on order to get the <em>Ceylon Explorer</em> in place of JDT's <em>Package Explorer</em>.</p>    <p class="screenshot"><img title="Ceylon Explorer view" alt="Ceylon IDE M3.2 发布" src="https://simg.open-open.com/show/e919d2f2cf0689c50ed4e5b29b7f44f2.png" width="594" height="160" /> </p>    <h2>Awesome documentation hover</h2>    <p>Hover over the name of a Ceylon or Java declaration to see the gorgeous new hover info. Click in it to browse to other related declarations.</p>    <p class="screenshot"><img title="Documentation hover" alt="Ceylon IDE M3.2 发布" src="https://simg.open-open.com/show/71a94c3d64dd63b7a44da5beb35e7c27.png" width="256" height="217" /> </p>    <h2>Code popup</h2>    <p><code>Ctrl-P</code>, or "Show Code" pops up an information control containing the code of the referenced declaration. <code>Ctrl-P</code> again opens an editor. Hyperlink navigation from the Code popup is also possible.</p>    <p class="screenshot"><img title="Source popup" alt="Ceylon IDE M3.2 发布" src="https://simg.open-open.com/show/566ab73c08bd4c0f47f6d2929c3e3017.png" width="292" height="209" /> </p>    <h2>Hierarchy and Outline popups</h2>    <p>As before, <code>Ctrl-T</code> and <code>Ctrl-O</code> open the popup <em>Hierarchy</em> and <em>Outline</em> views. These now look a lot prettier, and they are also more functional. You can filter the contents by typing inside them, and they remember their bounds. The <em>Hierarchy View</em> is also much better integrated with Java stuff. <code>Ctrl-T</code> inside the open <em>Hierarchy View</em> cycles between <em>Hierarchy View</em>, <em>Supertypes View</em>, and <em>Subtypes View</em>. These popups have configurable background colors.</p>    <p class="screenshot"><img title="Hierarchy popup" alt="Ceylon IDE M3.2 发布" src="https://simg.open-open.com/show/41acd9159b6e0dd8ef9f525a05def4ce.png" width="277" height="245" /> <img title="Outline popup" alt="Ceylon IDE M3.2 发布" src="https://simg.open-open.com/show/682e0ffd53bdf607a108f0dd3f405841.png" width="302" height="368" /> </p>    <h2>Auto-addition of needed imports</h2>    <p>Refactorings, quick fixes, and autocompletions now add any needed imports to the top of the source file. In addition, autocompletion will propose declarations from any imported module, even if the package is not imported in the current unit.</p>    <h2>New Quick Fixes/Assists</h2>    <p>Thanks to Sjur and Tomáš, we now have some new quick fixes and assists:</p>    <ul>     <li>convert if/else to then/else, then/else to if/else</li>     <li>invert if/else</li>     <li>add type constraint to type parameter</li>    </ul>    <h2>Clean Imports</h2>    <p><em>Clean Imports</em> now automatically fills in missing imports if unambiguous, and prompts the user to choose a declaration to import if ambiguous.</p>    <h2>Terminate Statement</h2>    <p><code>Ctrl-2</code> adds any necessary semicolon, closing parens, and closing braces to terminate the statement at the current line. This feature is almost magical in how good it is at guessing where the closing punctuation needs to go.</p>    <h2>Mark occurrences</h2>    <p>Occurrence marking is now enabled by default and works like JDT (the declaration to highlight is the one under the caret).</p>    <p class="screenshot"><img title="Mark occurences" alt="Ceylon IDE M3.2 发布" src="https://simg.open-open.com/show/720c39edd7b5cee9a7cec926ca6a2e57.png" width="494" height="237" /> </p>    <h2>Proposals popups</h2>    <p>Completions proposals and quick fix/assist proposal popups now have syntax highlighting. Typing a "." automatically activates the completion proposal window. When only one completion proposal is available, it is automatically applied.</p>    <p class="screenshot"><img title="Completion popup" alt="Ceylon IDE M3.2 发布" src="https://simg.open-open.com/show/2b1d058f4182c58dd1e2644ed112451a.png" width="520" height="181" /> </p>    <h2>Select Enclosing/Restore Previous Selection</h2>    <p><code>Ctrl-shift-up</code> expands the selection to the containing expression or program element. <code>Ctrl-shift-down</code> takes you back to the previous selection.</p>    <p>Also <code>Ctrl-Shift-P</code> takes you to the matching bracket and <em>Show In</em> now works.</p>    <p class="screenshot"><img title="Select enclosing selection" alt="Ceylon IDE M3.2 发布" src="https://simg.open-open.com/show/f2269af233a501e778decb24dd25afe1.png" width="399" height="84" /> </p>    <h2>Outline View</h2>    <p>There is now a popup context menu on <em>Outline View</em> nodes. The selected node now follows the editor caret location.</p>    <p>Tomáš added a toolbar to the <em>Outline View</em>, letting you filter out local declarations and expand/collapse all nodes.</p>    <p class="screenshot"><img title="Outline view" alt="Ceylon IDE M3.2 发布" src="https://simg.open-open.com/show/832bd99de2e1f868540cd94a74828f12.png" width="565" height="254" /> </p>    <h2>Open Ceylon Declaration / Open Type</h2>    <p>The default keyboard binding for Open Ceylon Declaration is now <code>Ctrl-Shift-O</code> instead of <code>Ctrl-Shift-C</code>. This is more ergonomic and works even inside the Java editor. Inside the Ceylon perspective, <code>Ctrl-Shift-T</code> opens the Open Type dialog, which lets you choose between Ceylon <em>and</em> Java types in one dialog (a very slow-to-load dialog, but hey...).</p>    <p><code>F3</code> (Open Selected Declaration) now handles Java declarations.</p>    <p class="screenshot"><img title="Open type" alt="Ceylon IDE M3.2 发布" src="https://simg.open-open.com/show/127d106dc5a331214a8b87de28df1816.png" width="548" height="458" /> </p>    <p class="screenshot"><img title="Open declaration" alt="Ceylon IDE M3.2 发布" src="https://simg.open-open.com/show/5cec8ae9fc857f4dd70de9e68a98390c.png" width="553" height="274" /> </p>    <h2>Support for multiple module repositories</h2>    <p>The <em>New Project wizard</em> and <em>Ceylon Preferences page</em> now let you configure multiple module repositories for a project.</p>    <p class="screenshot"><img title="New project" alt="Ceylon IDE M3.2 发布" src="https://simg.open-open.com/show/9dc93b370a1b6718226de06d092e0e00.png" width="588" height="713" /> </p>    <h2>Backend errors</h2>    <p>Errors from the compiler backend now show up in the <em>Problems View</em> and vertical ruler, and compiler progress is visible in the <em>Progress View</em> and status bar. The 80s-style scrolling console is gone.</p>    <h2>Progress</h2>    <p>Building the completion proposals and hierarchy for the first time is now expensive because it involves trawling the whole JDK. You get a nice progress bar in the status bar of the main window.</p>    <h2>Parser lifecycle</h2>    <p>Code is lexed/parsed synchronously on every keypress, and lexed/parsed+typechecked synchronously on every keypress when the completions proposals window is open. This results in much more responsive syntax highlighting and fixes some wierd behavior in the completion proposals window. When the completions proposal window is not open, typechecking still happens in a background job as before.</p>    <h1>Download it today</h1>    <p>The <a href="/misc/goto?guid=4958522384673575268">Ceylon IDE</a> is available today from our <a href="/misc/goto?guid=4958522384765316747">update site</a> or from Eclipse Marketplace:</p>