nuq 'oH neH CLion chu'

CLion 2020.2 ensures that a variety of C++ projects are covered by adding Makefile projects and polishing CMake support. It provides better C++20 standard compliance. Code analysis is now more accurate and catches more critical errors, like dangling pointers. Unit testing, code coverage, embedded development, and other areas were also significantly enhanced.

Project models

Makefile project support

Developing a Makefile-based project? Benefit from CLion’s smart features – CLion now comes with Makefile project support out of the box. Open a folder with a top-level Makefile as a project, or directly point CLion to a Makefile in the Open dialog. The IDE will run make (with the --just-print option to avoid running an actual build), parse the output of the make command, and load the project. Check out the details, known limitations, and a long list of projects we’ve tested our approach with in this blog post.

Take a short tour

Enhanced CMake UX

Enhanced CMake UX

The CMake Profile settings under Build, Execution, Deployment | CMake have a newly polished UI, with a few useful tips added for the settings there. In addition, several actions for CMake projects are now available in Find Action, and you can assign a shortcut to any or all of them if you use them regularly:

  • CMake Settings
  • Stop CMake project reload
  • Open CMakeCache file

CMake upgrade

CLion now bundles CMake 3.17 and adds initial support for two of its most recent features:

  1. Ninja Multi-Config: you can now pass the -G "Ninja Multi-Config" generator option to get CLion build files generated for every configuration (note that, temporarily, CLion will still use only one selected configuration for the CMake profile).
  2. CMake precompiled headers: use the target_precompile_headers command to add header files to the PRECOMPILE_HEADERS and/or INTERFACE_PRECOMPILE_HEADERS properties of a target. CLion will treat such precompiled headers correctly.

Take a short tour

Building projects

Recompile single file

The Recompile single file action helps speed up the development process by quickly checking local changes, and it is now available for Ninja and other generators used in CMake and supported in CLion.

Thanks to an important bug fix, CLion can now build multiple independent projects in parallel, without them blocking each other from starting.

Code analysis

Code analysis in CLion 2020.2 got a massive update, increasing the accuracy of many checks and covering more cases. This version also continues the work of polishing the Data Flow Analysis, reimplemented previously on top of the Clangd-based engine.

Dangling pointer

Dangling pointer

Pointers that point to invalid data lead to run-time issues. Typical cases are double-free and use-after-free combinations. CLion now catches such dangling pointers if they appear in the local scope, no pointer arithmetic is involved, and macros are not preventing CLion from performing the analysis.

Simplify

Simplify

The Simplify code inspection is now more accurate and covers more cases. It works for the following types of statements:

  • condition == true.
  • condition1? true : condition2.
  • if(condition1) return true; return condition2;
  • Statements for identical branches.

The cases can be configured separately in Settings | Editor | Inspections | C/C++ | General | Simplifiable statement .

Loop condition is never updated

Loop condition is never updated

This CLion inspection detects situations where a loop condition is not updated inside the loop. It’s similar to Clang-Tidy’s clang-tidy:bugprone-infinite-loop but works for loops with exit points and can handle cases with lambdas or references.

Unused code

Unused code

The Unused code inspection has been massively overhauled. Among other changes, it now works for type aliases, for both globally and locally defined using constructs.

Inspection Widget and Problems View

Inspection Widget and Problems View

Last but not least, we’ve introduced a new Inspection Widget. It displays the number of warnings and errors in the current file and lets you navigate between them with ease. You can also configure the highlighting level (just like you could previously with the so-called Hector icon).

If you click on the Inspection Widget, the Problems View tool window will open (View | Tool Window | Problems). It shows the list of warnings and errors in the current file, helps you navigate to the place in your code where the problem was encountered, and allows you to fix the issues by invoking the Alt+Enter shortcut right from the tool window.

C++20

This year officially brings a new language standard to C++ developers, and CLion already comes with support for many of its features. The language engine in CLion 2020.2 is also generally more stable on C++20 code.

C++20 keywords

C++20 keywords

Newly added keywords are supported by CLion 2020.2 in code highlighting and completion:

  • char8_t
  • consteval and constinit
  • co_await, co_return, and co_yield
Designated initializers

Designated initializers

Code completion in designated initializers now works for fields from a base class.

explicit(bool)

explicit(bool)

The C++20 explicit(bool) construct is now highlighted correctly. It’s also equipped with name hints for condition arguments and is supported in navigation and refactoring.

Range-based for with initializer

Range-based for with initializer

Range-based for loops with the init statement are now supported. This includes refactorings like Rename for variables in the loop.

Constrain a function's result

Constrain a function's result

A new inspection for code that uses Concepts has been added. It suggests constraining local variables declared as auto if the result of a constrained function call is assigned to them.

Unit testing

Doctest support

Doctest support

CLion 2020.2 adds support for yet another single-header framework for C++ – Doctest. Doctest has gained popularity in the community and is now supported by CLion, with automatic test detection, Run/Debug configuration creation, and a handy built-in test runner to display test results. Learn how to configure a set of tests for launch in this dedicated blog post.
Catch2 template tests

Catch2 template tests

These types of tests in Catch2 are now recognized and handled just like the other test types.

Skipping tests in Google Test

Skipping tests in Google Test

The GTEST_SKIP() macro in Google Test provides the ability to skip tests at runtime. This is now supported by CLion.

Code coverage

Code coverage

CLion 2020.2 improves the user experience by adding coverage flags automatically when you click the Run with Coverage button. Now, if your currently selected CMake profile doesn’t include compiler options for coverage, CLion will search for a CMake profile (and create one if not found) with the coverage flags passed via CMAKE_CXX_FLAGS and CMAKE_C_FLAGS.

Embedded development: PlatformIO plugin

For embedded development, we’ve updated a plugin for PlatformIO, bringing significant improvements:

Highlighting in platformio.ini files

Highlighting in platformio.ini files

PlatformIO project configuration files are now highlighted properly, so you can read and update them more easily.

New Run/Debug configurations

New Run/Debug configurations

When a new project is created from the New Project Wizard in CLion, many useful Run/Debug configurations are added automatically. For example, _PROGRAM, _MONITOR, _CLEAN, _TEST, and many others.

CMake Profiles for PlatformIO configurations

CMake Profiles for PlatformIO configurations

CLion now automatically creates CMake Profiles for the CMAKE_CONFIGURATION_TYPES entries in the PlatformIO CMake project.

VCS

Git installed in WSL2

Git installed in WSL2

If you develop with the WSL2 toolchains and use Git on WSL2, you will now benefit from CLion switching between Git executables depending on the project location. It will auto-detect the Git executable from WSL2 for projects opened from there (via \\wsl$ path) and switch all Git-related features to work with it.

gitHub DaqaSmoH Requests

gitHub DaqaSmoH Requests

CLion 2020.2 introduces a new and more spacious view for GitHub Pull Requests. It shows all the details of a particular pull request (like messages, branch names, author, assignee, changed files, commits, and timeline) and displays the results of the pre-commit checks. It also helps with many actions like start a review, request reviews, attach comments, or merge pull requests from within the IDE.

Learn more

Go to Declaration or Usages

Go to Declaration or Usages

The Go to Declaration or Usages action (Ctrl+Click / Ctrl+B) behaves differently depending on the case and the IDE settings:

  • When invoked on a symbol usage, it navigates to that usage’s declaration.
  • When invoked on a declaration, it shows the list of that declaration’s usages.
  • When invoked on a definition, it shows the associated declaration or usages. This depends on the settings in Settings | Editor | General | Go to Declaration or Usages.

Performance improvements

A few UI freezes and slowdowns have been fixed. To avoid editor performance degradation, CLion now inserts a backslash on pressing Enter inside the macro definition. The macro definition will quite likely be continued on a new line, so this saves the IDE from redundantly reparsing activity.

Rust plugin update

Rust plugin update

In version 0.3 of the plugin, the new engine for macro expansion, which until now had been experimental, is enabled by default. This engine handles macro-generated impl blocks and module declarations, providing code insight for the entirety of your code, including crates like tokio and async-std. Learn more in this blog post.

Another major update is the introduction of initial debugger support for Rust’s MSVC toolchain. Now you can use the LLDB-based debugger bundled in CLion for the Visual Studio toolchain to debug Rust code built on Windows using Rust’s MSVC.

Other enhancements include new refactorings (Move for files and top-level items and Introduce Constant), initial support for or_patterns, error highlighting in format literals inside macros like println!, rendering for documentation in the editor, inlay hints for chain method calls, and improvements to the debugger workflow in IntelliJ IDEA.

Learn more

Other improvements

  1. The LLDB-based debugger for the Microsoft Visual Studio C++ toolchain maintained by JetBrains has been given a significant number of improvements. The most notable are: debug sessions no longer freeze on stop, threads are now named automatically based on their entry-point function, the debugger gained significant performance improvements, and many freezes and crashes were fixed.
  2. Updated GDB STL pretty-printers are bundled into CLion 2020.2.
  3. From now on, the Clangd-based engine is the default language engine in CLion and the option to turn it off has been removed. Settings | Languages & Frameworks | C/C++ | Clangd now includes information on the LLVM Clang revision used, so you will know what to expect in terms of C++ support and built-in Clang-Tidy checks.

nuq 'oH chu' qaStaHvIS CLion 2020.1

embed Development

IAR Toolchain

iar toolchain

vaj iar compiler ghap toolchain neH embed jInmol SoH lo' qaSjaj laH DaH SoHvaD neH clion. luj compiler De' qawlu' boS, load successfully iar toolchain lo' jInmol 'ej pa' clion vum qej 'oH.

yIjunmoH naDev puS Dochmey:

  • poQlu' mingw.
  • tips puS [cmake iar Embedded Workbench. ghaHDaq lo' BERNARDO.
PlatformIO

platformio

platformio puq poH chu' ecosystem 'e' popularity Soq nom. chepmoHlu' vo' 'oH neH embed jInmol, 'utmo' Dujvam chu' tlhap clion plugin platformiobogh:

  • [platformio jInmol Segh jInmol chu' wizard. ghaHDaq chel BERNARDO.
  • correspond platformio cmake-waw' jInmol, 'ej generates.
  • automatically configurations debug upload 'ej chenmoH.
  • chaw' debugging ghaH pio Unified Debugger vo' clion lugh Qeb.

'ej Huch law' puS! check qutluch patlh Sovmo' documentation details.

cuda Qutlh

ngoq parsing 'eb 'ej So'meH ngoq boQ

ngoq cuda [taH c++, 'ej DaH parsed 'ej highlighted correctly Hoch cuda specific extensions, DaH nobvam. Qap ngoq navigation, ngoq documentation, latlh ngoq boQ actions 'ej pa' cuda ngoq qej ghu'vam. additionally, tajvaj brackets kernel jatlhpu' laH naQ clion.

Ha' clone claragenomicsanalysis jInmol github 'ej check clion nuq capable in terms of cuda Qutlh.

New Project wizard

wizard jInmol chu'

updated jInmol chu' wizard pa' clion je chu' DuH jInmol cuda – chenmoH be'nI''a'wI', Datu' executables pagh. HeghDI' wIv, sample teywI' cmakelists.txt main.cu 'ej generates 'oH.

File extensions and CMake targets

teywI' extensions cmake DoS 'ej

chu' ngaq cuda teywI' extensions – .cu je .cuh – neH chu' [taH ghap c++ teywI' creation dialog lupoQ. 'ej cha' tlhIH Sa' cmake cuda 'ej specific DoS (chenmoH DaH nobvam qIt DoS qaStaHvIS dialog update tetlh cuda_add_executable je cuda_add_library ra').

latlh ghoj

development windows

Clang-cl

clang-cl

DaH DavoqmoHDI' qIt clang-cl lo' neH windows, clion je versions 8.0 je later Qutlh maH.

'oH laH jom SoH vo' llvm website pagh along with Visual law' tools. HeghDI' Qu', Visual law' toolchain wIv neH clion 'ej volchaHDaj clang-cl.exe pa' toolchain settings.

Debugger for the Visual Studio C++ toolchain

c++ law' Visual toolchain debugger

lldb-waw' debugger c++ law' Visual toolchain Hach jetbrains DaH default debugger toolchain. vaj 'oH lo' lugh Ha' laH start SoH!

vaj ghotvam enabled bundle Qutlh Sung visualizers explicitly je note settings | Deployment qach Execution, | De' jIH debugger | natvis renderers lldb enable.

qet 'ej configurations Debug

Custom targets for remote and embedded GDB

tIgh DoS gdb 'ej embed

Hop gdb jabwI' je embed gdb jabwI' DaH Qap configurations je tIgh DoS. SoH ghaH application host Hop pagh microcontroller clion instance lutu'lu'bej HablI' qet vo' debug chaw' configurations, baS previously neH Qap cmake DoS..

vaj configurations chonayta' chenmoHta' SoH, previous qet ghap Debug Configuration settings neH ngevwI' clion 2020.1 projectfilesbackup directory qaStaHvIS jInmol folder 'ej SoH notify vIHtaHbogh.

Support for macros and path variables in Run/Debug configurations

chaH ngaq macros path 'ej qaStaHvIS qet ghap Debug configurations

Path chaH 'ej ghun Arguments macros Working Directory yotlh neH cmake, tIgh qach je gradle Sung Applications configurations laH DaH lo' SoH. macros QaH lo'laHghach poHlIj:

  • configuration qet qach directory Qu'mey potlh cmake.
  • configuration qet puq poH directory Qu'mey potlh cmake.
  • jInmol teywI' directory.
  • law' latlhpu' je.

fileprompt ghap Prompt laH DanoHmeH macros teywI' chooser dialog SIrgh input dialog pagh cha' HeghDI' running ghap configuration debugging.

path laH define path chaH be'nI''a'wI', Datu' lo' widely neH jInmol 'ach Sam Hur jInmol directory.

Input redirection

redirection input

vaj input vo' teywI' stdin application redirect bImejnIS, vaj laH DaH SoHvaD. chu' yotlh, pa' configuration pong yIlo' redirect input vo'. yI'el:

  • relative path (prepend clion ghaH Working directory path).
  • absolute path (remapped Hop configurations).
  • pagh macros (rur fileprompt).

clang tools

DFA on Clangd

dfa clangd

clion De' Flow poj nuq doesn't normally Qu' compiler, qatlh Qu' (dfa): chay' vegh ngoq flows De' 'ej potential wanI'vammo' tlha' waw' ghot'e' detects poj 'oH. je 'ej QuQ 'e' reH ngeb ghap teH, endless loops, chegh statements, infinite recursion, 'ej latlh missing van'a'. 'ej je 2020.1, vIH dfa Hol clangd-waw' QuQ vImoj vI'Iprup qar je qup 'ugh in terms of yIqaw. ghu'vam Qap je Ser, 'ach ghot'e' QaQ chonayta' lupoQ!

Clangd-only completion

completion clangd-neH

chu' mode, Hay'DI' fully DuHIvDI' completion Hol clangd-waw' QuQ, pong default. prioritization 'ej wanI'vammo' tlha' qaS HeghDI' DuD ngoq completion ghot'e' vo' puS QuQ 'e' ra' solves SuvwI' mode. yISeH behavior pong ngoq Completion HIjmeH setting | Hol Frameworks je | [TAH GHAP C++ | clangd.

chu' mode chenmoH Sar tI' 'ej enhancements dozens qar 'ej HoSghaj.

latlh ghoj

ClangFormat

clangformat

DaH ghorgh jInmol wa'DIch poS SoH .clang-format 'oH detect 'ej leQ clangformat automatically config teywI' qaStaHvIS jInmol 'oQqar clion.

vaj clangformat enable SoH Daghajbogh doesn't jInmol qar .clang-format teywI' config, wa' chenmoH chup clion.

Clang-Tidy

clang-Tidy

HeghDI' .clang-tidy detected config teywI' qaStaHvIS jInmol, 'ej, DaH automatically tlhe' clion DoH ide settings Clang-Tidy lo'. yISeH behavior pong .clang-tidy teywI' maS rIn ide settings pa' setting | editor | inspections | [TAH GHAP C++ | Sa' | clang-Tidy.

formatter 'ej ngoq lulaj.

New naming settings

chu' 'oH pong settings

chev 'oH pong settings DaH ghaj struct member yotlh Segh member yotlh je. chaHvaD check setting | editor | Style ngoq | [TAH GHAP C++ | Convention 'oH pong.

Code folding

ngoq lulaj.

#pragma Sep je #pragma endregion laH lo' neH clion ngoq lulaj.

refactorings update

Refactorings update

HeghDI' ponglu' choH Signature (refactoringctrl + f6), Qap Hoch usages updates clion. chu' default lo'laHghach yotlh neH choH Signature nIv lo' across Hoch usages parameter per laH offers dialog. 'oH pol blank default lo'laHghach Segh je pa' lo'.

logic rap 'ej chu' default lo'laHghach apply yotlh Parameter chenmoH vo' Usage Qapchu'-tI' je Parameter chel Constructor intention.

editor

Quick Documentation

Qapchu' Documentation

Qapchu' Documentation – universal tool preview documentation 'ej De' vIHtaHbogh Qap signature, infer Segh je macro qa'meH Suq – DaH lupoQ mouseover.

laH yISeH 'oH pong setting Qapchu' documentation cha' mouse vIH pa' setting | editor | ngoq Editing.

JetBrains Mono and IntelliJ Light

jetbrains Mono 'ej intellij wov

choH default font neH editor jetbrains Mono, chu' mInDu'lIj Hal font pong jetbrains chenmoH. chut lulajpu'bogh 'oH specifically vay' reading ngoq Dov'agh.

chu' default chep theme – intellij wov – DaH theme Hol across Hoch pIm operating systems. yan jIH | boch chemvaH Ho'Du' Qapchu' Scheme | theme QI'yaH-default theme wIv DaneHchugh.

Split terminal sessions

terminal sessions split

ghaH clion 2020.1 terminal sessions laH split SoH vertically pagh horizontally vaj 'e' chaHvaD laH qet Dop pong Dop. context HIDjolev vo' chenmoH, chIj, 'ej split terminal session SoQ Terminal laH invoke SoH.

version SeH

Commit tool window and Commit dialog

chu' HeS tool Qorwagh

latlh logh modify teywI' tetlh diff. 'ej DuHIvDI' Qorwagh update tool SoHvaD choH chel HeS SuvrupDI' chaH, HeS QIn iteratively, 'ej Hurvo' mIw choH 'oH baS HeS wutlh je yInISQo' 'oH.

enabled chu' ui pong users chu' default; laH leQ nIv'e' users neH setting | version SeH | HeS.

interactively Rebase naDevvo'

update, teH interactive dialog nupumtaH 'oH qIt

  • action much branch HeS Hoch DaneH'a' wIv.
  • graph applied baS actions cha' check.
  • HeS details jIH.
  • diff vIlegh 'ej review pagh choH reset vaj 'ut.

git jom vo' ide

git tool Qorwagh joq Subversion ghap Mercurial ghap perforce DaH pong Version SeH tool Qorwagh vaj vIvoqHa' roD instead of git lo' SoH.

git pre-jom manually qawlu' bImejnIS! HeghDI' jInmol git lo' poS pagh wa' vo' vc, DughajmoH git ghewmey chorDaq HablI' SoH, download 'ej git jom offer clion.

ragh plugin update

Rust plugin update

Qo'noS improvements lldb Qutlh, enums lutlh Segh 'ej DaH properly 'Im intellij ragh 'ej demangle Qap pong je 'ang 'oH neH jatlhpu' stack.

latlh chaH Dapon 'e' yI update 'e' puH neH plugin repl integration. pa'vo' console invoke tools | ragh repl 'ej 'oH lo' prototyping je tlhegh pong tlhegh ngoq checking. syntax highlighting 'eb 'ej So'meH ngoq completion, along with actions handy console 'op DuHIvDI' integration: qun, tam qat, Qapchu' tetlh qabna'Daj, latlhpu' je ra'.

Dop Hol-ngaq, DaH DeS intellij ragh impl Qo'noS bot Segh aliases. taking yIqaw vaj account, feature ghaH vuS mI' aliases Segh neH enabled maH.

highlighting unused lutu'lu'bej chaH, qaStaHvIS tI' DaH nobvam latlh enhancements cfg attribute Qutlh 'ej chu' lift chegh inspection.

latlh improvements

  • DaH chepmoH Hoch configurations Hop vo' common 'ej unify ssh Configurations ui lo'. no matter nuqDaq originates chu' ssh configuration (DaSovrup Hop toolchains settings pagh gdb Hop jabwI' configurations), entry ghaj setting | tools | ssh Configurations.
  • vaj solely Hal ngoq focus DaneH'a', chu' zen mode, baS QamchoHmo' jIblIj Hoch tlhegh laH wIv SoH distraction-tlhab Mode . jIHDaq naQ Mode. 'oH enable, yIlo' jIH | Hoch | zen Mode 'el.

nuq 'oH chu' qaStaHvIS CLion 2019.3

yIqaw ide Dunmo'

release clion laHlIj-DoS nIvbogh yIqaw improvements qaStaHvIS 'u' chenmoH. ngoq completion, Rename refactoring, optimizations vIleghDI' ghap updating Degh mIw Sov wIHutlh ngaQHa'moHwI'mey enhancements 'ej taD elimination ui.

latlh ghoj

clangd-waw' ngoq completion

DaH chel clangd ngoq completion providers neH clion, baS speed woDDI' wa'DIch ghot'e' nargh law' jInmol significantly poH QaH tetlh. check detail yIqaw metrics ghom maH.

refactoring

quicker refactoring Rename

Rename refactoring neH clion HoSghaj qar law' wej neH ngoq usages 'ach je SIrgh literals comments 'ej usages laH rename 'oH. vaj neH ngoq usages rename reH DaneH'a', DaH be'nI'puqDaj Saghmo' law' SoH vay' decision laH ghel 'oH pa' actual search. (yIlo', tlhe' DoH settings | editor | Sa' | refactorings | qaStaHvIS-Daq mode enable.)

ninja 'ej cmake lIngwI' latlh

Ninja Gen

Qutlh clion 2019.3 lIngwI' cmake Sar enable yInISQo' chu' cmake teywI' api (poQ cmake 3.15 pagh veb). previously, ngaq makefiles neH, DaH Ninja, xcode, Visual law', etc laH wIv users.

Hoch platforms, qaStaHvIS Hop mode 'ej je wsl baj ghu'vam.

latlh ghoj

cmake Defaults

CMake Defaults

configuration mIw chu' clion jInmol simplify, wa' pagh latlh default cmake qoghDu'DajDaq, lo' Hoch chu' jInmol jIHMej laH DaH configure SoH. yan teywI' | latlh Settings | settings chu' jInmol…

latlh cmake Qutlh improvements

  • 'oH DuH DaH cmake valid configurations reload vabDot luj 'op latlhpu'.
  • bundled cmake 3.15 clion 2019.3 neH.
  • vaj doesn't, qatlh ngaq compiler -fpch-preprocess reH successfully loaded joqwI', jInmol pa' clion 2019.3. check details neH blog post.

debugger

remote gdb

Hop gdb jabwI'

vaj executable Hop HablI' vo' locally qet clion debug DaneH'a', laH DaH lo' SoH Hop gdb jabwI' configuration. executable upload 'ej gdbserver, bopummeH ghun launch vaj tu'lu' pagh nIS ruch manually anymore clion.

latlh ghoj

lldb_printers

lldb 9 net poQbej pretty printers 'ej

pa' clion 2019.3, updated bundle lldb macos 'ej linux v9.0. ram ghu'vam, much chaH Dapon 'e' yI Say'-mep'ay' neH bundle lldb pretty printers, naQ HIjmeH relate wanI'vammo' tlha' tI'.

chay' DaH DeS libc ++ 'ej libstdcxx macos linux 'ej vIlegh

lldbinit

.gdbinit/.lldbinit laD vo' jInmol 'oQqar

vaj gdb ghap lldb debugger behavior jInmol bIH customize DaneH'a', rut laH DaH SoHvaD pa' clion, Hoch settings teywI' laD vo' jInmol 'oQqar directory Qutlh 'oH.

note 'e' enable, behavior explicitly 'oH chaw' teywI' juH Dachegh neH Daghaj. chay' ghu'vam Qu' vIlegh LLDB je GDB.

[taH ++ 20 Concepts

clangd-waw' ngoq completion

biggest features yI'el [taH ++ 20 wa' definitely Concepts. Hu'tegh, ghaH Concepts Qutlh neH Clang pIray'am collaborating Concepts qem maH clion 2019.3. wej neH ngoq parsing 'ej highlighting (bogh Qu' pong clangd-waw' Hol QuQ), yuvtlhe' ngaq 'a je je:

  • inspection Unused Concept.
  • pong constrained ngoq completion Segh completion DaH nobvam std::is_base_of<MyBase, T> je std::is_same<Other, T>.
  • Rename refactoring.
  • SIbI' Definition vItu' Usages je.

latlh ghoj

ngoq poj

virtual call

pa'vo' constructors pong virtual Qap ghap destructors

ghu' nuqDaq jo tu'lu'a' 'e' vISovbe' 'ach initialized pagh chonayta' Qaw' naw' virtual Qap bot, chu' inspection baS detects Suq clion virtual Qap, pong vo' constructors destructors pagh.

Spelling in Doxygen

spell Checker

Spell Checker lI' ngoq pol qar 'ej DaH 'e' yImev. vItlhutlhlaw' clion [taH ghap c++ ngoq poH nI'. qaStaHvIS v2019.3 'oH enabled maH neH cmake doxygen 'ej comments.

ngoq coverage

Coverage

vaj yu' reH ghelta' SoH, "statement during configuration qet muH?", nej SoH statements coverage ngoq 'aD qej 'e'. vItlhutlhlaw' clion 2019.3 thanks to integration llvm-cov ghap gcov tools.

'oH laH poHlIj unit waH qet regular configuration qet pagh. ghot'e' lupoQ neH Coverage tool Qorwagh pagh via color indication neH editor mej gutter.

latlh ghoj

editor

Go to Header/Source action

ghoS Header ghap Hal action

chel chu' action leQ SabtaHbogh header ghap Hal teywI'. qar: reH vI'Iprup 'ej law' [taH ghap c++ cases puS ghoS Related Degh quicker.

vaj ngu' multiple DuH chIj rInpa' 500 ms, interactive popup nuqDaq chel chu' items ghajHa'ghach laH wIv SoH nuqDaq chIj DaneH'a' 'ej law' wIta'ta' clion.

tu'lu' je built-in mechanism qIgh vo' Ha' 'oS Related chu' action, remap vaj DaneH'a'.

latlh ghoj

Microsoft

microsoft formatting 'ej che' 'oH pong

qaStaHvIS clion, HIjmeH DuH formatting 'ej convention che' 'oH pong laH configure SoH. pagh alternatively, settings laH inherit SoH vo' predefine styles wa'. pa' clion 2019.3, formatting, qatlh predefined microsoft chel maH je style 'oH pong tetlh.

WSL2

WSL2

convenient mIw, Hach windows linux DoS platform DuHIvDI' windows Subsystem linux. natively wsl environment Qutlh 'ej DaH ngaq version 2 wsl clion. configuration mIw clion neH wabmeyvetlh rap wsl v1 'ej wsl v2!

latlh ghoj

ragh plugin update

Rust

biggest updates intellij ragh wa' pImchugh chuqmey poHmey ngaq cfg attributes. DaH qIj 'ej wov-'ej vo' poj resolve 'ej ngoq excluded conditionally Qotlh bot. jawbe' ngaq cfg DuH unix, Qorwaghje target_os.

widely lo' Qapchu'-tI'. auto-DughajmoH unresolve Degh, DaH ghorgh pong SoHvaD Qap automatically implement members, Segh per explicitly, ratlh patterns chel, 'ej latlh ngoq puq poH actions.

ngoq Coverage DaH nobvam latlh choH ragh ngoq, baS, qatlh 'ay' puS releases chonayta', handy interactive inlays hints Segh, plugin je DaH nobvam! Qutlh macro.

latlh choH

  • vc Qutlh: (dialog CloneVC | pa'vo' Version SeH Suq) reworked. DaH naDevvo' QonoS SoH vo' dialog, pagh chaq chonayta' QonoS SoH, Hoch repositories, ghom pong accounts DIvI' tetlh instantly preview ide.
  • chel chu' DuH vay' scrollbars vI'Iprup visible – setting | Hoch Behavior je | Hoch | contrast scrollbars yIlo'.
  • SoQ nIvbogh ui wanI'vammo' tlha' neH update jetbrains runtime.