JetBrains

Rider 2022.1 Comes With Full Unreal Engine Support and Remote Development

.NET Tools News Releases Hello everyone, Our first release of the year, Rider 2022.1 is now available. You can download it from the JetBrains website, install it via the Toolbox App, or use this snap package from the SnapCraft store (if you are using a compatible Linux distro). We initially dubbed Rider 2022.1 a quality release with a focus on fine-tuning features and fixing bugs, but there are also some new features in the release build. Let’s check it out! Game development with Unreal Engine and Unity Rider is already widely used in the Unity development world, and it now comes deeply integrated with Unreal Engine support. This converts Rider into a full-fledged IDE for game development, no matter your game engine of choice. Unreal Engine support is available on all three major platforms: Windows, Linux, and macOS. It works natively with the .uproject model, saving you time on intermediate project model generation, supports Unreal Engine reflection mechanism, and integrates with Blueprints. You can learn more about Unreal Engine support in Rider in this blog post. As always, there are some new features and performance improvements for Unity development. Among the most notable ones is that Rider now supports .asmref Assembly Definition Reference files, as well as .asmdef files. We also improved load times for very large Unity projects, especially with slower disks or file systems. We’re also announcing RiderFlow – a new scenery tool for Unity. This is a free plugin for the Unity editor that is designed to help level designers, artists, coders, and the rest of the creative team easily create and manage scenes. When combined with Rider, they will provide you with a full suite of powerful tools to boost your Unity development at all stages. Remote Development (Beta) Rider now supports a Beta version of the long-awaited remote development workflow. It allows you to connect to a remote machine running Rider’s backend from anywhere in the world. All the processing happens on that powerful remote machine, and you can work on your project as seamlessly as if it were on your local machine. This functionality can be initiated from Rider’s Welcome screen or from a new application called JetBrains Gateway, which is available in the Toolbox App. What’s more, you can create, prebuild, share, reproduce, hibernate, and manage dev environments with JetBrains Space – a unified platform for the entire software development pipeline. Check out this blog post for more details. Other highlights You can now customize the new toolbar by adding new elements to both the left and right sides of the toolbar, as well as rearrange and remove widgets. Profiling with dotTrace is also available right from the Run/Debug widget’s More menu (the “kebab” icon). Fast mode has come to Docker and Docker-Compose solutions, which should significantly reduce build times during development. We’ve added full-text search in Search Everywhere. The new Text tab will show all text occurrences in the solution that match the string while you are typing it. We continue to improve support for C# 10, particularly global usings. We’ve implemented two new refactorings that are also available as context actions: Extract Global Using to introduce the concept of global usings in your project and Inline Global Using to refactor a global using into a regular using. We’ve added support for […]

Read More

What’s new in DataSpell 2022.1

News Releases JupyterHub 2.0 support, the ability to copy files to remote Jupyter servers, runtime completion, and the DataSpell Onboarding Tour It’s been quite a while since we released the first public version of DataSpell back in November 2021. We’ve received a lot of feedback since then and are doing our best to address it with new features and fixes coming with the new DataSpell 2022.1 release. Improvements to the way DataSpell interacts with remote Jupyter servers brought the inclusion of JupyterHub 2.0 support, as well as the ability to copy files from the local machine to remote Jupyter right in the workspace. Both local and remote Jupyter notebooks now handle kernel restart requests better. Further support for notebook cell manipulations with fixes for cell output copy-pasting and group cell manipulations like code to markdown cell conversions have been added. Writing code in Jupyter is now enhanced by the completion provided by Jupyter runtime and the superclasses extraction action Python script users are familiar with. Cell outputs received a number of fixes, making work with interactive tables smoother. Interactive graphics like Plotly and Bokeh now use the same theme as the IDE does, making it visually appealing for those who use dark themes. Last but not least: if you’ve never tried DataSpell and are wondering how its Jupyter notebooks’ features look, or just want a quick recap, it’s now easier than ever with the Onboarding Tour embedded right in the IDE. Go through the detailed feature descriptions below, give the new release a try, and share your feedback and feature requests with us via our issue tracker and Slack! Download DataSpell 2022.1 Remote Jupyter support Over the past few years, usage of remote servers for computation and data storage has increased throughout the industry – the fields of data analysis and machine learning are no exception. Network accessible Jupyter servers allow access to shared data and computational resources, providing the ability to collaborate with your teammates. To ensure you can adopt this trend, the new DataSpell release brings improvements for your remote Jupyter workflows. Support for JupyterHub 2.0 JupyterHub, a platform that provides multi-user access to remote Jupyter servers, has received a major upgrade with version 2.0, which introduced roles and scopes. DataSpell 2022.1 has adopted the API changes of the new version and allows connections to JupyterHub 2.0 by URL; the same way connections work for Jupyter and JupyterHub 1.0 servers. Choose File | Add Jupyter connection…, paste the JupyterHub server URL, and work with Jupyter notebooks right from DataSpell. Copying files to and from remote Jupyter servers With DataSpell 2022.1, you can copy local files to a remote Jupyter instance and vice versa. You can also copy them between two remote Jupyter instances. This simplifies the exchange of data and notebooks, and it helps you keep your projects in sync. You can use the context menu or keyboard shortcuts to copy and paste files. Outputs The ability to readily explore computation results is one of the cornerstones of interactive programming with Jupyter. Our goal is to make cell outputs as easy to manipulate as the source code chunks, and provide interactivity and visual appeal at the same time. Cell output copy-pasting Cell outputs are now copy-pasted along with the cell sources. This feature, in addition to a number […]

Read More

Introducing PyCharm 2022.1!

News Releases In this first release of 2022, we decided to focus on polishing existing features and workflows instead of adding new functionality, especially after our previous release that introduced multiple long-awaited features such as support for Jupyter and Remote Development, respectively. Here is a summary of what’s new in PyCharm 2022.1. Download PyCharm 2022.1 IDE Authentication support for custom package repositories Now you can configure basic HTTP authentication to access custom package repositories and manage dependencies via PyCharm without switching to the terminal for manual installation. Go to the Python Packages tool window, click on the gear icon, click the plus sign in the dialog window, add the repository URL, and then select the Basic HTTP option to enter the required credentials. The new repository will appear on the list of packages in the left-hand side window. Code insight Enhanced code completion for TypedDict Dict literals can be used as arguments for functions or to instantiate objects from classes where TypedDict is expected. Doing so became even easier in PyCharm 2022.1 thanks to its new code completion for keys. Improved TypedDict per-key warnings We also improved the warnings for TypedDict. Now, when a dictionary created as a literal or by using the dict constructor is used where TypedDict is expected, PyCharm will display per-key error messages pointing to the individual values that are wrong, missing, or not expected. Improved Markdown support Run commands from Markdown files You often find instructions with commands to execute when working with Markdown files, such as in README files, for example. Now you can just run those commands directly from the file itself, by using the run icon in the gutter. Copy code snippet for Markdown Copying and pasting code snippets from Markdown files is also very common, and now you can use the new Copy code snippet to do this, available in Markdown blocks. Jupyter Support [Pro] Code cells remain in Edit mode after execution In order to make working with Jupyter notebooks a more fluid experience, new cells inserted after you Run Cell and Insert Below now default to Edit mode, so you can start writing code in it right away. The same behavior applies when you are editing and decide to run your current cell. It will remain in Edit mode even after being executed. Optimized cell copy-pasting To make your Jupyter experience more pleasant still, we changed the copy/cut and paste behavior for when you copy or cut a cell that has an output while in Command mode. Now, whenever you paste it back to your notebook, the output will also be pasted and you won’t need to execute the cell again. Databases [Pro] MongoDB: Editing fields in results In PyCharm 2022.1, editing the results in MongoDB collections or result sets obtained via .find() became as easy as it is in relational databases. This improvement also works when cursor methods that modify the result, such as sort() or limit(), are executed after .find(). Docker [Pro] New Services UI for Docker Working with Docker became easier and more organized in PyCharm 2022.1. We’ve significantly reworked the Docker UI in the Services tool window to give you much clearer control of your containers, images, networks, and volumes. These are all the features we wanted to highlight. Read about other features included in […]

Read More

Why Do Testers Need CI/CD?

Code Review News Competency in the TestOps field is now just as much of a basic requirement for QA engineers as the ability to write automated tests. This is because of the ongoing development of CI/CD and the increasing number of QA engineers who work with pipelines (or the sequence of stages in CI/CD) and implement their own. So why is CI/CD such a great tool for quality control? Let’s find out. Running tests automatically Automated tests haven’t been run locally in what feels like ages. These days, CI/CD pipelines run tests automatically as one of their main functions. Pipeline configuration can be assigned to DevOps. But then we will be a long way from making use of CI/CD’s second function: quality control, or more precisely, “quality gates”. Quality control using quality gates But what are quality gates? Let’s say the product code is like a castle. Every day, developers write new code – which could weaken the foundations of our castle or even poke holes in it, if we are really unlucky. The purpose of a QA engineer is to test each feature and reduce the likelihood of bugs finding their way into product code. Lack of automation in the QA process could cause QA engineers to lose sleep, since there is nobody to watch over all the various metrics – especially at dangerous times, like Friday evenings when everyone wants to leave work and is hurrying to get everything finished. An ill-fated merge at that moment can cause a lot of problems down the road. This problem can be solved by building in quality checks. Each check deals with a different important metric. If the code doesn’t pass a check, the gates close and the feature is not allowed to enter. A feature will only be merged into the product when it passes all the checks and potential bugs have been prevented. What quality checks can be included in CI/CD? We need to put together a list of checks to ensure that the process is as automated as possible. They can be sequenced in “fail first” order. A feature needs to pass all the checks to get through the pipeline successfully. The initial checks are the ones that make sure the app is capable of working: build, code style check, and static analysis.  “Build” speaks for itself: if the app cannot be built, the feature does not progress. It is important to incorporate a code style check into your CI/CD pipeline to ensure the code meets unified requirements, as doing so allows you to avoid wasting time on this kind of bug during code reviews. Static analysis is an extremely important tool for judging code quality. It can point out a huge number of critical errors that lead to bugs. We then continue with stage-two checks: unit tests with coverage analysis and coverage quality control, as well as integration and systems tests. Next, we review detailed reports of the results to make sure nothing was missed. At this stage we may also perform a range of non-functional tests to check performance, convenience, and security, as well as screenshot tests.  When developing a pipeline, we need to pay attention to two competing requirements:  The pipeline must guarantee the best possible feature quality in light of your needs. Time spent running […]

Read More

CLion 2022.1: A Quality-Focused Release

News Releases CLion 2022.1 is now available! It is focused on quality improvements and enhancements for existing features and workflows like remote development, Docker, CMake Presets integration, and more. It also brings a brand-new CMake Profiling ability that helps you visually inspect why your CMake project may be taking a long time to reload. Code analysis and in-editor type and parameter hints have been tuned to work better and more accurately with modern C++. To update to the new version, you can use the Toolbox App or a snap package (on Ubuntu), download the installer from our website, or apply the patch update to upgrade from version 2021.3. DOWNLOAD CLION 2022.1 Enhanced in-editor experience For this release we’ve polished many CLion features that make your coding experience more comfortable, easy, and productive. We focused on their flexibility and accuracy regarding the modern C++ language. Inlay hints Parameter and type hints help you read and maintain your existing codebases with ease. The extra information is shown right in the editor and helps with parameter names in function calls and deduced types. We’ve implemented a number of fixes to make inlay hints in C++ code more accurate, for example: CLion now displays a user-friendly wstring alias as a type hint for the std::basic_string type. CLion now displays an accurate type hint for dependent types. CLion 2022.1 offers better hints for the emplace, emplace_back/emplace_front, and make_unique/make_shared functions. In CLion 2022.1 we’ve enhanced the settings in Settings/Preferences | Editor | Inlay Hints with some explanations and code examples. You can now better understand the cases where the hints are shown and tune the settings to your preferences. Hints for array indices can now be disabled if you don’t need them. Previously this was not possible. Code analysis Because code analysis is a key part of the IDE, we’ve been working to make it more accurate and easier to configure, and to make its notifications more informative. The Clang-Tidy and MISRA settings in Settings/Preferences | Editor | Inspections | C/C++ | Static Analysis Tools were reworked to make the process of configuring checks easier. A new visual representation includes a tree with all of the checks. Speed search helps you find the checks you need faster – just start typing the name you are looking for when the dialog is in focus. For Clang-Tidy, the dialog also links to LLVM documentation to help you learn about the checks in more detail. It’s much easier to improve your code when the suggestions from the IDE not only name the problem and suggest the fix, but also show how the selected fix will transform the code. That’s why we’ve added a preview for intention actions: For Clang-Tidy, the issue causing incorrect results to occur when the WSL toolchain was used has been fixed by setting Clang-Tidy to execute inside the WSL itself. New C++ Class dialog When creating a new C++ class, you can now specify the namespace where you’d like the new class to be located. You’ll find a new field dedicated to this in the dialog: Structure View helps you navigate through the current file in just a few clicks. Sometimes you want the elements there to go in the same order as in the original file, but sometimes you want them to be grouped […]

Read More

PhpStorm 2022.1 is now available

Newsletter Releases This new major PhpStorm release includes improved Blade and Twig support, added functionality to docblock type annotations and attributes, a bunch of new and useful inspections, several improvements to the editor, and more. You can download PhpStorm 2022.1 here and read through this post to learn about all the new features and improvements inside. Let’s dive in! What’s new? Frameworks and languages PHP Static analysis IDE Improvements for Blade templates Previously, PhpStorm treated every code block in Blade templates as an independent scope. It caused many issues, such as losing code completion: In PhpStorm 2022.1, we’ve significantly reworked how the IDE handles Blade templates. As the result, you’ll get much better code completion in your Blade files: Namespace imports with autocompletion You can now also import namespaces in your blade files, instead of always having to use FQCNs: Many other issues with code completion and formatting in Blade templates were resolved as well, including: WI-37741 AutoCompletion of PHP Variables in Blade WI-64460 Blade: missing completion for methods inside tags if there is php block () WI-64463 Blade: two consecutive @php fragments are merged together and produce “expected: expression” warning WI-31196 Blade: wrong formatting with HTML comments WI-28285 Blade doesn’t indent nested statements when formatting WI-25667 Blade: formatting blocks are not aligning if there is a HTML comment after a closing tag WI-40358 Blade: @section inside @if block throws “Directive is not closed” WI-64594 Blade: support @js directive WI-65562 Blade: support @checked, @disabled, @selected, @prependonce, @pushonce directives You can see the full list of fixed issues in our issue tracker. We plan to continue improving our Blade template engine support. Improvements for Twig templates Just like Blade, we have also been improving our Twig support. Some users prefer their Twig tags not to be closed automatically after typing {%. This behavior is now configurable under Preferences | Editor | General | Smart Keys | Twig. Opening and closing tags will be also edited simultaneously now when you update them from {% to {{ or vice versa. Improvements for WordPress Jump from hook invocation to registrations The WordPress hook system is powerful, but it relies on the string names of events (actions). Because of that, it was not possible to jump straight from where a hook is called to where the handler is declared. In PhpStorm 2022.1, there is a gutter icon on the left of invocation. Click it to see the list of hook usages, including the registration and other invocations. Support for dynamic paths with get_template_directory_uri() In PhpStorm, you can use ⌘+Click (Ctrl+Click) on file paths to open the corresponding files in the editor. Previously, this behavior didn’t work for dynamic paths in WordPress code when the path was compounded using WordPress functions. In this release, we are adding support for get_template_directory_uri() function in paths. Extract Method refactoring has been available in PhpStorm since 2011. It is one of the most used refactorings. We’ve already made quite a few improvements for it in PhpStorm 2021.3. To use this refactoring, you can select a piece of code and press ⌘⌥M (Cmd+Alt+M / Ctrl+Alt+M). Previously, this would open a dialog for refactoring configuration. No one likes pop-ups, though, so in PhpStorm 2022.1, an in-place refactoring will be available instead in many cases where a method is being extracted. There won’t […]

Read More

CLion 2022.1 Release Candidate

News We are approaching the release, and the CLion 2022.1 Release Candidate is now available for download. To install CLion 2022.1 RC (build 221.5080.169), download it from the website, update from our Toolbox App, or use this snap package (for Ubuntu). You can also update from CLion 2022.1 Beta via a patch. You need to have an active subscription or start a free trial to use CLion 2022.1 RC. Updated Inlay Hints settings CLion makes code easier to read thanks to parameter and type hints shown in the editor. The settings in Settings/Preferences | Editor | Inlay Hints are now enhanced with some explanations and code examples: Other improvements A new setting was added to Settings/Preferences | Advanced Settings | CMake that allows the user to disable CMake Presets integration. It’s enabled by default, which means CLion will create CMake profiles by default for each CMake configuration and build preset found. CLion can now correctly highlight the CUDA __managed__ keyword. Type hints for iterators were improved (CPP-28696). The full release notes are available here. Give the RC build a try and report any problems you find to our issue tracker. DOWNLOAD CLION 2022.1 RC Your CLion teamJetBrainsThe Drive to Develop

Read More

PyCharm 2022.1 Release Candidate is now available

News Newsletter We are now on the final stage of the release cycle. The release candidate for PyCharm 2022.1 provides enhanced code insight for TypedDict, new tool support for frontend development, and improvements for working with Jupyter notebooks. Download the EAP builds via the Toolbox App or directly from our website. Important: EAP builds are not fully tested and might be unstable. Download PyCharm EAP TypedDict support We’ve enhanced the code insight for TypedDict types. Now PyCharm recognises it when you are creating TypedDict using dict literals and suggests code completion for key types. PyCharm also suggests code completion options for the function parameters where TypedDict is expected. PyCharm now properly recognizes forward references and Union types using the “|” operator used as TypedDict value types, providing code completion for key types. User Experience Updated Structural Search and Replace dialog We’ve redesigned the Structural Search and Replace dialog to feature a list of all templates to make it easier to navigate between them. Also, we’ve added a Pin Dialog icon in the upper-right corner of the Structural Search and Replace dialog and moved the Injected code and Match case checkboxes to the bottom of the Search template pane. Evenly split tabs You can now evenly distribute the working space among editor tabs so that they are the same width. To set this up, go to Settings / Preferences | Advanced Settings | Editor Tabs | Equalize proportions in nested splits. UI improvements for the debugger To maximize the usable space in the Debug tool window, we’ve hidden the tab labels by default. To make them visible again, or to customize their location, use the Show Tab Labels option in the Layout Settings or call it via Search Everywhere dialog (⇧⇧ / Shift+Shift) with the Debug tool window in focus. Exporting UML diagrams to other formats It’s now possible to export UML diagrams as yEd .graphml, JGraph .drawio, Graphviz .dot, Graphviz .dot with positions, Mermaid .md, Plantuml, and IDEA .uml files, which makes them compatible with third-party tools. To export, use the corresponding action from the context menu available via right-click. New UI for inlay hints settings We’ve implemented a new UI for Inlay Hints settings. It allows you to configure your preferences based on the type of hints you want the IDE to provide. Editor New Incorrect formatting inspection We’ve implemented the Incorrect formatting inspection, which notifies the user if the current formatting of a file does not match the code style settings. To turn on the inspection, go to Settings/Preferences | Editor | Inspections | General | Incorrect formatting. Frontend development ESM support for webpack configuration From now on, webpack coding assistance will work with ES modules in your webpack.config.js files. Support for Volta PyCharm 2022.1 will get proper integration with Volta, a JavaScript tool manager. It will automatically recognize Yarn and npm installed using Volta. Corepack support for Yarn and pnpm Another thing that made it into this release is Corepack support. Corepack is an experimental Node.js tool that lets you use Yarn and pnpm without having to install them. If you want to give it a try, make sure you run corepack enable in the built-in terminal – the feature isn’t turned on by default. For more information, see the official documentation. Improved Structure view With the […]

Read More

RubyMine 2022.1 Released

News Releases Hello everyone, RubyMine 2022.1 is now available! Below is a brief overview of the most notable features. For a detailed description of this update, please visit our What’s New page. Support for new language features RubyMine 2022.1 includes support for most of the new Ruby and RBS features introduced in Ruby 3.1, such as bounded generics, RBS collection, anonymous block argument forwarding, generic type aliases, and more. UX improvements The user experience has been refined with a redesigned New Project dialog, support for new Rails 7 generate options, and improvements for notifications, search, and the debugger UI, as well as performance and accessibility enhancements. New inspections and quick-fixes This version adds new inspections and quick-fixes for projects that use RBS type signatures. For example, RubyMine now checks the usage of type variables in RBS, and it reports inferred types in Ruby code that don’t match the expected types from RBS. Check out the What’s new page to learn about new features for the code editor, tests, Docker support, VCS integration, and more. DOWNLOAD RUBYMINE 2022.1 Happy developing!The RubyMine team

Read More

IntelliJ Scala Plugin 2022.1 Is Out!

Features Releases This release has been focused on improving Scala 3 support. There are also several new features to help with day-to-day Scala programming. Let’s take a closer look: 1. Scala 3 support improvements2. New Scala project wizard3. Alias exports4. Unused declaration inspection5. Scala debugger upgrades Scala 3 support improvements This release includes many Scala 3 support improvements: It is now possible to autocomplete extension methods (to see methods from other objects, press Ctrl+Alt+Space twice). The editor offers to import extension methods and given instances automatically. New inspections for the infix modifier and @targetName annotation can help you maintain a consistent code style. We’ve significantly improved the performance of the .tasty reader, so indexing Scala 3 libraries is now up to twice as fast. New Scala project wizard Configuring a new Scala project just got easier! With the updated New Project wizard, you can select a JDK, desired build system, and Scala version for your project in a single step: Alias exports Most things in Scala are aliases, including String, Seq, List, Set, and Map. This affects syntax highlighting, GoTo, Quick Documentation, Quick Definition, Find Usages, Optimize Imports, and other IDE features, because they act on aliases rather than actual definitions. To improve the user experience, the editor now treats aliases in the standard library as transparent exports, so, for example, List implies scala.collection.immutable.List rather than scala.List: Unused declaration inspection Previously, the detection of unused declarations was limited to private bindings. Now the Unused declaration inspection supports public bindings introduced by classes, methods, variables, parameters, and so on: Currently, this functionality has to be enabled in the inspection settings (Settings | Editor | Inspections | Scala | General | Unused declaration), but we will enable the feature by default in the bug-fix release. Scala debugger upgrades In this release, we’ve made an effort to revamp and streamline the Scala debugger. We’ve upgraded the handling of objects, primary constructor parameters, value classes, Arrays, lazy vals, and collections, in addition to improving expression evaluation: As always, your feedback is very welcome. Please report any issues you find to YouTrack. If you have any questions, feel free to ask us on Discord. Happy developing! The IntelliJ Scala plugin team

Read More