How to run Visual Studio Code as root
Solution 1:
It is very dangerous to run VScode as root (as it is any other application) however, should you absolutely need to:
You must specify the user data directory to use when running vs code:
sudo code --user-data-dir="~/.vscode-root"
Then from the window you can open your project folder
Again: This is not recommended. Have fun.
Update May 2018
For everyone asking why this isn't recommended, you clearly don't understand why sudo
even exists. From this AskUbuntu Question:
It defeats the security model that's been in place for years. Applications are meant to be run with non-administrative security (or as mere mortals) so you have to elevate their privileges to modify the underlying system. For example, you wouldn't want that recent crash of Rhythmbox to wipe out your entire /usr directory due to a bug. Or that vulnerability that was just posted in ProFTPD to allow an attacker to gain a ROOT shell.
It's just good practice on any operating system to run your applications on a user level and leave administrative tasks to the root user, and only on a per-need basis.
I'm not saying that you should never use VSCode as root(though its pretty easy to avoid doing) I'm saying you should be careful when you want to do so and know the risks.
The absolute best thing to do to is make a copy of a restricted file, edit it, and copy it back when you're absolutely sure it's finished.
Also for editing files to which your user does not have permissions, I would now recommend Talha Junaid's answer which asks for permissions every single time you want to save a file. The prompt for root access did not exist when I wrote this answer.
Solution 2:
Just in case you want make changes to a single file I would prefer the following approach.
- Run vs-code as regular user.
- make changes to file
-
File -> Save
or pressCtrl + S
-
vs-code will pop up error in right bottom corner saying
Failed to save 'grub': Insufficient permissions. Select 'Retry as Admin' to retry as administrator
-
Click on
Retry as Admin
. It will ask for administrator credentials Enter credentials and enjoy saving files with vs-code.
Solution 3:
to open vs-code as root, open terminal and:
sudo code /directory-to-open --user-data-dir='.' --no-sandbox
make sure you check this too: https://stackoverflow.com/a/68637450/10606346