我遇到了一个问题,我只能使用该nano
命令编辑 .bashrc 或 .zshrc 文件。
当我输入code .bashrc
它时,它只会打开一个空的 .bashrc 文件。它在nano
shell 中工作,并通过命令正确显示文件nano .bashrc
,但我讨厌通过 nano 编辑文件,我宁愿在 Visual Studio 上这样做,不知道如何解决这个问题,以便 Visual Studio Code 可以读取 . 文件?
地狱,即使在使用 编辑普通文件(即未隐藏的文件.
)时code
,虽然它可以工作,git status
但不会注册更改,但如果文件是使用 编辑的,它会注册它nano
。作为一个不喜欢通过 shell 进行编辑的人,这让我非常沮丧,这让我考虑回到 Git Bash.. 尽管我更喜欢在 WSL 上使用 zsh。
您可以在 Windows 中启动 Visual Studio Code,然后使用它连接到您的 WSL 系统并打开您要编辑的任何文件。这与在另一台机器上通过 SSH 远程编辑文件的方式几乎相同(可以从 Windows 和 GNU/Linux 客户端完成,并且它本身与 WSL 是分开的)。从用户界面的角度来看,唯一的区别是您选择连接哪个菜单项。此外,根据出现的问题,设置过程也可能使
code
命令按您想要的方式工作。如果您还没有安装远程开发扩展包,我建议您在 Visual Studio Code 中安装。但实际上,您只需要Remote - WSL扩展即可。(远程开发扩展包安装该扩展以及其他扩展,以便通过 SSH 在非 WSL 系统上进行远程编辑。)您可以从 Visual Studio Code 中安装它;这些链接主要供参考。安装后,您应该能够
code
从 WSL 系统中运行并打开连接到 WSL 系统的主机系统上的编辑器窗口,尽管我总是觉得这充其量是尴尬的。请注意,不支持在 WSL 系统中安装 Visual Studio Code 本身,即客户端程序,即使在具有 X 服务器(如 VcXsrv)的 Windows 系统上也不太可能工作,而其他图形 Ubuntu 程序通常可以在其上工作。(我试过了。)如果你在 WSL 系统中安装了 Visual Studio Code 包,我建议你删除它们,这样做甚至可以让你的
code
命令开始正常工作。无论如何,您可以在编辑器中连接到 WSL 系统,这是我推荐的。安装了必要的扩展后,您应该
> <
会在每个 Visual Studio Code 窗口的左下角看到一个按钮,鼠标悬停在文本Open a remote window上。单击该按钮时,窗口顶部会出现一个菜单,其中包含启动远程编辑的各种操作。大多数情况下,您可能希望选择Remote-WSL: New Window。
在新窗口的左下角,它将显示WSL: Ubuntu。
如果您在远程编辑窗口中打开一个文件,那么您将获得 Visual Studio Code 中的菜单,而不是向您显示本机文件打开对话框,通过这些菜单您可以导航到您连接到的系统中的任何位置。在这种情况下,这就是您的 WSL 系统。按Ctrl+O打开单个文件。您也可以在此模式下打开文件夹(以通常的方式),您可能经常想要这样做,尤其是如果您希望在编辑器中集成 Git。但是对于
.bashrc
就地编辑文件,您可能不想这样做。在您按Ctrl+时出现的菜单中O,它应该显示 ,但使用您的用户名(在 WSL 系统上)代替. 例如,它对我说。如果是这样,那么您来对地方了。如果向下滚动,您可能会看到列出的内容,但您可以简单地输入,因此它会显示。然后按或单击。
/home/you/
you
/home/ek/
.bashrc
.bashrc
/home/you/.bashrc
EnterOK你可以用同样的方法打开其他文件;此程序并不特定于
.bashrc
.打开文件后,您可以对其进行编辑并保存更改。修改是在 WSL 系统内进行的。
尽管您需要打开一个文件夹才能在编辑器中集成 Git(就像您在本地编辑时通常所做的那样),但您可以使用 Git 并从终端执行其他操作。当您在远程编辑窗口中打开终端时,该终端会在您连接到的系统上为您提供一个 shell(在本例中是您的 WSL 系统)。你可能已经有了这样的外壳;如果没有,请按Ctrl+ `。
其工作方式是 Visual Studio Code 实际上在远程系统(在本例中为 WSL 系统)上运行一个单独的服务器程序。它将其文件存储
~/.vscode-server
在该系统上的主目录中。当连接到实际的单独机器(或虚拟机)时,仍然使用该目录,即使这些系统也恰好有正常的(即客户端)Visual Studio Code 安装。只有 WSL(不支持其他远程)支持在远程计算机上运行的 shell 中运行code
命令以通过远程连接打开文件,即使没有 WSL,也可以轻松完成。最后,请注意,您不应期望您的远程编辑窗口具有与常规编辑窗口不同的配色方案(如您在我的窗口中看到的蓝色),除非您已设置。没有不同的配色方案并不意味着有任何问题。