使用 Visual Studio Code 作为编辑器,例如使用 sudoedit

kev*_*der 3 editors sudoedit visual-studio-code

我使用的是 Kubuntu 20.04。

当我运行时sudoedit /etc/fstab,VS Code 将打开一个空白文档,并且 CLI 立即返回(请参阅下面的详细信息)。

如果我运行export SUDO_EDITOR=nano,文档将在 nano 编辑器中打开,其中内容符合/etc/fstab预期。

如果我运行export SUDO_EDITOR=/snap/bin/code,它会再次打开带有空白文档的 VS Code。

我究竟做错了什么?或者这是一个错误?


kevin@kevcoder00 ~ $ echo $VISUAL

kevin@kevcoder00 ~ $ echo $SUDO_EDITOR

kevin@kevcoder00 ~ $ echo $EDITOR
/snap/bin/code
kevin@kevcoder00 ~ $ sudoedit /etc/fstab 
[sudo] password for kevin: 
sudoedit: /etc/fstab unchanged
Run Code Online (Sandbox Code Playgroud)

Ste*_*itt 13

你需要告诉编辑稍等:

SUDO_EDITOR="/snap/bin/code --wait" sudoedit /etc/fstab
Run Code Online (Sandbox Code Playgroud)

如果没有该选项,VS Code 会分叉或通知已在运行的实例,并且控制权会立即返回到sudoedit. 后者发现没有任何更改,并删除用于编辑目的的临时副本。(Snap 可能有助于实现这种效果,但 VS Code 本身就需要这样做。)

另请参阅如何在 Gnu/Linux 的 GUI(和 CLI)中正确编辑系统文件(以 root 身份)?