VSCode Navigate Back local to current file only? - visual-studio-code

Is there an option in VSCode to limit "navigate back" such that it only takes you back to where you cursor was last in your current file?
This is the current behavior:
(On file A) open method foo
(On file A) open method bar
(On file B) open method baz
(On file A) open method bor
If I navigate back when I am on bor, my cursor will land on baz in file B.
Will it be possible to change this such that I land on bar in file A in stead?

From the issue cited below:
Added a new setting workbench.editor.navigationScope that can be
configured to editor to limit navigation actions such as "Go back"
and "Go forward" to the current active editor group.
workbench.editor.navigationScope
Should be in v1.65.
This functionality doesn't exist, see open issue: Have a history per editor for in-editor navigation.
However, in some cases like your simple example, Cursor Undo ,Ctrl+U, will work as you want. But it is pretty limited. Upvote the issue.

Related

"Go to Definition" always in new tab in VSCode

I installed VSCode on MAC BigSur. Whenever I click on "Go to Definition" it should open in a new tab. How to achieve this?
Currently, only if the definition is present in another file, the definition opens in a new tab. Otherwise if present in the same file it scrolls to the definition in the same file which is not desired. In either case, function definitions should open in a new tab.
As written in the official documentation, you can open the definition to the side with Ctrl+Alt+Click.

save search on visual studio code

I am having a trouble with VS code. I would like to save the search results so I can get back to it again. specially since there is a lot of results and I do delete/filter them manually by clicking on x dismiss button.
I used the Open in editor, which open new tab with all results however it's not useful since I can browse the results quickly or reopen it again in the search pane.
Regards,
From I believe version 1.41 of VSCode you have a separate search editor which I guess will do what you're looking for.
Just open you command palette and search for "Open search editor". You will be presented with a couple options (open and open to the side).
When you have some search results which you want to save, you can click on the "Open in Editor" link shown next to the results summary.
This will open a text file with the similar search bar on top, and your current search results will be loaded in a text file format. You can press Ctrl-S or use File > Save to save it in a .code-search file.
You can close and re-open this file any time to view the results. You can click "Search Again" to refresh the results (note, this will lose any customization and bring back dismissed results). You can use Ctrl-click to jump to files or lines mentioned in the search results.
Unfortunately you cannot reload this back into the search pane (AFAIK). However, since Editor pane can be split, you can split this file's editor to a separate pane on the side, and close the Search pane.

See unsaved changes in vscode

Sometimes when closing vscode, or a tab therein, I get a dialogue asking "Do you want to save the changes you made to filename?" However, the unsaved edits are actually from a previous session that was closed without such a query, probably when turning off the computer, so I can't remember if it was meaningful edits, or maybe just an accidental key-press, like a shortcut gone wrong; and doing undo to revisit the last edits doesn't work either.
My question: How can I see the diff between the saved version of a file, and the version in the editor window? I think it would be nicest just to have a "show diff" option in the dialogue, but for now I'm also happy with a command line diff command.
I'm using ubuntu 20.04.
I'm using VSCode version 1.52.1 on MacOS and I had a similar problem that may not be the same problem, but I'm guessing it will work for you as well.
When you're in the Explorer view, in the upper left part of Explorer you have your "Open Editors." If that shows a dot to the left indicating that the buffer has changes in it, you can right click the file name and select "Compare with Saved." This will open another buffer to the side that will show you any unsaved changes.
To get rid of that window (it took me a bit to figure this out I'm sorry to say!), you can click the 'X' to the left of the extra buffer in "Open Editors."
Hope this works for you!
A few bright notes for the keyboard players out there:
The command you are asking about has a default shortcut. Unless you've applied a keyboard map extension, the Ctrl+Kd arpeggio opens the very same diff view between the active and saved versions of the current file. The default shortcut to close an editor tab (be it the diff or a file or anything at all) is Ctrl+W.
The command, like any command in VSCode, is also accessible via the Ctrl+Shift+P command dropdown (on Linux, F1 opens it too). Start typing e.g. compa sav (it saves your keyboard wear and tear to shorten words to a prefix which is unambiguous enough), and the list will shrink dynamically to just a few commands. Yours is File: Compare Active File with Saved. When it's close to the top enough, navigate the list of commands with the down arrow and execute it with Enter. As a bonus, you may click on the little gear to the right of the command currently highlighted in the list and redefine its shortcut, if you use it very often and prefer a chord shortcut to the default arpeggio one. Sorry, there does not seem to be a shortcut in lieu of the gear click. If there is, please let me know!
But if you really, really want to right-click on the filename in the Open Editors view of the Explorer sidebar, you can open that view directly with, you guessed it, a shortcut: Ctrl+Ke. And if you change your mind on a dime right at this moment, or realize that you in fact never had a mouse to do the right-click in the first place, use Shift+F10 to drop down the "right-click menu", properly called the context menu, which you navigate with arrows and execute with Enter (that's kinda a common theme, as you probably noticed). This works mostly anywhere the right-click does.
While in the Open Editors view, to switch to an editor file tab, move the selection to the desired file. Press Space to bring the file into view but stay in the Open Editors view, or Enter to bring the file into view and shift the keyboard focus to it. Pressing Ctrl+Shift+E brings focus back to the editor from any view in the Explorer sidebar. The same shortcut moves focus to the Explorer sidebar from the editor.
Happy ♬ k'boarding ♬!
ctrl+shift+P (or command+shift+P on mac) and fuzzy search for "compare changes with saved files"

VSCode: "Markdown Preview" SHIFT-COMMAND-P not working

Setup:
VSCode 1.50.1
MacOS High Sierra (10.13.6) - but I think this applies to any OS
Steps to Reproduce:
this is a quick simple one...
click on/hghlight/open a markdown file (.MD extension) in VSCode / from the Explorer tree hierarchy in the Left Nav Pane,
hit SHIFT-COMMAND-V per numerous instructional posts/tutorials - (you can also find the shortcut clearly labeled with that very same Shortcut Key-Combo:
if you RIGHT-CLICK on the file in question...
you will get a Context Menu with several options, include Markdown Preview
hitting the stated key combo of SHIFT-COMMAND-V does nothing,i.e.:
no observable effect in current window or tab
does not open any other tabs
does not render markdown
BEFORE YOU DO ANYTHING:
--
This may seem STUPID/OBVIOUS to most of you... I think I was still asleep when I first tried this... so:
make sure that your cursor is ACTIVE in your .MD markdown document, and NOT active on the filename in the Explorer
Tree in the left-hand Nav
apparently, in VSCode this shortcut SHIFT-COMMAND-V only works when you are ACTIVELY EDITING the file.
using the mouse on the RIGHT-CLICK context menu works fine
even if the .MD file isn't open AT ALL / in ANY EDITOR
even if you're actually actively editing A DIFFERENT FILE, if you hover over the filename in the Explorer/File-Folder Hierarchy,
RIGHT-CLICK and launch Mark Preview, it will work.
Quick Solution:
You most likely have a VSCode "Extension" installed and enabled within VSCode that is blocking the default VSCode shortcuts
in my case, this was Atom Keymap Extension (Here's link to extension in VS Marketplace)
IN VSCode, go to Extensions, find (you can search in the search bar at the top of the Extensions list/Nav Pane) Atom Keymap and UNINSTALL IT
alternately, you can just simplt DISABLE IT if you prefer to use it another time.
restart VSCode
SHIFT-COMMAND-V shortcut SHOULD BE WORKING NOW!
Troubleshooting:
Key Combo not recognized in VSCode (at least in VSCode, see#2 if blocked elsewhere)
If you look at the very bottom-middle/bottom-right of the VSCode window, you will notice the Status Bar (by default the whole bar is bright blue with white text)..
the status bar has several different sections, symbols, and text messages...
you will notice it changes/will indicate when you press a VALID Key-Combo... and that SHIFT-COMMAND-V literally does not result in ANY message on the status bar
But hitting COMMAND-V for instance is reflected in a real-time corresponding message in the status bar telling you that you DID press COMMAND-V
It appears NOT for any Key-Combo that includes SHIFT isn't recognized
confirm it's a VSCode thing only
go to your MacOS System Preferences > Keyboard > Shortcuts > look through each category of shortcuts - you should NOT SEE a key mapping for SHIFT-COMMAND-V

How to prevent VSCode from opening same file multiple times?

Assume you have index.js and service.ts in the side explorer. When I click on index.js, it opens in a view A. Then I open service.ts in a separate view B right to the first one and keep the focus in B and then click on index.js in the sidebar, it also opens in B. Can VS Code be configured such that instead of opening the file again, it switches to the already open one?
Additionally, if I really want the file open twice, I could open it a second time by double clicking it or dragging it to the view where it isnt present already.
If I understand correctly, try this setting set to true:
"workbench.editor.revealIfOpen": true,