VS Code 集成终端在粘贴时弄乱了剪贴板 python 代码
Posted
技术标签:
【中文标题】VS Code 集成终端在粘贴时弄乱了剪贴板 python 代码【英文标题】:VS Code integrated terminal is messing up the clipboard python code when pasting 【发布时间】:2021-10-27 19:15:47 【问题描述】:在 VS Code (1.59.1) 的全新安装中,粘贴在集成终端中的代码与编辑器中可用的缩进不同。我尝试更改参数"editor.formatOnPaste": true
并没有改善。当我复制相同的内容并将其粘贴到 powershell 或命令提示符中时,不存在此问题。关于如何解决这个问题的任何想法?
【问题讨论】:
我尝试了很多,但我无法重现您的问题。您可以尝试创建一些其他 python 文件并添加一些其他代码然后将其复制到 IPython 吗? 【参考方案1】:考虑到没有人可以重现该问题,我怀疑您的空格/制表符(或其他)字符可能与文件本身不一致。
要检查是否是这种情况,请尝试在 VS Code 中创建一个新的 python 文件并重写其中的原始代码(不要复制粘贴)。如果它有效,这只是文件中某些字符的问题:this answer 可能有助于无法重写的较大文件。
如果这不起作用,现在尝试在不同的文本编辑器中创建另一个 新的 python 文件并重写其中的原始代码(同样,不要复制粘贴)。通过 CMD 或 powershell 运行它。如果这不起作用,则不是 VS Code 的错(可能是您的 python/ipython 配置/安装有问题)。
如果它仍然不起作用,您可能想尝试通过 VS Code 运行最新文件(在另一个文本编辑器中创建),或者通过 CMD/powershell 运行您拥有的原始文件(不是复制粘贴),并从那里进行诊断。
【讨论】:
【参考方案2】:我自己无法重现您的问题,但这里有一些我认为它们可能有效的解决方案。
我相信这个问题的根源可能与使用您正在使用的 vscode 版本时 Ipython 的自动缩进有关。您可以使用 Ipython 的内置魔法命令:%autoindent
来关闭自动缩进。
只需运行魔法命令:%autoindent
,您将在提示符中看到消息:
Automatic indentation is: OFF
(如果需要,您可以再次运行它以重新打开它)
之后你应该可以复制和粘贴你的代码(保留原来的缩进)并且 Ipython 不会添加新的缩进。
另一个解决方案是使用 magic 命令:%paste
此命令从剪贴板粘贴并执行代码(here 您可以找到有关此命令的更多信息)。
如果您想在执行前编辑提示中的代码,请记住您可以使用:%cpaste
。
【讨论】:
【参考方案3】:我认为你必须导入并初始化 ipython 或者你给了一个额外的空间。
【讨论】:
我试图重新创建它,但它没有发生。 请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。【参考方案4】:我只是尝试在 Linux(bash、tmux、zsh 等)和 Windows(PowerShell、命令提示符等)上重现您的问题,但没有取得多大成功。
我敢打赌,这是您在 PS 中运行的“ipython”的问题。
您是否尝试过安装不同的 Python 版本来查看是否存在问题?
【讨论】:
以上是关于VS Code 集成终端在粘贴时弄乱了剪贴板 python 代码的主要内容,如果未能解决你的问题,请参考以下文章