{"id":3459,"date":"2016-03-30T15:01:18","date_gmt":"2016-03-30T15:01:18","guid":{"rendered":"https:\/\/blog.jetbrains.com\/objc\/?p=4536"},"modified":"2016-05-11T13:21:04","modified_gmt":"2016-05-11T13:21:04","slug":"appcode-2016-1-release","status":"publish","type":"appcode","link":"https:\/\/blog.jetbrains.com\/fr\/appcode\/2016\/03\/appcode-2016-1-release","title":{"rendered":"AppCode 2016.1 released: better Swift language support, code folding for Swift declarations and more!"},"content":{"rendered":"<p>Hi,<\/p>\n<p>Finally, <strong>AppCode 2016.1<\/strong> is here, so <a href=\"https:\/\/www.jetbrains.com\/objc\/download\/\" target=\"_blank\" rel=\"noopener\">download<\/a> and try it right now! And if you\u2019ve already installed the <a title=\"RC2\" href=\"https:\/\/blog.jetbrains.com\/objc\/2016\/03\/appcode-2016-1-rc2\/\">AppCode 2016.1 RC2<\/a> build, then simply keep using it, since it\u2019s the same as the released one.<br \/>\n<img decoding=\"async\" class=\"alignnone size-full wp-image-4538\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2016\/03\/objc-2016_1_splash@2x.png\" alt=\"Splash\" width=\"640\" \/><\/p>\n<h2>Swift<\/h2>\n<p>This release delivers a lot of fixes bringing correct parsing and resolve for the following Swift constructions:<\/p>\n<ul>\n<li>Types conforming to <strong>OptionSetType<\/strong> protocol:<br \/>\n<img decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2016\/02\/objc-optionssettype@2x.gif\" alt=\"OptionSetType\" width=\"600\" \/><\/li>\n<li><strong>Self<\/strong> type<br \/>\n<img decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2016\/02\/objc-self@2x.png\" alt=\"Self statement\" width=\"600\" \/><\/li>\n<li><strong>Variadic parameters<\/strong> in closures and functions<\/li>\n<li><strong>Typealias<\/strong> initializers<\/li>\n<li>Function array types<\/li>\n<\/ul>\n<p><!--more--><\/p>\n<h2>Swift code folding<\/h2>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-4498\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2016\/03\/objc-folding_1@2x.gif\" alt=\"Expand\/collapse current block\" width=\"600\" \/><br \/>\nWith the code folding for declarations in Swift it\u2019s now easy to focus on the most important part of your code. Use expand\/collapse actions for current code block (<code>\u2318+<\/code>\/<code>\u2318-<\/code>), all code blocks in particular Swift file (<code>\u21e7\u2318+<\/code>\/<code>\u21e7\u2318-<\/code>) or collapse recursively complex declarations in your code. Read more about all code folding options in <a href=\"https:\/\/blog.jetbrains.com\/objc\/2016\/03\/appcode-3-4-eap-code-folding\/\">this blog post<\/a>.<\/p>\n<h2>CocoaPods support<\/h2>\n<p>Now you can edit your Podfiles with all the keywords supported in completion, including <strong>use_frameworks<\/strong>, <strong>inherit!<\/strong>, <strong>abstract!<\/strong>,<strong> abstract_target<\/strong> and others. See all these changes in action in the short demo below:<\/p>\n<p><a href=\"https:\/\/youtu.be\/W-dujzFOqDQ\" target=\"_blank\" rel=\"noopener\">https:\/\/youtu.be\/W-dujzFOqDQ<\/a><\/p>\n<h2>Build messages<\/h2>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-4414\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2016\/03\/objc-new_build_messages@2x.png\" alt=\"Build messages\" width=\"600\" \/><br \/>\nParsing of build messages is reworked in the release: now the <strong>Messages<\/strong> tool window (<code>\u23180<\/code>) displays all errors and warnings in a convenient way, skipping all irrelevant information.<\/p>\n<p>Build progress messages were updated to show user-friendly descriptions for particular build phases.<\/p>\n<h2>Source directories management<\/h2>\n<p><img decoding=\"async\" class=\"alignnone size-full\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2016\/03\/objc-mark_directory_as@2x.png\" alt=\"Mark folder as\" width=\"600\" \/><\/p>\n<p>A new context menu called <strong>Mark directory as<\/strong> is available for folders in the <strong>Files view<\/strong>. It allows you to manage indexing, code completion, code generation or navigation features by manually setting any source directory as:<\/p>\n<ul>\n<li>Excluded<\/li>\n<li>Library<\/li>\n<li>Project sources and headers<\/li>\n<\/ul>\n<p><a href=\"https:\/\/blog.jetbrains.com\/objc\/2016\/02\/appcode-3-4-eap-opens\/\">Read<\/a> how to use it and tune any of these options in your project.<\/p>\n<h2>C++ language support<\/h2>\n<p>You may know that AppCode shares the same codebase for C++ support with <a href=\"https:\/\/www.jetbrains.com\/clion\/\" target=\"_blank\" rel=\"noopener\">CLion<\/a>, our cross-platform IDE for C and C++. In addition to changes made by the AppCode team, this release delivers a huge number of C++ improvements made by the CLion team including:<\/p>\n<ul>\n<li>Support for<strong> variadic templates<\/strong> with related fixes in the function overload resolution, which together make it possible to resolve C++ code correctly and avoid many false positives in code analysis.<\/li>\n<li>Improved auto-import for <strong>STL<\/strong> symbols.<\/li>\n<li>Extended information displayed in the <strong>Quick documentation<\/strong> popup (<code>F1<\/code>) which now shows lambda expressions, namespace aliases and explicit instantiation, as well as hyperlinks for types in the documentation text.<\/li>\n<\/ul>\n<h2>Xcode compatibility<\/h2>\n<p>As we already wrote <a href=\"https:\/\/blog.jetbrains.com\/objc\/2016\/03\/appcode-2016-1-rc2\/\">in our post<\/a> about AppCode 2016.1 RC2, this release can be used with Xcode 7.3. The minimum\u00a0Xcode version supported by\u00a0AppCode 2016.1\u00a0is limited to Xcode 7.2.x.<\/p>\n<h2>Other improvements<\/h2>\n<ul>\n<li>Fixes for <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/OC-6896\" target=\"_blank\" rel=\"noopener\">localization intentions<\/a> in Objective-C<\/li>\n<li><strong>By-word difference<\/strong> highlighting option in Diff viewer.<\/li>\n<li>Support for multiple <strong>Git worktrees<\/strong> and <strong>Checkout with Rebase<\/strong> Git action.<\/li>\n<li>Right-to-left languages (Arabic and Hebrew) are now supported in the editor.<\/li>\n<li><strong>CoffeeScript<\/strong> and <strong>Stylus<\/strong> are bundled in AppCode.<\/li>\n<li>Improved UI for <strong>Attach to local process\u2026<\/strong> action.<\/li>\n<\/ul>\n<p>To learn more, please visit the <a href=\"https:\/\/www.jetbrains.com\/objc\/whatsnew\/\" target=\"_blank\" rel=\"noopener\">What\u2019s new page<\/a> on our website or just <a href=\"https:\/\/www.jetbrains.com\/objc\/download\/\" target=\"_blank\" rel=\"noopener\">download AppCode 2016.1<\/a>,\u00a0try it\u00a0and let us know what you think in the comments section below!<\/p>\n<p><em>Your AppCode team<br \/>\nJetBrains<br \/>\nThe Drive to Develop<\/em><\/p>\n","protected":false},"author":437,"featured_media":0,"comment_status":"open","ping_status":"open","template":"","categories":[89],"tags":[648,391,650,477,445],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/appcode\/3459"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/appcode"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/types\/appcode"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/users\/437"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/comments?post=3459"}],"version-history":[{"count":0,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/appcode\/3459\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=3459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=3459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=3459"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=3459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}