I am used to Resharper where I can search for files, not the content, but the filename, which makes it quick to open new files.
Is this feature implemented in Visual Studio Code and is there a shortcut for it?
-
1Can we use wildcards to search for a particular file? Example markdown files starting with Pan as Pan*.mdPorcupine– Porcupine2018年05月19日 01:11:48 +00:00Commented May 19, 2018 at 1:11
-
you can make it with Explorer Tree stackoverflow.com/a/61460710/2736742A. Morel– A. Morel2020年06月04日 16:05:43 +00:00Commented Jun 4, 2020 at 16:05
-
Why is such a common task not intuitive! Judging by the likes on this question many people are annoyed with the lack of it :)Konstantin Glukhov– Konstantin Glukhov2024年03月02日 07:37:21 +00:00Commented Mar 2, 2024 at 7:37
22 Answers 22
Using Go to File... which is under the Go menu or using keyboard shortcut:
- On Windows Ctrl+p or Ctrl+e
- On macOS Cmd ⌘+p
- On Linux Ctrl+p or Ctrl+e
Then type the file name.
Also be sure to checkout that you can set your own keybindings and that there are cheatsheets available for Windows, macOS and Linux.
19 Comments
cmd + e searches on the current file, the correct key binding is cmd + p that brings the command palette where you can search for files and much morecmd + p.Since the 1.70.0 release in July 2022, you can find and filter in tree views such as the Find Explorer. You can press Ctrl+Alt+F inside trees to pop up the Find control. enter image description here
Before the 1.70.0 release
when you click anywhere in the explorer tree, and start typing something on the keyboard, the search keyword appears in the top right corner of the screen : ("module.ts")
And when you hover over the keyword with the mouse cursor, you can click on "Enable Filter on Type" to filter tree with your search !
23 Comments
CMD/CTRL + F On OSX, for me it's cmd ⌘ + p. cmd ⌘ + e just searches within the currently opened file.
6 Comments
Method 1
Go → Go to File (shortcut: Ctrl + p).
Search for your file:
Method 2
View → command palette (shortcut: Ctrl + Shift + p).
Type "Go to file"
Search for your file:
Comments
Win: CTRL+P or CTRL+E
Mac: CMD+P or CMD+E
Don't want to remember another shortcut?
Open the Command Palette:
- Menu: View -> Command Palette
- Windows Shortcut: Ctrl+Shift+P
and hit backspace to delete ">" character and then begin typing to search for files via filename. :)
1 Comment
Other answers don't mention this command is named workbench.action.quickOpen.
You can use this to search the Keyboard Shortcuts menu located in Preferences.
On MacOS the default keybinding is cmd ⌘ + P.
(Coming from Sublime Text, I always change this to cmd ⌘ + T)
2 Comments
For filtering in the tree on keyboard typing. The feature is deprecated. No more work.
No more of this old red inflexible box:
The replacement is way better and more interesting:
Actually not really. It could have been. The new way only filters on expanded folders only. And that's a shame. Check the last session for where the development is at. And for the options we are left with.
https://code.visualstudio.com/updates/v1_70#_tree-find-control
CMD + F (mac) or CTRL + F (else) [while focused]
vscode tree filtering new implementation
No settings are needed. It just works. And more elegantly (except for the problem of only filtering searching through the visible expanded directories).
And for the default mode. highlight or filter. You can change that with:
"workbench.list.defaultFindMode": "highlight"
"workbench.list.defaultFindMode": "filter"
Only the open folders and visible elements Problem and what are we at?
It's great to know about this feature. But then you'll soon encounter the limitation it has at the moment.
Filtering only through open directories. It can help great. But then we want to filter through all. And when the project is big. That becomes totally unusable.
We can see it's added to the backlog here: https://github.com/microsoft/vscode/issues/116286
duplicates: 1
You may think:
Expand all
Ok what about expanding all. Then using this. ===> That would work great => But => There is no such a feature of expanding all now.
Some configuration
At the moment no configuration does help!
"workbench.list.keyboardNavigation": "filter"
doesn't and many others. I tried them all. For the moment!
Extension that does that probably using web view
None exists. And to be implemented one needs to figure out the indexation used by vscode. Or implement its own indexation and then fuzzy search through using indexes. Otherwise something more simple that works for no big directories. Can be built fast. [I don't have time to do it myself. Especially that this would be resolved sometime in the future and we still can work with CTRL|CMD + P]
So that to clear for you the thoughts that you may get. And save you time.
Resume
So shortly we may see the feature of filtering all in a future version of vscode as it was added to the backlog. Right now we will be waiting. And maybe long enough.
Expand all seems not to be coming at any time or any time soon.
✨ So what now? Left with nothing? Here is a WORKAROUND ✨
The now is => use CTRL|CMD + F on visible things. or on folders. By manually expanding them.
Or use CTRL|CMD + P without closing it. By following the next rules:
- To open multiple files in the same editor. Navigate up and down and for each file use Right Arrow.
- When they open they will be opened beside each other. You can use CMD|CTRL + ALT + LEFT | RIGHT to navigate between tabs left and right. Faster and better with the keyboard. The last open is the one you'll be at when you close the pallet.
- To open a file in a new split editor use ALT + RIGHT ARROW.
Ref: 1
UPDATE 26/07/2023 (vscode 1.80.1):
- Nothing useful. Except for some new features. But filtering is the same.
As of now the search and filter in the file explorer are as follows:
- Fuzzy match is added 🔥
- The filter is always there
Here a preview of the fuzzy search
Otherwise here are some notes on the current state:
- When you use the filtering, it will filter only what is visible
- (No change)
- Always no option for expanding all.
- (no change)
- If you click on a folder and the folder has no sub dir, if it contains something it would show, if not it would disappear.
- Simply because when you expand, all become visible, then filtering applies.
- Search navigation added 🔥
- If you search for something. And results are found. You can navigate by the Up and down keys.
- That was demonstrated on the fuzzy search gif example above.
Here are some previews that show how, if the project structure is small. You still can find the filtering on the explorer good for many use cases.
- Navigation
- Filtering
- Even if not found, the search in visible only. So you have to check folders
- You can still navigate and filter in such a manner.
- It can still be useful. Depending on your case and the size of the project.
- Specially if you needed to go through project structure.
- Otherwise, the workaround by the command pallet is our best solid tool 🔥.
- In big projects. Or directory it's totally useless.
- (no one wants to play super Mario).
- Once you go through all
- Disable the filtering and u get all expanded
- activate filter again, and filtering go right (already all is expanded)
7 Comments
CMD + F without OPT and it works when the explorer is focused. If is not, one can focuse it first and that would comes to CMD + E to focus, followed by CMD + F. For me CMD + OPT + F Didn't work if not focused, and if focused, i take it as CMD + F Taking effect and i wonder. I will add this details. Plus update the answer to include the latest state, as now the search is full and fixed.Also works in ubuntu with Ctrl+E
You can also press F1 to open the Command Palette and then remove the > via Backspace. Now you can search for files, too.
3 Comments
The problem with Ctrl+P (or Cmd+P) is that it searches your workspace while ignoring files and folders set in the .gitignore file. To change this behavior, add "search.useIgnoreFiles": false in your settings.json file under .vscode directory.
NOTE that search.exclude and files.exclude settings will override this. So, in your settings.json file, you should comment them out or set these two settings to false as well if you want to search all the files and directories in your VS Code project. An example for settings.json where search.exclude and files.exclude are commented out for searching all the files:
{
"search.exclude": {
//"**/Lib": true,
//"**/Scripts": true
},
"files.exclude": {
//"**/Lib": true,
//"**/Scripts": true
},
"search.useIgnoreFiles": false
}
Look here for more info.
1 Comment
consider you have thousand of files in vs code and you want to search for a file with particular name then
- Right click VS code editor.
- Select Command Palete
- In the text box type the file name
1 Comment
I'm using VSCode 1.12.1
OSX press : Cmd + pComments
If you just want to search a single file name
Just Ctrl+P, then type and choose your one
If you want to open all files whose name contains a particular string
- Open search panel
- Put any common words inside those files
- in 'files to include', put the search string with *, e.g. *Signaller*
5 Comments
Put any common words inside those files. That's the issue. I'd love to find every file with a certain name.^(?<![\w\W]) to search bar after toggling "Use Regex", this regex matches the start of file, so it will list all files onceFor windows. if Ctrl+p doesn't always work use Ctrl+shift+n instead.
Comments
To search for specifil file types in visual studio code.
Type ctrl+p and then search for something like *.py.
Simple and easy
Comments
If using vscodevim extension, ctrl + p won't work so I saw another answer using:
ctrl + shift + p
which opens the command palette. Hit backspace to remove the '>' and then start typing your filename.
Comments
Ok, coming from a big Tmux + Vim user that often wants VSCode to "bend to my will", this is how I looked at it.
CMD+Pis sub-optimal when you have a large workspace. The alternative here is to "use less folders in the VSCode workspace" (since VSCode cries and buckles it's knees trying to index things as they are even added) / "use more workspaces". If you use less folders and files, thenCMD+Pfuzzy-search works fineCMD+Fis find IN files, not FOR files. If that's your thing, sure, go for it, but I want to find a file deep in a project quickly and open it up, not drill down 10 levels like a cave man.
What I found works best, is this:
- Click on the folder I am currently working on code changes for on the left side > Open integrated termainl
- Issue `find src/ -name "something*.ts"
CMD + Mouse Clickthe file and voila! Pops into the editor.
The fact I can't right click or CMD+SHIFT+F can't just show me files when it even prepends the path for "files to include" and deep searches the files anyway.... is bonkers to me. The find mechanism with CMD+SHIFT+ already has the capability, just show me the FILES, not what's IN the files as an option. 90% of the work is already there.
So TL:DR, if you want to find a file quickly in a folder, just open a terminal, find it, and CMD + <Mouse Click>.
1 Comment
Check your settings for 'Use Ignore Files' and 'Use Global Ignore Files'. If these are checked, VSCode won't search any folders listed in .gitignore or .ignore
Comments
I ended up installing the extension File Name Search. It displays in the side navigation bar all files that match a name part, so I can open them one by one to check them or process them.
- Ctrl + p: we have to repeat the search for each file
- Ctrl + f in the explorer: it does not search, it just filters files in epanded folders
Here is a demo of a search in explorer followed by a search in the Filename search extension:
Comments
With VSCode 1.75 (Jan 2023), you will have a new file filter option: a 'Fuzzy Match' toggle.
That comes from issue 116286: Tree: Support continuous find
In a list of files I can filter them by start typing the name of the file. It is a super useful feature when you have hundreds+ files.
My issue is that the filter is trying to find the letters in the whole file name.
Here is an example search for word "file":this-is-**file**-i-looked-for.jpeg (I expect this to be returned) **f**or-th**i**s-**l**.jp**e**g (This should not be returned, it is only a random match)Would it be possible to add there extra settings to only returns full strings matches? Or is there some setting already buried somewhere?
Solution: adding a 'Fuzzy Match' toggle button to the tree find widget.
https://user-images.githubusercontent.com/6726799/199584855-b57f8efe-0efa-4e97-8523-6fb26d61a951.gif
New options:
defaultFindMatchTypeSettingKey.fuzzy: Use fuzzy matching when searching.defaultFindMatchTypeSettingKey.contiguous': Use contiguous matching when searching.
3 Comments
tl;dr
Use right arrow key!
Opens files in tabs, without closing current search!!!
Full Steps
| ⌘+p |
| 🔎 |
| ⬆️ / ⬇️ |
| ➡️ |
In-depth / Explanation
1 Open command palette
cmd + p
2 Search
Type name of file you're searching for
3 Up/Down Highlight
Use up/down arrows to highlight file you want to open
4 Right Arrow
Use right arrow key to open highlighted file in new tab
Comments
2024 solution finding file with SEARCH view
Demo: https://i.imgur.com/2CJy9ix.png
- Go to SEARCH ( Ctrl + Shift + F )
- Enter phrase for searching first char regex :
^(?<!\n). - Enable option in this input Use Regular Expression (Alt + R)
- Focus on files to include
- Type
* - Before
*start typing file name
Search works for filenames!
Bonus: You can switch to View as List or Tree in Search options
This regex variations see: https://stackoverflow.com/a/60091371
Comments
Explore related questions
See similar questions with these tags.