Qt Creator Search and Replace
-
I don't have any issues with search and replace in Qt Creator. "Find usages" (which I often combine with search and replace) has recently got worse. But the replace part works fine.
I know it's not a very constructive feedback :D Just wanted to chime in an mention that it's not bad for everybody.
Btw. "Try disabling your extension" have you tried disabling some extensions? Do you use any non-standard ones?
-
I am using > 30 extensions and I do not know which ones are standard and which ones not.
I do not have find usages. I have find references.
find usages is Visual Studio as far as I remember.But this is interesting. I did not know I can do Find References and then proceed to replace. Do you mean Refactor -> Rename Symbol under cursor? If you mean that, this does not work because I do not have the patched clang version hence some clang plugins do not work.
So, how do you replace in selection? Previously I just selected and then proceeded to Ctrl+Shift+F and it would do its thing. But today it replaces everything inside and outside the selection.
-
@Patrick-Fromberg
I don't use Qt Creator, so please don't shout if I'm talking rubbish!But I thought Creator, like other IDEs, uses Ctrl+Shift+F for "find in all files", and doesn't do selection only? Isn't it Ctrl+F for "find in (current) file" (or Ctrl+H for "replace in current file") , and that would then work with a selection there?
-
@JonB, you are not correct, and this is a further concern I have with QtCreator's way of doing search and replace. The UI of this feature does everything differently than everyone else. Ctrl+Shift+F opens the "advanced search" and there you can choose the scope (except scope=selection).
-
@Patrick-Fromberg
OK, I have gone and had a look. Are you perchance falling foul of https://forum.qt.io/topic/33369/solved-search-and-replace-within-selection. Are you aware that it seems you must select at least one "newline" in your selection before replace in selection seems to work?? If I select multiple lines replace works in selection scope, if I have only one line selected (and not its terminating newline) then the Replace All does the whole file. ?When it is going to work in selection only you get to see the selected section outlined with a box, and that's where Replace All does its stuff.
-
@JonB , no this is not my problem but further proof that search&replace is cursed in creator.
-
Unexpectedly nobody has a problem. So one very simple last question.
Shift+Ctrl+F3 works for me but Ctrl+F3 "Find next selected" never did. I work with Linux/KDE. Both shortcuts are not configured in KDE and both work in other applications. Can anyone reproduce? -
Shift+Ctrl+F3 works for me but Ctrl+F3 "Find next selected" never did.
Both work for me (Windows+Ubuntu/Unity).
Regards
-
@Patrick-Fromberg said in Qt Creator Search and Replace:
I am using > 30 extensions and I do not know which ones are standard and which ones not.
The obvious thought is: is there a simple way to try disabling all these extensions in one go, and see if it makes any difference to your issues?
-
@JonB , good point. Do you know by any chance where they are stored so I can restore my previous state?
-
@Patrick-Fromberg
Unfortunately not, because as I said I don't really use QtCreator, and if I do I don't have any plugins! However a quick Google gives, say, https://doc.qt.io/qtcreator/creator-faq.htmlYou can disable the Qt Creator plugins, at the expense of losing functionality:
Launch Qt Creator from command line, with the -noload QmlProfiler -noload QuickDesigner arguments.
Disable the plugins permanently by selecting Help > About Plugins.
or https://doc.qt.io/qtcreator/creator-cli.html, ah ha there I see:
-noload all
Disables all plugins.? So you don't have to move them, you can just run up a session without loading any?
-
@JonB , thanks, I did not know
qtcreator -noload all -load Core -load CppEditor
. Unfortunately it did not solve the problem but it was worth a try.But I believe I know a bit more now about the Help problem. "Blocked by extension" probably refers not to a QtCreator extension but to a browser extension hence not really anything to do with QtCreator.
-
@aha_1980 , are you using KDE or something else?
-
-
Ok, QtCreator passes
Ctrl+F3
to KDE for desktop selection while other applications capture that shortcut for themselves (Kate for e.g.). When I disable the shortcut in KDE, then it works in QtCreatorRegarding Search&Replace with selection scope, it is sadly not supported for Advanced Search. I probably remembered wrongly that it once worked. This is really strange because search and replace in a selection is a really common task.
-
Regarding Search&Replace with selection scope, it is sadly not supported for Advanced Search. I probably remembered wrongly that it once worked. This is really strange because search and replace in a selection is a really common task.
I'm not sure why you need the advaced find for that if it works with normal search&replace? Symmetry?
Otherwise, creating a suggestion for that is easy to do ;) - please post a link here if you do so.
Regards
-
No, normal search&replace does not work with regular expressions.
It does. Hint: the small icon in the left corner of the search text.
Regards
-
Important tips:
- In-Selection Search and Replace does not work on a partial line - you must have at least one newline selected (The selection overlapping into the next line even if no text is selected).
- Regular expressions must be properly escaped if you wish to use the mode to find certain strings be sure to read up on regex, every symbol can be escaped to do normal text matches but you may just want to turn it off temporarily.
- This is important for workflows and fast-paced usage: Go into your text editor options and find the search scope highlight colors, set it to something super-obvious. For me I went with black text on yellow background. This way you are never mistaken on just what is going to get replaced. This way, if I don't see the black-on-yellow test I know right off the bat its gonna be a whole-file search. Use your subconscious powers to your advantage :3
- Finally, to clarify about regular expressions, they do in fact work (at least now they do) with selection-scoped searches unlike what it used to be. As long as the search scope is showing, the selection will be replaced.
- Be sure to set the selected text highligting (not the search scope highlighting, the one that higlights every occurance) to something less distracting or your mind might confuse it with 'search highlight'. I see a lot of themes/styles can cause this, so be careful about that.
To review: 1) selection scope is based on the highlight, be sure to set it up (many themes set this to a not-so-useful setting, so check it) 2) use highlights to guide you and you'll soon be able to make decisions about searches without thinking based on why you see