98

我正在使用 Visual Studio Code V 1.31.1。我使用了输入功能,但我无法在输出面板中写入输入,它显示此错误

无法在只读编辑器中编辑。

请帮我解决这个问题。

4

17 回答 17

139
  1. 转到文件>首选项>设置然后
  2. type: run code并向下滚动直到看到 code-runner: Run in terminal,将有多个选项称为“code-runner”。在那里,您可以找到下面提到的选项。
  3. 只需检查“是否在集成终端中运行代码”和
  4. 重启vscode。

对于 Mac 用户,它是Code > Preference > Settings

于 2019-02-26T06:19:25.850 回答
21

如果您在 Ali NoumSali Traore 的回答中找不到代码运行器的位置,请执行以下操作:

  1. 转到扩展程序 ( Ctrl + Shift + X)
  2. 找到代码运行器并单击代码运行器右下角的设置图标
  3. 单击配置扩展设置
  4. 查找code_runner:在终端中运行
  5. 勾选“是否在终端运行代码”
于 2019-07-30T14:11:37.073 回答
8

您在“输出”选项卡而不是终端中。输出选项卡实际上仅供您阅读。

在此处输入图像描述

F5开始Debugging,它将带您进入终端选项卡。

终端是交互式的,因此您可以读取输出并返回。它确实是一个控制台提示符/终端(因此得名)。

在此处输入图像描述

于 2019-09-30T09:55:11.057 回答
7

我在与以前版本进行代码比较期间收到此错误,它不允许我在右窗口中编辑当前版本。与我怀疑 OP 的问题无关,但这是我搜索的第一个线程,错误是相同的。反正...

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

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

于 2019-06-05T15:01:04.817 回答
5

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

之后,在搜索栏中搜索代码运行器,然后向下滚动并搜索在终端中运行并选中该框,如下图所示:

于 2020-09-25T10:59:12.113 回答
3

有同样的问题。这就是我所做的,它让我得到了我想要的结果。

  1. 转到 Visual Studio 代码的终端。
  2. cd 到包含您编写和运行的代码的文件的目录。让我们将程序称为“ xx.cpp
  3. 类型g++ xx.cpp -o a.out(创建可执行文件)
  4. 要运行您的程序,请键入./a.out
于 2019-07-26T13:53:12.827 回答
2

我收到了与@jgritten 相同的错误。就像@jgritten 在我面前的评论一样,我“取消暂存”并重新打开了 vscode 和文件。现在我再次“上演”了它。没有出现“无法在只读编辑器中编辑”错误。

希望这可以让任何在 vscode 中使用 git 暂存文件后可能遇到类似错误的人放心。

于 2019-07-15T11:06:52.897 回答
2

我在 VSCode 中使用SFTP扩展时遇到了这个问题。在这种情况下,您只需右键单击文件中的某处并选择“在本地编辑”

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

于 2020-11-12T13:48:01.577 回答
1

如果您的代码从用户那里获取输入,则您不能只使用输出选项卡。正如 Jordan Stefanelli 所说,您必须使用任何终端。

  1. 只需转到终端选项卡并选择 powershell 或默认终端
  2. 键入 python Nameofile.py
  3. 你将能够输入
于 2020-04-20T01:02:43.907 回答
1

Cannot edit in read-only editor停止调试模式后尝试编辑代码时出现错误(按 2-3 分钟后)Shift+F5

原来默认的 Node 版本(v9.11.1)没有正常退出,让 VScode 卡在只读状态。
只需添加"runtimeVersion": "12.4.0"到我的 launch.json 文件即可修复它。

DEBUG CONSOLE或者,将您的默认 Node 版本更改为最新的稳定版本(您可以在启动调试模式时看到当前版本)。

于 2020-11-18T10:31:51.300 回答
0

正如@Jordan Stefanelli 的回答:如果您遇到与我相同的问题,即集成终端无法读取来自用户的输入,如下所示(环境 Windows 10)

在此处输入图像描述

我的解决方案是用mingw64替换 cygwin 的 gdb 和 g++ 。

那么输入输出正常

在此处输入图像描述 您也可以启用“外部控制台”选项来解决它:)

您可以通过在launch.json中启用“externalConsole”:true来更改它,然后您将获得一个可以输入的弹出控制台窗口。

于 2019-11-27T08:01:16.450 回答
0

简短回答: 安装“Code Runner”扩展后,您只需右键单击要执行的代码的选定部分并在“输出”选项卡中查看它。

于 2020-11-23T14:19:32.763 回答
0

单击文件并将鼠标悬停在首选项上。在那里你会找到第一个选项作为设置,然后单击它。那里搜索运行代码。并滚动并找到选项代码运行器:在终端中运行。现在检查它下面的选项

于 2020-12-19T06:13:43.583 回答
0

我遇到了同样的问题,即使我将代码运行器启用为 true,我仍然无法让我的 vsc 终端运行。快速修复是@Jordan Stefanelli提到的。我在启动部分添加到我的 setting.json "externalConsole":true,

"launch": {      
    "externalConsole":true,
    "configurations": [],
    "compounds": []
}
于 2021-03-31T11:49:13.933 回答
0

这是简单的方法:在您的错误“无法在只读编辑器中编辑”上方会有一个指向您的 cpp 代码文件的路径,如果您在 Linux 上运行,它可能看起来像这样:

cd "/home/jacksparrow/Documents/projects/" && g++ exams.cpp -o exams && "/home/jacksparrow/Documents/projects/"exams

因此,您所要做的就是“复制(ctrl+shift+C)该路径地址并将其粘贴(ctrl+shift+V)到终端窗口中,然后在输出和调试控制台窗口旁边按回车键”。这对我有用,希望它也对你有用。

于 2021-05-07T17:23:55.390 回答
0

在 VS Code 中,安装代码运行器。运行文件时,请在输出窗口或终端中指定运行文件的方式。为了获得更好的体验,请确保您选择了终端。

于 2021-05-12T12:10:59.953 回答
0

我安装了https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner并开始为我工作。

于 2022-02-07T03:29:34.123 回答