代码块功能优化建议

增加最近使用的代码语言

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

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

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

image.png

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

代码选择

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

image.png

就会变成这种

image.png

而我希望的是这种

image.png

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

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

image.png

  • 思源笔记

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

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

    23125 引用 • 93112 回帖 • 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 回复
  • 其他回帖
  • 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 更新了该回帖
  • 其实个人更希望能出一个建议的语言自动识别,开启这个功能后,识别不出来的自动设置为空。

    可以采用“一定能匹配”的方式来识别,只有命中了某一个编程语言特有的关键字,比如 C++ 的 std::,才会使用这个语言。

    但是感觉即便这样也不是很好做,而且可能会拖慢代码块的加载速度。

    2 回复
  • vscode 的自我识别是基于文件后缀的,那个的实现很简单。

    vscode 的 markdown 里面只有最基础的 cpp 什么他能识别出来才会给你高亮。md 里面连 json 都没高亮的。

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

推荐标签 标签

  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    28 引用 • 108 回帖 • 1 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    410 引用 • 1246 回帖 • 588 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 614 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    83 引用 • 37 回帖
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    149 引用 • 257 回帖 • 3 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    313 引用 • 547 回帖
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖 • 1 关注
  • Kotlin

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

    19 引用 • 33 回帖 • 65 关注
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 232 回帖
  • gRpc
    11 引用 • 9 回帖 • 72 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖 • 1 关注
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    196 引用 • 540 回帖 • 1 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • 创业

    你比 99% 的人都优秀么?

    82 引用 • 1395 回帖
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    178 引用 • 997 回帖
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    36 引用 • 35 回帖 • 3 关注
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    5 引用 • 107 回帖 • 1 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    12 引用 • 54 回帖 • 49 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    62 引用 • 289 回帖
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    288 引用 • 4485 回帖 • 664 关注
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 32 回帖 • 1 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 2 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 140 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖 • 1 关注
  • sts
    2 引用 • 2 回帖 • 197 关注