【问题标题】:Cannot edit in read-only editor VS Code无法在只读编辑器 VS Code 中编辑
【发布时间】:2019-07-18 06:38:35
【问题描述】:

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

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

请帮我解决这个问题。

【问题讨论】:

  • 好像你没有权限写这个文件,试着用别的编辑器编辑一下。
  • 你不能在 VS Code 的输出面板中输入数据,因为它是只读的
  • 你找到答案了吗@Asif?
  • 顺便说一句,你不需要使用 F5 或 CTRL F5 来运行你的代码,你可以使用终端来代替。
  • 如果 sftp 扩展显示此错误,请跳到下面的stackoverflow.com/questions/54856374/…

标签: visual-studio-code


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

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

【讨论】:

  • @RameshPareek 在顶部的搜索栏中。
  • 像魅力一样工作 - 我刚刚搜索了 whether to run code in integrated terminal 并找到了一个要检查的
  • 在macOS中,点击code>preference>settings,然后在setting选项卡的顶部搜索栏中输入“code-runner”,向下滚动仔细查看,找到如下选项:code-runner : 在终端运行,勾选复选框。
  • 我找不到那个设置
  • @carlo 这个设置可能找不到,因为它是用于扩展的,这不是标准的 vscode。以防万一,它运行代码,而不是用于调试。
【解决方案2】:

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

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

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

【讨论】:

  • @Roshan Op 无法写入并收到此错误。我什至提到它是不相关的,但错误是一样的,所以我加了我的 2 美分。要么接受,要么离开
  • 正是我的问题,谢谢你的 2 美分
【解决方案3】:

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

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

【讨论】:

    【解决方案4】:

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

    1. 转到 Visual Studio 代码的终端。
    2. CD 到包含您编写和运行的代码的文件的目录。让我们将程序称为“xx.cpp
    3. 键入g++ xx.cpp -o a.out(创建可执行文件)
    4. 要运行您的程序,请输入./a.out

    【讨论】:

      【解决方案5】:

      如果您找不到在 Ali NoumSali Traore 的回答中所说的在哪里可以找到代码运行程序,那么您必须这样做:

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

      【讨论】:

      • 我没有代码运行器,但安装它并没有解决问题
      【解决方案6】:

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

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

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

      【讨论】:

        【解决方案7】:

        作为@Jordan Stefanelli answer:如果您遇到与我相同的问题,集成终端无法读取来自用户的输入,如下挂起(环境 Windows 10)

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

        那么输入输出正常

        您也可以启用“外部控制台”选项来解决它:)

        你可以通过在launch.json中启用"externalConsole":true来改变它,然后你会得到一个可以输入的弹出控制台窗口。

        【讨论】:

          【解决方案8】:

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

          1. 只需转到终端选项卡并选择 powershell 或默认终端
          2. 键入 python Nameofile.py
          3. 您将能够输入

          【讨论】:

            【解决方案9】:

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

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

            【讨论】:

              【解决方案10】:

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

              【讨论】:

                【解决方案11】:

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

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

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

                【讨论】:

                  【解决方案12】:

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

                  【讨论】:

                    【解决方案13】:

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

                    【讨论】:

                      【解决方案14】:

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

                      "launch": {      
                          "externalConsole":true,
                          "configurations": [],
                          "compounds": []
                      }
                      

                      【讨论】:

                        【解决方案15】:

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

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

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

                        【讨论】:

                          【解决方案16】:

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

                          【讨论】:

                            猜你喜欢
                            • 2020-07-28
                            • 2022-12-13
                            • 2020-04-24
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 2016-07-05
                            相关资源
                            最近更新 更多