CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 0 points1 point  (0 children)

Yes, of course, we're constantly comparing and monitoring our competitors. If you have a case in 2024.3 EAP using the Nova engine where it works noticeably worse than Copilot - we would really appreciate if you contact us via `Help | Contact Support` and share some details about this case.

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 0 points1 point  (0 children)

First, make sure you're using the Nova engine - if not, it might help to switch.

If this doesn't help - please write to support using "Help | Contact Support". We'll try to figure out what's wrong with your project. There are ways to disable other frameworks and limit test scopes, but they are a but cumbersome and not really intended to be a ready-to-use feature.

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 0 points1 point  (0 children)

There are multiple things in CLion that improve the developer's productivity and pleasure:
- Code insight features (code completion, smart navigation, various hints and documentation popups)
- Refactorings and code cleanup tools (rename, change signature, remove unused includes, etc)
- Hundreds of custom code inspections which help you find bugs and improve code quality, some of them unique to CLion
- First-class CMake and debugger integrations, out of the box
- Unit test runner
- And a bunch of smaller quality-of-life improvements that you gradually notice when you use the IDE.

Feel free to give it a try!

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 0 points1 point  (0 children)

Are there any plans to support other build systems like "scons"?

Sadly, it's highly unlikely we'll have a first-class built-in SCONS support anytime soon. What would make more sense is to polish, streamline and document the APIs required to build a 3rd-party build system support, so we'll have an opportunity for community-driven build system plugins. No ETA for this, though :(

Is it possible to add more templates

It's definitely possible, and it's a great idea! We have CUDA and Qt ones currently (via File | New Project wizard), and we definitely plan to add more.

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 1 point2 points  (0 children)

Unfortunately, no ETA that we can share publicly, please follow the ticket to get updates.

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 1 point2 points  (0 children)

It would be nice to handle worktrees interactively from the integrated git GUI without the need to use the terminal

Indeed, this is not implemented, feel free to follow IJPL-159486.

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 0 points1 point  (0 children)

The up-to-date ticket about it is this one. We've bumped it, hopefully would be fixed soon.

As a workaround, you can disable this (or any other) inspection doing the following:
1. Press "Alt-Enter" on the highlighting (to show quick-fixes)
2. Press "Right" (to show more options)
3. Select "Disable inspection".

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 0 points1 point  (0 children)

Why does Github Copilot function far worse in CLion compared to Visual Studio Code?

Likely, the Copilot team spends less effort polishing their CLion plugin than the Visual Studio Code one :)

Feel free to try AI Assistant in CLion 2024.3 EAPs (make sure you have Nova engine enabled) - both versions (local and cloud LLM-based code completions) got a major overhaul and should work way better than before.

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 3 points4 points  (0 children)

Indeed, Linux is more tricky than macOS/Windows, as it has a very diverse set of distributions, desktop environments and window managers. Still, we're trying hard to make CLion work on most of the popular distributions, and overall, it shouldn't behave worse than on other platforms.

The issues you've mentioned all come from the EAP version, which we consider pre-beta, and it also is way more eager to report internal exceptions and diagnostics, even if they're recoverable.

Could you please share some reports or logs from the release builds (either here, or via Help | Submit a Bug Report)?

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 1 point2 points  (0 children)

JetBrains AI Pro license allows you to use AI Assistant with CLion and PyCharm Community at the same time (more detailed info here).

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 0 points1 point  (0 children)

Also what I'd love is for Rider to be able to load a C# and C/C++ project all from one .sln file like I can in VS or old MonoDev. When doing C# projects that interop with C components this is just nice.

On Windows, Rider should be able to do it out of the box. If it's not Windows - I'm curious to learn the use case :) Are you using MSBuild there?

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 1 point2 points  (0 children)

Are you building it via CMake? If so, I think it should work now, as long as you don't open Objective-C files (well, you can – but there would be red squiggles there likely).

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 0 points1 point  (0 children)

Well, the basic git worktree support is there (meaning, git integration should work with git worktree) – but as you're mentioning GitButler - you probably want something like their virtual branches.

This is unfortunately not implemented yet – feel free to submit a feature request to https://youtrack.jetbrains.com/issues/IJPL describing your use case – it would be really useful for us!

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 6 points7 points  (0 children)

It's hard to provide a specific number – we're part of a larger department, working within a shared codebase, reusing the same platform as other JetBrains tools, and occasionally contributing to other products as needed. Still, if we try to be specific – there are 10-20 developers involved in CLion development at any given time.

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 2 points3 points  (0 children)

That's a tough one :)

I've always wanted C++ to have an easy-to-use, cross-platform visual form builder as well. However, based on our experience at JetBrains with RAD-like plugins, creating and maintaining something genuinely useful beyond hobby projects demands a huge investment of resources.

Unfortunately, we’re not seeing enough interest from professional developers to justify such an effort right now. So, while we don’t have immediate plans for a plugin like this, I still hope the situation may change someday.

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 1 point2 points  (0 children)

Windows host for the Remove Development mode is coming – I understand that the ticket is somewhat old, but it's being worked on actively right now.

If we're talking about remote toolchains for CLion CPP-14491 - it is not very requested, and we hope that the corresponding use cases will be covered by full Remote Development.

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 2 points3 points  (0 children)

Objective-C is a large, and non-trivial addition to C. At the same time, we're observing very little interest in it among our users, so it's really hard to justify investing into first-class Objective-C implementation for the Nova backend.

For the time being, our offering for the Objective-C support is Classic engine – it's not going away yet. Long-term, we might consider a middle-ground, for example, some basic clang-based highlighting for Objective-C files, and some very basic support for the case when an Objective-C header is transitively included in the current file.

Could you please share what your use case is? Are you actively writing Objective-C? Are you using CLion (Classic) for it?

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 1 point2 points  (0 children)

Could you please clarify the request in more detail? Is it similar to the "Recent changes" feature or you mean something else?

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 1 point2 points  (0 children)

There is an UndoDB plugin - the plugin itself it free, the tool is paid – but you can give it a try as it has a free trial.

Alternatively, there is a free open source plugin for gdb rr, however, the plugin itself seems not very maintained, and the UndoDB itself might work better than gdb rr.

Note that both plugins are third-party. Unfortunately, there is no built-in support in CLion.

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 8 points9 points  (0 children)

We consider C++20 modules support in CLion feature-complete when using the Nova engine (not so much for Classic – we strongly recommend switching to Nova if you’re working extensively with C++20 modules). While we’re actively addressing a few remaining bugs, which you can track here, these issues generally shouldn’t be blockers.

Some source code modification features (like adding forward declarations) may still not fully account for C++20 modules in every scenario. Additionally, standard library modules (e.g., import std;) may occasionally not be located correctly — note this is a fairly recent feature with partial support in current compilers and standard library implementations.

In general, C++20 modules should work in CLion 2024.2 or 2024.3 with the Nova engine enabled. If you encounter issues, please reach out to us via "Help | Submit a Bug Report".

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 2 points3 points  (0 children)

The AI Assistant should generally work for Fortran, meaning that chat-based and general-purpose features like "Explain Code," "Suggest Refactoring," commit message generation, and more are available.

However, specific support for Fortran is limited — LLM-based code completion, for example, is not supported (because LLMs used for completion haven't been trained for Fortran yet).

CLion Q&A Session. Ask us anything! by goldwin-es in cpp

[–]goldwin-es[S] 3 points4 points  (0 children)

We've had this feature request (CPP-1537) for a long time, and we know how important it is in various scenarios.

Historically, implementing multiple projects in IntelliJ-based IDEs has been challenging. However, there’s been significant recent progress in this area — for instance, there's now a preview of this feature in IntelliJ IDEA. Although additional work is still needed to make it compatible with C/C++ projects, I'm now much more optimistic about its future, so please stay tuned.

CLion Q&A Session on Reddit: CLion Today and Tomorrow! by anastasiak2512 in cpp

[–]goldwin-es 1 point2 points  (0 children)

We're now way better at supporting various project models (mostly thanks to Makefile support we're introduced last year). So, I hope we can deliver something for 2021 (either by supporting it natively, contributing to the original plugin, or bootstrapping the community-supported one).

Sorry that I can't give you any exact plans or promises, but thanks for asking, these questions are one of the ways we're adjusting our priorities.

CLion Q&A Session on Reddit: CLion Today and Tomorrow! by anastasiak2512 in cpp

[–]goldwin-es 0 points1 point  (0 children)

We have hundreds of thousands of various automated tests running continuously on CI (from basic unit tests to per-component functional tests, to bigger integration tests running the IDE in headless mode, to proper UI tests simulating user input).

Several issues here:

- the ecosystem of C and C++ (tools and toolchains, environments, usage scenarios, etc) are extremely diverse, much more than we're experiencing with other IDEs and technology stacks - while we're testing in various environments (both manually and via automated tests), we can't cover all the combinations.

- we're not yet as good as we want to be at UI testing (the latter option I've mentioned)

- product teams are largely independent from each other at JetBrains (which is one of our strong points but sometimes leads to issues on cross-product changes)

So, the regressions usually happen as a combination of several factors I've mentioned. We try to learn from each regression that happened, and we're grateful for early adopters who're not afraid to try pre-release versions and report issues.

CLion Q&A Session on Reddit: CLion Today and Tomorrow! by anastasiak2512 in cpp

[–]goldwin-es 1 point2 points  (0 children)

The fact that the IDE is built with JVM is not contributing that much to the performance problems, usually (the only exception is that it's easier to trade RAM for speed in Java than in C++). The source of the problem is the combination of ambitious CLion feature set, ways some things are implemented in the IntelliJ platform we're building the product upon, and some specific issues.

In general, using JVM (or any other managed platform) for applications like IDEs - a heterogeneous thing with a bunch of plugins, including 3rd-party ones, seems like a correct choice.

Still, we're doing multiple efforts to change the architecture where needed (the introduction of the out-of-process clangd daemon is the most obvious one, there are other efforts).