Hi everybody.
Currently VSCode supports only one active search: I cannot look for multiple things at a time.
I often have need in this feature.
I can implement it myself if someone will guide me.
I suggest to add new tab "Searches", which looks like this:
And it expands to:
Unfortunately, I haven't made a close button. Imagine there is a close button to the right of a search entry.
When a user starts a search, then an entry in the searches is created.
When a user clicks on a search entry, then the entry's search becomes active.
When a user clicks on the close button of a search entry, then the entry is deleted.
I am waiting for your opinions to this feature.
@KalitaAlexey Very much appreciated with your thoughts and ideas. I see that your base requirement is that you wanted to look multiple things at a time. Can you please explain in little more details how do you want to see above results at the end. Possibly with an example would be good.
Thanks
Hi @sandy081,
Only one search is active at a time.
Results of the search is shown under the configuration of a search. As it is made now.
I will include screenshots.
Hi @sandy081,
I try to implement it myself.
@KalitaAlexey We are always welcome to receive PRs for VS Code. But I would suggest before starting, it would be good to discuss in detail.
Hence, I asked to know how the end result looks like and is it going to fix the problem? It would be helpful if you can explain me with an example.
Thanks
Hi @sandy081,
I am downloading source code. I am changing the source code just to prepare an example.
I am sending pictures then.
Hi @sandy081 and everyone,
I have thought about this feature and have prepared some screenshots explaining the design.
I'm sorry for the close button on the screenshots below.
Let's assume we open a project.
We navigate to the "Search" tab.
It is empty:
We enter A to the "Search" field and press the Enter button.
It starts a new search.
When the search is ended, the "Searches" panel appears:
We enter B to the "Search" field and press the Enter button again.
It starts a new search.
When the search is ended, in the "Searches" panel the new search appears:
I click on the "A" search in the "Searches" panel.
The "A" search becomes active:
If the close button of a search is clicked, then the associated search is removed.
If all searches are removed, the "Searches" panel is hidden.
If it would be added when it is started, then we should think about whether a running search may be cancelled.
If it would be, then there should be a way to start a new search.
Regards,
Alexey
@KalitaAlexey Thanks for the details. I am wondering why not using the following flow with current design (Single Search)
-> Search for value1
you see results
-> Search for value2
you see results
-> If you want to see previous results, navigate history in Search input using alt+up
and enter
and you see results.
-> if you want to see results matching value1
or value2
at a time why not use Reg ex `(value1)|(value2)
I am not getting the use case that needs to show results for two search terms at a time. May be I am not sure, but I have not seen in any editor that shows multiple search results at a time.
Sorry, but I am trying to get the need to build this functionality and how everybody can gain by this.
Thanks
@sandy081,
I didn't know about alt+up
, but anyway it doesn't preserve search results. I must start search again.
Think about it if a project very very big.
Being able to keep search results would be very nice. Sometimes it's useful to be able to switch between search results without relaunching the search everytime.
So, may be a checkbox "Open results in a new pane", or something.
Netbeans, for example, keep results in different panes.
Here, for instance, I searched for "grdf" and "test", and each result set is kept in a different pane.
You can use regular expressions to search for multiple items at once, though it's obviously still all the same single search. E.g. from your example above, "A|B" would search for A and B at the same time. (Make sure you enable regular expressions for that search; on a Mac, Opt-Cmd-R.)
@theclapp,
I'd rather open a new window and search there.
What if I already use regex for something ugly and complex?
@KalitaAlexey 馃憤
@theclapp I agree that it could be a solution for some simple searches, but this is not what I am looking for.
Use parentheses: (ugly-complex-expression)|(some-other-expression)
Don't get me wrong: You can ask for this (or implement it!), that's fine with me. I'm not saying you shouldn't. I'm just saying there are alternatives or workarounds out there.
If someone does do this, might I suggest highlighting the different finds in different colors.
@theclapp,
I know about alternatives, but it isn't convenient.
I got your point.
This is an absolute must for me and a few of my co-workers. We have a very large codebase. Currently, I use IntelliJ. I'm often involved in very large refactors. I might do a search for something that I need to refactor. I work my way down the list slowly. I might have that search tab open for a day and a half. If I need to search for something else, I can search in a new tab without losing my place in my refactoring effort.
Switching between search terms is not a viable solution to this problem since I lose my place in the search results every time I have to do a new search.
This is a feature that NetBeans, IntelliJ, and even Sublime Text (via a plugin) have.
If you'd like to see how IntelliJ did the UI:
By default, the "Open in new tab" is unchecked so as not to confuse the newbies. However, more advanced users such as myself have it checked all the time.
BTW, this is the single, most important feature that prevents me from being able to use VS Code.
I agree that this is an important feature. Often when analyzing the results of a search it's helpful to run additional exploratory searches without losing the context on the original search. One helpful feature that search currently has is a close button to remove individual files from the search to prune out irrelevant results. If you've been analyzing and pruning a search and then start a new search, you currently lose all of the pruning you've done.
@sandy081 , Although i have nothing extra to add, VS2015, provides this option via ctrl+shift+f, append results or list results in results 2 window. This would be a good addition to VSCode if you can accommodate the request.
But please don't limit count of searches to 2.
Sometimes you need much more than that.
I like VS Code very much and try to use it as much as possible. However multiple searches is one feature for which I am forced to get help from some other editor. I would suggest taking a look at Notepad++ before designing the feature for VS Code.
+1 to multiple search windows. It is very helpful when you want to do follow up searches to understand the context of something you found in the first search. I often have to fire up Idea just for this specific thing. Would like to be able to move to VSCode for everything.
One nice workaround to handle this problem is to do:
ag --group search_term directory | code - &
You can even do it from the terminal within VS Code. This will pop open a temporary file with the search results, and you can edit or delete them as you go through them.
I blogged about this problem including which editors get it right and how to workaround the fact that VS Code gets it wrong. See: http://www.jjinux.com/2018/01/doing-multiple-searches-in-vs-code.html
I agree that this is a very important feature! I use (and love) VSCode for everything _except_ refactoring on my large code base. For that I have to open up Jetbrains WebStorm because it supports many searches at once. I frequently run into situations where I need to "keep my place" in one (or more) searches while doing another search to find other related references. This is the one feature missing from vscode that would make it absolutely perfect IMO!
I also upvote for this feature.
We are currently refactoring some big code, and it's very important for us to keep track of more than one search at the same time (to dive one or two more levels in).
Other editors have this functionality, allowing search results to be opened as a separate tab, as Visual Studio and Eclipse do.
Any chance this could be implemented soon?
Another upvote.
I work to construct a proper search, which includes decisions about the search term, the modifications of the search (case sensitivity and such), the appropriate replacements, and the files to include/exclude. It is really a package deal, all of it together is what represents a search, not any one field alone.
Right now I have to alt-arrow in at least three fields to sync up a package search that was all in sync at the time I last used it. And even then, the replace field and the search attributes (case, grep, etc) are left out and not recalled from history.
I feel less strongly about memorizing the search results, though that would certainly do no harm.
My model for this is BBEdit on the Mac, which keeps both an automatic history of searches executed and allows me to save named searches ("patterns" as it calls them). I would imagine a much simpler interface than the separate tabs or window (though, again, no harm in them, that would make me happy too). I would simply add a new mini-icon at the top of the search sidebar that pops up into a menu of saved searches with an option to save the current search.
sometimes, show two different search result at the same time and at two split view are more intuitive .
since the new version of vscode support splitview of terminal .
i hope there are some plan such as splitview of the search panel.
Any update about this feature?
Agreed that this would help significantly with large refactors
This is really something I miss from Sublime Text
Any update about this feature? This is the number 1 missing thing in vscode for me.
Here's my upvote. The task of following long, convoluted trails through a large, complicated code bases would be easier if I had the ability to maintain multiple independent searches.
When I'm trying to discover the root cause of an issue or develop an understanding of how a feature works, it's never a one-search exercise. I need the freedom to explore the code, weed out less interesting results and continue the exploration exercise (in a separate search tab) based on whatever I discover. Sometimes those search "side roads" turn out to be dead ends but I almost never want to sweep away my back trail as I explore because every search result represents a potential new avenue to snoop around in. It's a process and the job is hard. Multiple searches would make it easier.
Thanks for an awesome product! Here's to keeping up the great work.
What is the situation for this feature? Someone are making this? I have some ideas about it and if nobody is doing this I maybe can try.
@leomeneguzzi
when looking for all the place using keyword A and all the place using keyword B. compare their usage way and used frequency.
I'm not sure what this feature means. Is this a single search with more search patterns and result is a single list of results or is the result that each search pattern have a own independent list of results and I can switch between this list of results?
I was envisioning being able to switch between multiple independent searches, each with its own pattern and results.
For an example of a good way to do search results, take a look at the following screenshot from Notepad++. This is showing two searches, with the top one fully collapsed and the one below having some of them opened. The complete result history stays until the session is ended or individual sections/lines are removed (pretty much like VS code does now, except it only shows the results of one search).
I want to use vscode to learn code audit, and show my friends that it is better than sublime. But unfortunately it lacks only one the most important feature. If it can do it over time, please remind me, thanks!
I need per window search like the one in firefox or chrome.
vscode is awesome! IMO this is the _only_ major missing feature preventing it from being perfect =)
Almost two year since this issue was created. Is multiple search on the roadmap? I really need it.
kind of a bummer this isn't supported yet
It seems I reported a duplicate feature request, so I will add here my take on the feature: use tabs?
Here is a simple mockup to illustrate the idea:
If the use of tabs is not very welcomed by the team, I can suggest another way which is already used in the interface, the "Open editors" view:
The same is also used on the Source Control panel when a workspace has multiple repositories:
Imagine this but for open searches.
My two cents:
VSCode has one of the most powerful search functionalities on the market in a number of ways.
a) It allows solid regex, etc. searches with white and black lists for files. and .gitignore, etc.
b) It has tracks history all over the place for previous searches
c) It allows you to dismiss irrelevant search results (awesome!)
W.R.T (c) especially, but also for say a complex regex search: there is a need to allow for some sort of search persistence. Whether that is via multi-search tabs or saving and retrieving named searches. This is so, because if one goes to great care to craft a search and then filter it through the dismiss functionality, there is an appreciable amount of work into just performing that search.
I suspect that this is not the end of the road for search though. It's self-evident these days that a deep search capability is highly attractive and hugely aids productivity and also the more one relies on search the more one needs it.
Having said all that I think getting the GUI conceptually right is very important. Merely having tabs isn't going to scale for any number of searches. Also having loads of randomly named searches might end up in a mess. There needs to be a good way of bringing meaning to the 'named / multi search' capability. (I think that might be the hold up here)
If this could be implemented nicely though it would be fantastic!
Maybe missed it but no-one mentioned Eclipse yet. The list of features mentioned in the above comment that make VS Code search so powerful are all supported in Eclipse as well.
The concept of multiple Searches is also possible in Eclipse: you search on something and if you want to keep the result, you pin the result, which effectively means that a next search will open in a new (results) tab. Difference with VS Code is that in Eclipse the Ui for doing the search is separate form the UI showing the results.
This ability to have multiple search results open (thorugh pinning) is hugely beneficial in exploring a (large) codebase and/or working on large refactors impacting many, many files.
Problem seems to be that the VS Code team is not eager to move towards a tabbed interface for non-editors, see https://github.com/Microsoft/vscode/issues/10546
I would also like to upvote this feature. Coming from Eclipse, the ability to be able to flick between prior searches is the one feature glaringly missing for me.
As this request has been open for some time, I think we would appreciate some feedback on the likelihood of this feature getting implemented, or closing if the answer is definitively no.
Thanks for your time.
I'd also very much like to see this feature added to VS Code's search. Using a complex regex to emulate multiple searches doesn't provide enough context.
This is still the only reason I keep Webstorm installed on my machine. I simply can't do some complex refactor tasks with VSCode because of the lack of multiple searches. The feature in Webstorm is fairly simple... Each search shows up as another tab with the title of the tab being the search term. I would see this working well in vscode as well. For example the tabs in the default bottom window would be "problems, output, debug console, terminal, search results". When search results is open there are sub tabs (or some other selector) to switch between the active searches.
Just do the feature already? :)
I certainly would if I had the time and the expertise with the vscode code base. Unfortunately I don't have either of those so I just wanted to contribute my thoughts on how the design might work and what use cases this feature request would solve.
lets start 2019 with this feature ye? 馃ぃ
This would save me an insane amount of time on a daily basis.. the problem is compounded by the fact that you can't open VSCode twice in the same directory (it just focuses the already open window) so it can't even be worked around by having two instances of VSCode running.
Having to delete my search during a refactor to look for something else, then recreate it manually and re-prune the list of results is tedious and unnecessary. :(
It is disappointing that this is still open after 2 years. It is a really important feature for working with and understanding large codebases that you may not be overly familiar with (greatly improves navigation/comprehension speed vs juggling/waiting between a single set of search results).
At the risk of potentially repeating some of the previous discussion, here are a couple of UX options that can be adapted, and have been proven in other products:
Visual Studio UI example for those not familiar:
VS Find in Files dialog:
VS Find Results output panel:
_(note that each result line is clickable, but all the result text is copyable as plain text, including ctrl+A, which can be handly)_
Having either the sublime or VS style options to start with should not preclude changing the interaction paradigm later if it is really necessary, but both are battle tested in industry in very popular editors, and either option (or a different one) is better than none at all... Is the UX really so immutable that it must be perfectly designed up front and cannot be tweaked or changed later?
I think adapting Visual Studio behavior could be a very good starting point for this feature.
I've been running into this problem more and more in time as I need to search unfamiliar code for something and then need to start a second search based on one of the results from the first, but I don't want to lose my context/the results of the first search in order to perform the 2nd.
So +1 to the ability to have multiple searches, whether they be nested in the search view or tabs within the search view or opened as editors or whatever the case may be.
Looking forward for this feature
I too would like to see this feature implemented. For an example of multiple search functionality that works extremely well, see Apple's Xcode application.
Would like this implemented as well!
I hope the image is clear - I'm constantly searching documentation and having those searches available without having to re-search every time would be a real boon.
We have a large JS codebase that uses lots of dynamic-typed features (e.g. calculate a function name to call by concatenating string values :sigh:). When working with such a codebase you have to search a lot, unlike with statically typed languages like TS.
As someone else pointed out, in a system like this you'll be constantly trying to figure out how something works, using search to find things of interest, and while you're doing that you'll need to do another search. The amount of mental context required is absurd, honestly. So when you have to destroy your "overall" context (just to reuse the search input widget), it destroys the flow and forces the use of external tools if you want to keep context.
I need my tools to multiply my limited brainpower, and the absence of this seemingly-obscure but actually-critically-important-for-this-sadly-not-uncommon-use-case feature is a significant hindrance.
Agree with @spencer-schumann and others on the need to save pruned searches. Like many others commenting, I am working on a large code base, and I have a search open at the moment that if I happen to lose, will require a significant amount of work to restore. Multiple tabbed searches with memory of pruned results are critically important features.
Before this feature is implemented, vscode's 'task' can be used to simulate it.
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "grep",
"type": "shell",
"command": "grep --color -nr ${selectedText} ${workspaceFolder}/src/",
"presentation": {
"reveal": "always",
"panel": "new"
}
}
]
}
keybindings.json
: {
"key": "cmd+shift+g",
"command": "workbench.action.tasks.runTask",
"args": "grep"
}
Then every time press cmd+shift+g
will search selected text with grep
, and
output result in a new terminal. You can use cmd+click
to jump result file and line.
This is a simple example, there is a lot of thing can be customized for a task, such
as user input, predefined vars...
For more information about vscode's task, see https://code.visualstudio.com/docs/editor/tasks
Would love to have this please!
I just ran into a need for this feature, so please consider this use-case a 馃憤for implementation:
I am refactoring a large React-based codebase, and searching for all instances of a top-level prop. I love using the search result's "X" to dismiss instances of the variable that I have already checked, and have been doing so as I move through the code.
Now, I have found an instance of the variable that needs refactoring within a component class. In order to do so, I need to search the codebase for instance of this component to ensure that its props are updated accordingly.
I'm stuck! If I search for instances of the component, I will lose my progress in dismissing the original search results.
@NickGrease has a good UI treatment for my use case. Maintaining multiple search results panels - particularly with their dismissal status - would be immensely helpful here.
An uptick from me for this. I regularly need to nest searches and its a pain, having gone down the search stack, to have to find an example of the string I was originally searching for and search again.
Same here, this would be incredibly useful in refactoring code that contains instances of my type defs in a gql query.
This is a killer feature and currently the only viable workaround is to open ANOTHER VSCode instance, which you'll agree is a bit unnecessary. Let me give you guys a concrete example.
I have a large Rails project where I want to first find all occurrences of a certain css class in my view templates.
The results yields all the partial views where that css class is referenced.
Now with the list of templates always visible in the results list, I now want to search, one by one, where each template is referenced.
In other words, one search provides a list. And the second search allows me to search for each items on that first list.
This is just ONE example of many. The idea of going back, searching again etc etc. Yes it's doable, but if the point of this is to make a really usable code editor then we shouldn't make do with a really horrible user experience of having only one search.
Thoughts oh VSCode gods? 馃槈
I wrote a nice tweet about this issue in order to try to get it some attention. Please retweet and favorite it if you're into that sort of thing: https://twitter.com/jjinux/status/1153808934966140928
The feature is quite necessary to analyze a log file.
See how it works in Nodepad++
Same story, I need this feature for refactoring large code bases...
Feature needed for refactoring large code base.
Just get it done.
Need this, since the Global Search can be thought of as a source code analyzing tool, not just as a find-and-forget tool.
search function needs to improve
Need this big time
Does anyone know of an extension that does this? I also really need this functionality as I work in multiple repos daily and often need to see the search results of one repo in order to search through another repo.
The obvious workaround to this requirement, opening a new Code instance, doesn't work because Code doesn't let you open the same folder in multiple windows. Please enable multiple searches so I can do a new search without losing my edited results from the last search!
Does anyone know if the current architecture of vscode search is blocking this enhancement? Would love to see this implemented, just curious to know if there's a larger technical blocker that needs addressing first, and if it's something the community could work on...
This is mandatory, how can we get this prioritized?
Encountered same use case, I downloaded another editor for simple solution, but would love to see this in VScode
Hey all, this sprint I'll be working on a somewhat related feature, "Search Tabs", where search results can be copied over to a tab while preserving "go-to-result" support. You could have an arbitrarily large number of these "Search Tabs", but (at least for the initial implementation), the query will not be modifiable once the results have been dumped into a tab.
I believe this would solve many of the pain points listed in this thread, and I'm interested to hear if anyone here has a use case that would not be satisfied with such a model.
@JacksonKearl That sounds perfect, especially if the search tabs will be formatted in the same way as the search results, i.e. grouped by source file and with the option to permanently remove items from the list once they have been assessed to be either irrelevant or dealt with.
@aramando The search tabs will be text editors (a. la. Sublime), so removing results is deleting text.
@JacksonKearl Awesome! Glad to see movement on this. My opinion is that the search panel should be done away with altogether. Search results should always open in a separate persisted tab. If I think about all the searches I've done recently not a single one of them made sense as a temporary set of results in the side panel. Nearly all global searches I do lead to subsequent searches based on the original result set which is currently impossible to do while keeping the original results around. This lackluster search function is _by far_ my biggest pain point with VSCode.
@AndrewMorsillo This is just the MVP to start to get an idea of what the Search Editor flow is like, many people have similarly requested to skip the search viewlet/panel entirely and we may in the future make the overall search position configuration 'viewlet' | 'panel' | 'editor'
. #23931 has more discussion on the matter.
(Sorry for "invading" this thread - well, it's not really invading, it's about the search feature after all and all other threads are closed.)
I really appreciate that you made the search feature remember the search phrases by pressing up/down or alt+up/alt+down.
This was really needed.
Now excuse me, but what is so difficult about adding something visual to the Visual Studio Code like two arrow keys, so that you have an expandable list of all the previous search phrases like in any other editor?
@JacksonKearl Having search tabs is a nice to have feature, but I would step a bit further. On every search tabs, there could be a "-" and a "+" button to be able to subtract and add other search tab results to(from) the actual one.
On search tabs:
By clicking "-" a modal could show up to select a search tab for subtraction.
By clicking "+" a modal could show up to select a search tab for addition.
On the selection modal:
By pressing "enter" it would modify the currently active search tab.
By pressing "shift+enter" it would create a new search tab.
Addition and subtraction should operate between filenames, instead of between the resulted lines since lines can be subtracted out by an in-tab search.
A new Search Editor implementation is out for testing, which enables having multiple active searches:
You can try this out with the Open new Search Editor
command, which you can map to any keybinding you'd like in the Keybindings Editor.
Let me know how this works for your multiple searches use cases.
More details at #88154.
As mentioned earlier, we are supporting multiple searches through search editors, which have been available in preview for a couple releases and will be out of preview in the February release.
I appreciate the effort to improve searches, but this is not what I had hoped for. I have more than enough tabs open as it is, adding a half dozen or more tabs is ridiculous. The side bar is where searches belong (for me, my opinion); horizontal workspace is at a premium, and I hope someone over there can appreciate other peoples workflow and viewing restraints.
To add to the problem, the tab doesn't even show what files/folders/disks are being searched. The sidebar made it easy to see where the search was performed, and at a glance which files had matches. I don't really enjoy the idea of scrolling through 1000's of lines of search results to see if a match was in a specific file.
@NickGrease I appreciate your feedback and understand that this isn't exactly what was originally requested, but at the end of the day we aren't in a position where we can dedicate resources to developing many different competing search models.
With that said, I would be interested in improving one of the current search models to better suit your needs:
the tab doesn't even show what files/folders/disks are being searched
Could you explain what you mean by this? It uses the same query editor widget as the search viewlet.
I don't really enjoy the idea of scrolling through 1000's of lines of search results to see if a match was in a specific file.
Wouldn't you be doing this in the viewlet as well?
What I rly end up needing all the time is
@jaroslawjanas I would like to hear more about all of those points. Please open a new issue
@jaroslawjanas
- Nested searches
Do you mean searching for a string within the results of a different search? This is possible with search editors.
@roblourens I think 2. refers to a global history of the full search configuration, so queries get associated with flags and includes/etc. This could be especially useful now that we have two separate ways to run workspace searches.
(4.) I just did a quick google search of search editors didn't find anything in the top searches
I mean a search history similar to history of actions in Photoshop, where you get a table with all of your actions listed in order, so something similar for vs code would be nice, rather than jumping from search to search till you find the one you wanted.
Good question, I don't know why but I find the feature lacking in features (no pun intended), I mean it shouldn't be overdeveloped either but maybe some more UI or something that would make complex searches easier to write. Maybe an option to have a preview based on sample data and then you can just swap your actual search params to do the actual search? That'd be pretty handy.
Usages, cases, examples of difficult searches.
Please, let's discuss in a new issue
@JacksonKearl
the tab doesn't even show what files/folders/disks are being searched
Could you explain what you mean by this? It uses the same query editor widget as the search viewlet.
With multiple tabs open, figuring out which tab was which search, is a pain compared to the sidebar view.
I don't really enjoy the idea of scrolling through 1000's of lines of search results to see if a match was in a specific file.
Wouldn't you be doing this in the viewlet as well?
Using your treatment/implementation, the search for "Test" would mean scrolling past 64 results in Scripts, 24 in documentation, to finally find the 4 in research. Using the image above, it takes a split second.
When I'm searching hierarchies of folders (that I'm not always familiar with) for bits of api code/functions - I need to see at a glance what folders the results are in. If I search for a function that I expect starts with the word "Load", seeing a list of folders that have matches means I can guess what folder I'm likely looking for, for example,if the results show a dozen folders, one is "ShipAI", one is, ShipCrewAPI" one is "PlanetAPI" - if I was looking for how to "load crew" - I'd know instantly what folder to open results in.
I hope that makes sense; and at the end of the day I've been managing for well over a year now. You do you, and I'll make do :)
@jaroslawjanas
- Nested searches
Do you mean searching for a string within the results of a different search? This is possible with search editors.
I'd like to search for a term to get a list of the files that match that value. THEN with the list of the files, search only those files for a different term. Currently the process is that I click the file in the search result, the press ctrl-f on the file view and search my second term inside the file, stepping through all the matches. It would be far easier to have a "Search within results" option.
What are search editors?
@frumbert
what are search editors?
See the release notes: https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_43.md#search-editors
Most helpful comment
This is an absolute must for me and a few of my co-workers. We have a very large codebase. Currently, I use IntelliJ. I'm often involved in very large refactors. I might do a search for something that I need to refactor. I work my way down the list slowly. I might have that search tab open for a day and a half. If I need to search for something else, I can search in a new tab without losing my place in my refactoring effort.
Switching between search terms is not a viable solution to this problem since I lose my place in the search results every time I have to do a new search.
This is a feature that NetBeans, IntelliJ, and even Sublime Text (via a plugin) have.
If you'd like to see how IntelliJ did the UI:
By default, the "Open in new tab" is unchecked so as not to confuse the newbies. However, more advanced users such as myself have it checked all the time.
BTW, this is the single, most important feature that prevents me from being able to use VS Code.