vscode 下直接运行python片段

在数年前,刚使用python时,记得大多IDE都支持选中部分python代码片段,然后发送到ipython中交互式地执行。最初在vscode下运行python时,就感慨为什么这个功能不行呢?(可也能是当时没有找到方式)

最近看到了这个命令:workbench.action.terminal.sendSequence,如果选中文本,再运行这个命令,发送到一个运行ipython的terminal,那这就是前面的功能啦。参考vscode variable reference,得到变量 ${selectedText},于是就有了下面的快捷键设置(keybinding.json)

{
 	"key": "cmd+x",
    "command": "workbench.action.terminal.sendSequence",
    "args": {
      "text": "${selectedText}"
    }
}

效果如同预期,这里就不再展示。

220721补充

考虑bracketed paste mode

上面有一个问题,实际上这里的代码是模拟直接paste代码的,然而没有考虑bracketed paste mode。在支持该模式的程序中,我遇到的是ptpython,它会当作是手动type的字符流,会产生一些“小”问题。

更新后如下

{
 	"key": "cmd+x",
    "command": "workbench.action.terminal.sendSequence",
    "args": {
      "text": "\u001b[200~${selectedText}\u001b[201~"
    }
}

注意json中的\e只能使用\u001b代替

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值