代码块功能优化建议

增加最近使用的代码语言

选择代码语言的时候, 能不能增加一块(图片框起来的部分), 用来显示最近选择的代码, 而不是一直按照字典序排序

我添加代码块一般是用快捷键添加的, 然后每次添加的代码块, 代码语言都是默认是上次使用的

平时要用很多种语言, 每次都要点一下, 然后 手动输入选择语言, 有点繁琐

image.png

小声: 你再逼我, 我就自己去写 js 了 trollface

代码选择

在代码块中, 选中代码的时候, 如果是下面这种情况, 移动到外部的时候

image.png

就会变成这种

image.png

而我希望的是这种

image.png

因为一般选择的时候, 都是好几行一起选择

每当复制的时候, 我都得小心翼翼的滑动鼠标到固定的区域, 超过一点就不行

image.png

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23020 引用 • 92599 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • Keefer

    第一个建议

    我其实没看懂你的问题,我按照我的理解写一下有用就看,没用就划走:我没看懂你为什么要点一下,我觉得是你不会用。要添加代码块只需要按照 Markdown 的语法写就行了,比如我要写 Python 的:````python`,然后直接回车就可以添加 Python 代码块了,并不需要动用鼠标。

    第二个建议

    如楼上回复,我赞同这个问题的成因是样式主题的 Bug,而非思源的 Bug,我在 Tsundoku 主题下,同样没有这个问题。另外,你可以练习一些键盘移动光标的技巧:比如 Home:移动到行首;End:移动到行尾。Ctrl+ 方向键:按照词语移动。这样可以减少小心翼翼移动光标的频率,提高效率。

    就比如你这个需求,如果是我会这样做:

    1. 使用鼠标将光标移动到待选区域首行任意位置(不需要小心翼翼)
    2. 按 Home 键,快速将光标移动到行首。
    3. 按住 Shift 不松开,使用鼠标将光标移动到待选区域尾行。此时待选区域大部分都被选中。
    4. 按 End 键将光标移动到尾行的行尾。此时待选区域已被选中

    行号的问题

    我认为 Siyuan 代码段的主要功能是帮助程序员记录已有代码。需要粘贴到的地方通常是 Sublime Text, VScode 这样的代码编辑器,自然不连同行号一起粘贴是更加合理的。

    但是我们有时也会碰到需要行号的问题,比如要粘贴到 Word 中。这个问题我认为可以通过一些在线小工具解决:代码在线高亮工具 | 将高亮美化的代码一键粘贴到 Word 或 OneNote 中 (highlightcode.com)。 如果这时没网,我认为也可以先将 Siyuan 文档到处成 Word,再从 Word 中复制。

    其他交流

    说起代码选择的问题,我倒是觉得或许可以开发一款插件来支持代码块中使用 Vim 编辑器键位。这样,会使用 Vim 就可以解决这个问题。

    你的问题我没有全部明白,但是尽可能解答了。如果有用你就看看。没用就也不用回了,我平时不看 ld246,不会进一步回复 😂

    1 操作
    Keefer 在 2024-08-07 09:33:49 更新了该回帖
  • 其他回帖
  • wilsons 2

    哦哦,我知道了,第 2 个问题,原来是因为我没显示行号,所以没这个问题。

    @EmberSky 有个技巧,在没完成选择前不要松开鼠标左键,哪怕选择框消失,比如,拖到左侧时选择框消失,并不要紧,不要松开鼠标左键,继续拖到右侧来选择框又出现了。

    2 回复
  • EmberSky

    我总感觉 issue 和我 收藏夹 有点像, 提了 issue 就等于解决了, 实际上只是记录一下然后放那里吃灰

    当然了, 我还是很相信 d 大一直在解决问题

    1 回复
  • wilsons 1

    不不不,和收藏夹不一样,收藏夹至少是你喜欢的,有强烈愿望的。

    issue 更像是妈妈的话或朋友的建议,虽然知道都是为你好,但你听过几个?

    更像是石沉大海,不知何时能见天日。😄

    哈哈哈,所以,求人不如求己,我解决了这个代码选择的 bug

    css 片段中,添加以下 css 样式即可

    /* 取消行号列占用的空间 */
    .code-block .protyle-linenumber__rows {
        position: absolute;
        left: 0;
    }
    /* 当有行号时,代码块右移,给行号列让空间 */
    .code-block .hljs.protyle-linenumber {
        margin-left: 3.6em;
    }
    

    效果

    r11.gif

    2 回复
  • 查看全部回帖
EmberSky
如果感觉我的回答对你有帮助, 请点击 感谢 支持一下, 谢谢! 杭州

推荐标签 标签

  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    78 引用 • 391 回帖
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 603 关注
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 518 关注
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    354 引用 • 1823 回帖 • 1 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 772 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖 • 1 关注
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    142 引用 • 442 回帖
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 637 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 400 关注
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 653 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    166 引用 • 595 回帖
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 65 回帖 • 446 关注
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    91 引用 • 751 回帖 • 1 关注
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    70 引用 • 193 回帖 • 416 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 913 回帖 • 250 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 63 关注
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    88 引用 • 1235 回帖 • 410 关注
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    90 引用 • 562 回帖 • 1 关注
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 75 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 335 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖 • 2 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    288 引用 • 734 回帖
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    26 引用 • 196 回帖 • 17 关注
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 50 关注
  • V2Ray
    1 引用 • 15 回帖 • 1 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    123 引用 • 74 回帖 • 2 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 370 关注