【问题标题】:vscode on WSL issue: editing cursor goes backward when opening bracket or braces关于 WSL 问题的 vscode:打开括号或大括号时编辑光标向后移动
【发布时间】:2019-02-22 13:56:08
【问题描述】:

感谢 Xfce4 窗口会话和 vcXsrv X 服务器,我正在 Windows 10 工作站上的 Debian WSL 子系统中运行 vscode。

我正在开发一个 Python 3 项目,我的 vscode 编辑器在 WSL 上运行时有一个奇怪的行为,我无法使用本机 Windows 或 Linux 构建来重现:假设想要访问 dict 键,我会输入以下代码:

my_dict[

在这里,我希望 IntelliSense 自动关闭括号并将光标 保留在括号之间。这通常会发生(至少在 Windows 上的本机 vscode 和 /real/ Linux 机器上的 vscode 上)。但这不是我的 WSL 上发生的事情!

似乎光标向后实际输入左括号之前输入了一个字符,最后不关闭括号,要清楚我在编辑器中输入以下内容:

my_dic[t

如果我通过 在输入左括号之前输入一个空格来解决问题,我会得到相同的行为,但这次是因为早期的 char 是一个空格,IntelliSense 正在按预期运行 /almost/,转发键入的行尾的空格(下面的“$”代表 EOL):

my_dict[] $

我在使用方括号 ([]) 和大括号 ({})、python 代码和 JSON 文件时遇到过这种情况,所以我不怀疑这与语言扩展有关。

最后但并非最不重要的一点是,唯一安装的扩展是 Microsoft 的“Python 2019.1.0”,并且安装程序是完整的,根本没有定制......

我花了几个小时阅读 vscode 文档并浏览类似问题,但没有运气(可能是关键字错误?),所以任何提示将不胜感激,谢谢!

【问题讨论】:

  • 对不起,我的回复晚了,实际上我使用的是法语键盘,所以'['或'{'字符是使用'alt gr'键与其他键组合获得的,所以我发现'alt gr' 按键引发了我之前描述的问题......然后我进行了新的搜索,我发现这个问题完美地描述了(并且比我做得更好)我的问题:github.com/Microsoft/vscode/issues/24783 所以解决方案包括修改 vscode 设置带有“keyCode”值的“keyboard.dispatch”!抱歉打扰了

标签: linux windows visual-studio-code windows-subsystem-for-linux


【解决方案1】:

在后端,您仍然使用 Windows 控制台中的 conhost 来运行所有终端命令。某些光标行为在 WSL 上的早期 Windows 版本中无法正常工作(但在 Windows 上可以正常工作)。尝试更新到最新版本,看看是否仍然遇到问题。如果你这样做了,请检查https://github.com/Microsoft/console 中的问题,如果没有,请创建一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-25
    • 2017-09-29
    • 2017-06-23
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多