只能读取的编辑器中无法编辑 VS Code

124

我正在使用 Visual Studio Code 版本 1.31.1。我使用了一个输入函数,但无法在输出面板中写入输入,它显示了以下错误信息:

不能在只读编辑器中编辑。

请帮我解决这个问题。


似乎您没有写入此文件的权限,请尝试在另一个编辑器中进行编辑。 - pwxcoo
由于输出面板是只读的,因此您无法在VS Code的输出面板中输入数据。 - Roshan
你已经找到答案了吗,@Asif? - Anjani Dhrangadhariya
顺便说一句,你不需要使用F5或CTRL F5来运行你的代码,你可以直接使用终端。 - CrazyVideoGamer
如果此错误显示为sftp扩展,请跳转至以下网址:https://dev59.com/_VQI5IYBdhLWcg3w-Qr_ - wkille
21个回答

153
  1. 打开 文件 > 首选项 > 设定,然后
  2. 输入:run code并向下滚动,直到看到code-runner: Run in terminal,那里会有多个名为“code-runner”的选项,在其中找到下面提到的选项。
  3. 只需勾选"Whether to run code in integrated terminal"并
  4. 重启 vscode。

对于 Mac 用户,它是 代码 > 首选项 > 设置


在顶部的搜索栏中输入@RameshPareek。 - EliadL
4
非常顺利 - 我只是搜索了“是否在综合终端中运行代码”,并得到了一个需要检查的结果。 - Hidayt Rahman
在 macOS 中,点击 code>preference>settings,然后在设置选项卡的顶部搜索栏中输入 "code-runner",向下滚动并仔细检查,找到以下选项:code-runner: Run in terminal,勾选复选框。 - Carl Lee
8
我找不到那个设置。 - carlo
@carlo 这个设置可能不容易找到,因为它是针对一个扩展的,这不是标准的 vscode。而且,以防万一,它运行代码,而不是用于调试。 - Dan Ortega

26

如果您找不到Ali NoumSali Traore所说的代码运行程序,可以按照以下步骤进行:

  1. 进入扩展(按Ctrl + Shift + X
  2. 找到代码运行程序,并点击代码运行程序右下角的设置图标
  3. 单击配置扩展设置
  4. 找到code_runner: Run in terminal
  5. 勾选“是否在终端中运行代码”

9
我没有代码运行器,但安装它也无法解决问题。 - carlo
另外, 设置 [Ctrl + ,] -> 复选框 Code-runner:运行前保存所有文件 - Jatin Chauhan

13

在与之前版本进行代码比较时,我遇到了这个错误,导致无法在右窗口中编辑当前版本。虽然与我怀疑的 OP 问题无关,但这是我搜索到的第一个线程,而且错误一样。无论如何...

我的问题是,这个特定文件在我源代码控制中是“暂存”的。这似乎限制了通过打开“索引”版本进行比较的编辑。

解决方案:取消暂存该文件,并重新打开比较窗口。


3
@Roshan Op 无法编写并收到了此错误。我甚至提到它与此无关,但错误仍然相同,所以我加入了我的意见。接受或离开。 - jgritten
2
完全就是我的问题,感谢你的建议。 - Dovev Hefetz
完全就是我的问题,感谢你的建议。 - Gust van de Wal

12
你现在处于“输出”选项卡而不是终端中。 实际上,“输出”选项卡只用于阅读。

enter image description here

按下F5开始调试,它会带你进入终端选项卡。
终端是交互式的,所以你可以阅读输出并输入命令。它确实是一个控制台提示符/终端(因此得名)。

enter image description here


6

最简单的解决方法是在VS Code中按下(CTRL)和(,),打开设置。

之后,在搜索栏中搜索code runner,然后向下滚动并搜索Run In Terminal,选中下面图片中突出显示的框:


5

我在使用VSCode的SFTP扩展时遇到了这个问题。在这种情况下,您只需右键单击文件中的任何位置,然后选择“在本地编辑”即可。

输入图像描述

输入图像描述

输入图像描述


它只编辑本地文件,不会编辑服务器上的文件。 - Neo

4

我的问题与原帖不同。我试图比较提交之间的文件更改。当我在差异视图中看到一些问题时,我无法编辑文件,并得到与原帖相同的消息。为了解决这个问题,不要在差异视图中打开文件。右键单击它,然后选择“打开更改”>“使用工作文件打开以前的更改”。这个视图将允许您在比较时进行编辑。希望这可以帮助。

enter image description here


我在1.74.1版本中也遇到了同样的问题,而且我没有打开 "工作文件" 的选项。他们在做什么?这是一个很棒的功能,可以在比较时进行编辑。 我可以选择一定范围,然后右键单击并选择“还原所选范围”,上下文菜单中的选项都在,但无法使用。这是VSCode中缺少的Visual Studio的杀手级功能。 - user1325696

3

我曾遇到同样的问题,以下是我所做的,这使我得到了想要的结果。

  1. 打开Visual Studio Code的终端
  2. 切换到你所写代码的文件目录下,我们假设程序名为 "xx.cpp"
  3. 输入"g++ xx.cpp -o a.out"(创建一个可执行文件)
  4. 运行程序,输入 "./a.out"

2
我收到了与 @jgritten 相同的错误。就像在我之前的评论中,@jgritten 也这样做:取消暂存文件并重新打开 VS Code。现在我再次进行了暂存操作。错误“无法在只读编辑器中编辑”没有出现。
希望这能让任何在使用 git 在 VS Code 中暂存文件后遇到类似错误的人感到安心。

2

针对 Jupyter 笔记本 / 交互式代码单元的调试:

当您运行 Debug Cell 时,有时会发现在停止调试进程后无法进行编辑。

尽管听起来很傻,但请检查您打开的文件选项卡。

调试器似乎会打开一个只读副本,该副本与具有相同名称的工作文件分离


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接