43

In class we had a hotkey for using the terminal with the currently choosen directory. I fixed an issue now with the debugger and everything seems to run smoothly now. Yet, what hotkey fixes this issue?

Mark
  • 143,421
  • 24
  • 428
  • 436
Dimitri Williams
  • 628
  • 1
  • 6
  • 18

3 Answers3

45

With VSCode 1.39 (Sept. 2019), no more plugin needed.
You now can "Open new terminals with custom working directories"

There is a new command that allows the creation of terminals with a custom current working directory (cwd):

{
  "key": "cmd+shift+c",
  "command": "workbench.action.terminal.newWithCwd",
  "args": {
    "cwd": "${fileDirname}"
  }
}

You can create your own keyboard shortcuts to open new terminals in any number of handy working directories.
The cwd value can either be a normal path or a variable.

VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • Haven't needed a plugin to change the current terminal working directory for a few months. – Mark Oct 10 '19 at 02:03
  • @Mark Agreed. This is for creating a *new* terminal. – VonC Oct 10 '19 at 04:58
  • Yes, as detailed in my linked answer ;>} – Mark Oct 10 '19 at 12:28
  • Thanks, but for a newbie coming from Atom, what do I actually have to do?! Where is that snippet? – Pithikos Oct 10 '22 at 10:31
  • @Pithikos You can see it in action in https://github.com/microsoft/vscode/issues/156461. But that issue also illustrates it might not always work as well as expected. – VonC Oct 10 '22 at 11:44
  • The shortcut mentioned above is not working for me, - `CTRL+Shift+H` is already a keyboard shortcut for `workbench.action.replaceInFiles`. (Probably a change in newer VS Code versions) – Gangula Nov 10 '22 at 04:05
  • @Gangula Thank you for the feedback. I believe this is now Ctrl+Shift+c. – VonC Nov 10 '22 at 06:29
  • `Ctrl+Shift+c` opens Windows Command prompt (cmd), it doesn't open the integrated terminal. Is that the expected behaviour? – Gangula Nov 10 '22 at 13:54
  • @Gangula Yes it is. I did not found `newWithCwd` with the latest VSCode versions. – VonC Nov 10 '22 at 14:10
21

For a hotkey to quickly set your terminal folder to your current directory, see How to quickly change shell folder to match the currently open file

{
  "key": "alt+t",
  "command": "workbench.action.terminal.sendSequence",
  "args": {"text": "cd '${fileDirname}'\u000D"}
},

This will change your current terminal, not open a new terminal - if you want to do that see the link above as well for the new command recently added to vscode.

Note that on windows, you must use the following instead:

"args": {"text": "cd /d \"${fileDirname}\"\u000D"}

This is because on Windows, the /d parameter must be used with cd to switch drives.

vacer25
  • 35
  • 2
  • 6
Mark
  • 143,421
  • 24
  • 428
  • 436
9

By default, the terminal will open at the folder that is opened in the Explorer. The hotkey for that depends on your operating system, in my case, on macOS, it's + `, on Windows I think it's ctrl + j.

If you want to open at a specific folder you can change that behaviour with this setting:

{
    "terminal.integrated.cwd": "/home/user"
}

If you want to open at the current file's directory you can install an extension like Terminal Here.

You can change the shortcuts/hotkeys for many actions on Code. For that open the Keyboard Shortcuts editor under File > Preferences > Keyboard Shortcuts and search for Toggle Integrated Terminal.

enter image description here

Diogo Rocha
  • 9,759
  • 4
  • 48
  • 52
  • Thank you for your answer! Our professor showed us a hotkey, so I want to ask now in the industry would people use a hotkey or terminal here. Is there not a hotkey I can set ? I found two more convenient ways for me. Where do I add this in the json.file for user settings ? – Dimitri Williams Apr 13 '19 at 18:02
  • Hi @DimitriWilliams, I edited my answer, check it out. Let me know if you need more help. – Diogo Rocha Apr 13 '19 at 18:08
  • Hi @Diogo Rocha this is exactly what is not working. I can open the terminal, but not the directory where I opened the file, where I am writing code. I changed File > Preferences > Keyboard Shortcuts and search for Toggle Integrated Terminal. To a Key Command / Hotkey and it only opens the workspace folder, not the folder with the code inside the terminal. – Dimitri Williams Apr 13 '19 at 18:20
  • So I would suggest you to install the "Terminal Here" extension, and set a custom keyboard shortcut for that. – Diogo Rocha Apr 13 '19 at 18:36
  • That helped and worked immediately, I will remember this till the end of the extension. Thank you! – Dimitri Williams Apr 13 '19 at 18:56