我遇到一个问题,我只能使用该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。
答案1
您可以在 Windows 中启动 Visual Studio Code,然后使用它连接到 WSL 系统并打开要编辑的任何文件。这几乎与通过 SSH 远程编辑另一台计算机上的文件的方式相同(可以从 Windows 和 GNU/Linux 客户端进行,并且本身与 WSL 分开)。从用户界面的角度来看,唯一的区别是您选择连接哪个菜单项。此外,根据出现的问题,设置该过程的过程可能还可以使code
命令按照您希望的方式工作。
我建议安装远程开发扩展包如果你还没有安装,可以在 Visual Studio Code 中安装。但实际上你只需要远程 - WSL扩展。(远程开发扩展包会安装该扩展以及其他扩展,以便通过 SSH 在非 WSL 系统上进行远程编辑。)您可以从 Visual Studio Code 中安装它;这些链接主要供参考。安装后,您可以应该能够code
在 WSL 系统内部运行并在连接到 WSL 系统的主机系统上打开编辑器窗口,尽管我始终发现这很尴尬。
请注意,在 WSL 系统内安装 Visual Studio Code 本身(即客户端程序)不受支持,即使在具有 VcXsrv 等 X 服务器的 Windows 系统上也不太可能工作(其他图形化 Ubuntu 程序通常在该系统上运行)。 (我试过了。)如果您在 WSL 系统中安装了 Visual Studio Code 包,我建议将其删除,这样做甚至可以让您的code
命令开始正常工作。
无论如何,你可以在编辑器中连接到 WSL 系统,这是我推荐的。安装必要的扩展后,你应该> <
在每个 Visual Studio Code 窗口的左下角看到一个按钮,上面有鼠标悬停文本打开远程窗口。
单击该按钮后,窗口顶部会出现一个菜单,其中包含启动远程编辑的各种操作。您可能需要选择Remote-WSL:新窗口大多数时候。
在新窗口的左下角将显示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 系统)。您可能已经有这样的 shell;如果没有,请按Ctrl+ `。
它的工作原理是 Visual Studio Code 实际上运行一个单独的服务器远程系统(在本例中为 WSL 系统)上的程序。它将文件存储在~/.vscode-server
该系统上的主目录中。当连接到实际的独立计算机(或虚拟机)时,该目录仍会被使用,即使这些系统也恰好安装了普通的(即客户端)Visual Studio Code。code
在远程计算机上运行的 shell 中运行命令以通过远程连接打开文件仅支持 WSL(不支持其他远程设备),即使使用 WSL 也可以轻松完成。
最后,请注意,你不应该期望你的远程编辑窗口与你的常规编辑窗口有不同的配色方案(比如你在我的窗口中看到的蓝色),除非你已经设置了。没有不同的配色方案并不意味着有什么问题。