码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • send line/selection to terminal


    需求

    在编辑 shell script 或者 markdown 的时候非常想要这样一个功能:

    1. 在一个文件中,可以通过按下快捷键(比如 command+enter)来执行当前行/选中的内容。
    2. 执行时的工作目录是这个脚本所在的目录,或者项目目录,也可以设置。
    3. 执行的结果会显示在编辑器的另一个窗口中。
    4. 每条指令的最后一次执行结果会被保存下来,如果把鼠标放在该条指令上就可以看到。

    这个灵感来源于 database IDE DataGrip,如图所示,并且支持多个连接、自动选择语句范围、写入到文件等功能。

    在这里插入图片描述

    可能的解决方案

    这是一些我的探索过程以及非完美的解决方案,如果有更好的解决方案可以评论交流。

    sublime 的 sublimeREPL 插件

    需要预先启动一个 repl session,只能写入在 repl 中而且暂时不支持我的 zsh 的 ansi 格式。

    jetbrain 系列的 runmarkdown 功能

    可以直接在 markdown 中执行一行命令,非常贴近我的需求,但是没有找到文档和设置的地方。

    支持整体执行,以及某些语句的单独执行。可以执行到 jetbrain 自己的 terminal 中。

    在这里插入图片描述

    sublime 的 sendcode 插件

    按下快捷键就可以在一个系统 terminal 里面执行任务,可以执行 shell 或者在 markdown 中执行 shell script,将 line/selection 发到终端中。
    基本满足我的需求,如果是集成 shell 就好了,还有一个缺点是工作目录需要重新设置。

    如果能和 terminus 结合起来那么将绝杀。

    update: https://github.com/randy3k/SendCode

    又研究了一下,可以结合起来!甚至两个插件是同一个作者做的。这是我的配置:

    [
        { "keys": ["alt+`"], "command": "toggle_terminus_panel" },
        { "keys": ["super+t"], "command": "new_file" },
        {
            "settings": {
                "SendCode": {
                    "prog": "terminus",
                    "auto_advance" : false,
                    "r" : {
                        "bracketed_paste_mode": true
                    }
                }
            }
        }
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    唯一的问题是,如果之前没有 terminus session,似乎 sendcode 并不能新建一个。

    jetbrains 的 send to terminal 插件

    和 sendcode 类似。
    有人在 issue 中问为什么不使用 jetbrain 集成的 terminal,回答是没有开放对应的 api。

    jetbrain 的官方支持

    还在 track,遥遥无期。
    https://youtrack.jetbrains.com/issue/IDEA-131964/Execute-Selection-in-Embedded-Terminal

  • 相关阅读:
    微信公众号第三方平台开发,零基础入门。想学我教你啊
    市值缩水90%以上,泛生子何以败退美股?
    万字大章_标题、段落、链接、图像等_HTML入门必备基础
    Linux内核之读写锁机制
    网络安全(黑客)-小白自学
    云架构师学习------腾讯云通识-存储与数据库
    OCR文字检测与识别系统:融合文字检测、文字识别和方向分类器的综合解决方案
    【Linux】进程控制(进程创建、进程终止、进程等待、进程替换)
    SpringBoot源码解析-事件驱动注解@EventListener
    LabVIEW生产者消费者架构
  • 原文地址:https://blog.csdn.net/m0_37809890/article/details/126487956
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号