Product News

ReSharper C++ 2018.3 is released

ReSharper C++ extension makes Microsoft Visual Studio a much better C++ IDE. ReSharper C++ v2018.3 has had literally every smart feature in it tuned, making them work more precisely on modern C++ code.

ReSharper C++ 2018.3: every bit better!

by Anastasia Kazakova

From the article:

ReSharper C++ 2018.3 brought the following enhancements:

  • Performance improvements meaning a more responsive editor
  • Formatter: auto-detection of formatter settings, and C++ naming schemes
  • More information in Parameter info, especially on dependent code. Name hints. Better error diagnostics in templated code
  • New context actions and inspections
  • Support for Catch 2.5
  • Enhanced C++/CLI support and support for Unreal Engine projects
  • Visual Studio 2019 Preview 1 support

 

 

Free PVS-Studio for those who develops open source projects

On the New 2019 year's eve, a PVS-Studio team decided to make a nice gift for all contributors of open-source projects hosted on GitHub or Bitbucket. They are given free usage of PVS-Studio static analyzer for development of open source projects.

Free PVS-Studio for those who develops open source projects

by Andrey Karpov

From the article:

Everyone who wishes, can get a free license for 1 year. To get the license, you need to:

  1. Go to the page: https://www.viva64.com/en/open-source-license/
  2. Enter the e-mail, where you will be sent a license key;
  3. Enter the link to your GitHub/Bitbucket profile;
  4. Send a request for a free license.

Boost 1.69.0

New release.

Boost 1.69.0

From the article:

Notes for non-Windows users
The Boost build system now supports visibilities. If you are building shared libraries, they will use hidden visibility by default. As a result Boost shared libraries become smaller, load faster and have less chances to get a symbol collision.

See Boost.Build visibility and local-visibility for more info.

To disable that feature you can use use a command line ./b2 visibility=global to build...

Using multi-stage containers for C++ development--Marc Goodner

An interesting method.

Using multi-stage containers for C++ development

by Marc Goodner

From the article:

Containers are a great tool for configuring reproducible build environments. It’s fairly easy to find Dockerfiles that provide various C++ environments. Unfortunately, it is hard to find guidance on how to use newer techniques like multi-stage builds. This post will show you how you can leverage the capabilities of multi-stage containers for your C++ development. This is relevant to anyone doing C++ development regardless what tools you are using...

AI-Assisted Code Completion Suggestions Come to C++ via IntelliCode--Nick Uhlenhuth

Impressive.

AI-Assisted Code Completion Suggestions Come to C++ via IntelliCode

by Nick Uhlenhuth

From the article:

After reading and writing enough code, you begin to notice certain usage patterns. For example, if a stream is open, it will eventually be closed. More interestingly, if a string is used in the context of an if-statement, it will often be to check if the string is empty or if it has a certain size. You begin to identify and use these coding patterns over time, but what if Visual Studio already knew these common patterns and could suggest them to you as you code? That’s exactly what IntelliCode does...

wxWidgets 3.1.2 released

New 3.1.2 release of wxWidgets, free and open source library for creating native GUI applications, is now available. 

wxWidgets 3.1.2 Release

by wxWidgets

About the release:

There have been more than 1200 commits from 75 contributors (41 with multiple contributions) since 3.1.1, which makes it difficult to summarize them in this short post. The primary focus of this release is on bug fixes (closing more than 100 bugs from wxTrac) and incremental improvements in preparation for the next stable 3.2.0 release, however there is a usual lot of new features as well, including:

Initial support for macOS 10.14 and its dark mode.
Support for non-integer font sizes and arbitrary font weights.
New wxLZMA{Input,Output}Stream classes.
Add wxDataViewToggleRenderer::ShowAsRadio(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(), wxToolbook::EnablePage().

PVS-Studio: Support of MISRA C and MISRA C++ Coding Standards

Starting with the version 6.27, the PVS-Studio static code analyzer can classify its warnings according to MISRA C and MISRA C++ standards. Due to support of these standards it has become possible to effectively use the analyzer to increase the level of security, portability and reliability of programs for embedded systems.

PVS-Studio: Support of MISRA C and MISRA C++ Coding Standards

by Andrey Karpov

From the article:

Such diagnosis can't be applied to already existing projects developed for Windows, Linux or macOS operating systems. For example, only one rule about curly brackets described above gives 1947 warnings of the V2507 diagnostic (MISRA C 15.6, MISRA C++ 6-4-1) for a WinMerge project. Still WinMerge is a small project! In total, only 250 000 lines of code in C and C# languages.

Announcing Live Share for C++: Real-Time Sharing and Collaboration

VS2019 preview 1 is available and comes with a number of new C++ features, including Live Share for collaborative coding.

Announcing Live Share for C++: Real-Time Sharing and Collaboration

By Nick Uhlenhuth

From the article:

C++ developers using Visual Studio 2019 16.0 Preview 1 or Visual Studio Code can now use Live Share. With Live Share you can share the full context of your code, enabling collaborative editing and debugging.

Exploring Clang Tooling – Using Build Tools with clang-tidy--Stephen Kelly

Today about clang-tidy.

Exploring Clang Tooling – Using Build Tools with clang-tidy

by Stephen Kelly

From the article:

The previous series about clang-tidy on this blog covered the basics of creating a clang-tidy extension and tooling to support that in the form of clang-query.

While the series focused on single-file examples for simplicity, developers progressing in this direction will need to run the tooling on all of the files in their project at once, or on all files which match a specific pattern.