CLion 2017.3

Adiciona suporte para extensões do compilador do Visual C++.
Dezembro 7, 2017
Nova versão

Recursos

  • C++ language engine
    • List initialization - List initialization is a standard way to initialize an object from braced-init-list since C++11. In CLion 2017.3 the support for this language feature was reworked, including fixes for many of the incorrect code analysis warnings.
    • Name lookup - Name lookup is a C++ standard procedure to associate a name with the declaration. This release fixes the situations when the procedure failed in CLion:
      • Resolving a name before the corresponding declaration from the same scope.
      • Resolving a name imported via using in some cases.
      • Resolving symbols brought into scope by the class inheritance.
    • __COUNTER__ support - CLion 2017.3 correctly increments __COUNTER__ macro value, that means invalid “duplicate declaration” errors are now removed. Quick Documentation (Ctrl+Q) popup in place of the __COUNTER__ macro usage will show the final substituted value.
    • Generate Definitions - Generate Definitions (Ctrl+Shift+D) creates missing implementations for the functions. And now it respects function templates as well.
    • Microsoft Visual C++ compiler extensions - While Microsoft Visual C++ compiler support is still experimental, CLion brings support for some specific MSVC extensions:
      • __alignof and __unaligned keywords
      • pointer type attributes, like __ptr32 and __ptr64
      • MSVC built-in data types
      • and some additional format specifiers, like %I32 and %I64
    • JUCE support improvements - JUCE is widely used to develop multiplatform audio applications. CLion 2017.3 comes with multiple fixes to the JUCE library support to avoid various incorrect code analysis warnings and allow proper navigation through the code.
  • Intentions: Invert if - One very common refactoring pattern is to invert the condition in the if clause and flip the if-else blocks. This can help simplify complex code that uses multiple nested if statements.
  • Profiling: Valgrind Memcheck - CLion now comes with the memory profiling on Linux and macOS platforms - Valgrind Memcheck. It lets you run targets with Valgrind Memcheck and then get the results in a special tab in the Run tool window. Users can run both regular targets and unit tests targets with Memcheck.
  • Unit testing: Boost.Test - Boost.Test, the second most popular unit testing framework used by C++ developers on a regular basis, is now available in CLion along with Google Test and Catch. The support includes:
    • Special Boost.Test Run/Debug configurations.
    • Results view in the built-in test runner.
    • Ability to re-run all/one/all failed tests, export/import results.
    • Ability to navigate to the test source code from the test results.
  • UI: Run icons - The left gutter in CLion is used to help with navigation through the code, VCS changes, and more. Now it also shows special run icons to Run, Debug or Run with Valgrind main functions and unit tests. For unit tests, these icons also report the status of the tests.
  • Multiple Toolchains - The multiple toolchains support in v2017.3 means it is easier to set compiler configurations, different versions of CMake/compiler/debugger for different projects and configurations, and that there is a simplified switcher for toolchains on Windows. The new settings are as follows:
    • Configure Toolchains – then use them in CMake Profiles.
    • Select CMake Profile when selecting a configuration to Run or Debug.
    • Toolchains - In File | Settings | Build, Execution, Deployment | Toolchains you can now configure several toolchains, selecting various CMake executables, compilers, and debuggers. On Windows, create different toolchains for MinGW, Cygwin, and Microsoft Visual C++ compiler configurations. Select from these toolchains later in CMake profiles to apply different toolchains to different configurations.
    • CMake profiles - CMake profiles are created per project and can be used to easily switch between Debug/Release configurations, and to use different Toolchains in one project, etc. Create CMake profiles in In File | Settings | Build, Execution, Deployment | CMake, set the build type, CMake options, environment, and other settings, select toolchains from the list of configured ones.
    • Easy way to switch the compiler - To easily switch compilers on a project, or to use several different compilers for Running/Debugging different targets, use Toolchains. You can either rely on a compiler/Make detected by CMake or select a custom one.
    • Build type switcher - Select the necessary CMake Profile in the run configuration switcher on the toolbar. A typical case is Debug/Release build types configured via two different CMake Profiles. The switcher is also available in the Run/Debug configuration switcher popup that opens via Shift+Alt+F10 for Run and Shift+Alt+F9 for Debug.
  • Color schemes - The color scheme settings for C/C++ were updated to distinguish function calls and function declarations. In In File | Settings | Editor | Color Scheme | C/C++ you can now find separate settings for these two options. For example, you can make function declarations bold and keep function calls in regular font.
  • Other improvements
    • Debugger:
      • CLion now bundles GDB 8.0 with multiarch support.
      • CLion now bundles LLDB 5.0.
      • CMake 3.9 is now bundled into CLion.
    • VCS improvements:
      • When switching between branches, the IDE preserves your workspace and automatically restores it when necessary.
      • When committing git patches from the IDE, the IDE reads the author and commit details provided by the git patches.
      • When using Tasks & Contexts, you can now shelve the changes related to your current task when you start a new task; unshelve the changes when you switch back.
    • And more:
      • Kotlin/Native, a brand new technology that compiles Kotlin directly to machine code, is now supported in CLion via plugins.
List initialization.

CLion

Um IDE para várias plataformas para C e C++.

CLion também está disponível em:

Tem alguma pergunta?

Chat ao vivo com nossos especialistas de licenciamento de JetBrains.