关于代码块的小增强

本贴最后更新于 671 天前,其中的信息可能已经时异事殊

先感谢,再提问!😄

目前来说,代码块的拓展性稍偏弱了一点,可否实现/改进代码块额外功能?

1.希望能实现代码块内容可以自定义颜色和链接、标注等(刚需)

2.目前复制代码进代码块的时候会产生某几行缩进不正确的情况,已经尝试过设置缩进数量,最后还是选择了默认值。而且使用 shift+tab 时,即便使用了默认值,会由于和设置的 tab 空格数不成倍数而导致无法取消缩进(已经全选的状态下,不全选是无法缩进的)。目标代码是通过 eslint+prettier 格式化的。

  • 思源笔记

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

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

    18742 引用 • 70022 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
    1. 实现不了
    2. 粘贴时不会替换 Tab 为空格
    2 回复
  • a1751504

    我觉得至少应该可以自定义剪切板中的 tab 对应的空格数量吧。

    而且,我设置为 2 个空格,就没法 shift+tab 取消默认的 tab,想把默认的 4 空格 tab 转换成两个空格的 tab,有以下两种办法:

    1.选中所有粘贴过来的,shift+tab,然后,去设置里设置成 2 个空格,全选,tab

    2.手动每一行删除默认 tab,再加上 tab

    我想,这两种方案都不方便吧

    1 操作
    a1751504 在 2022-07-31 19:04:24 更新了该回帖
  • a1751504

    另外,我觉得可以这样:

    shift+tab 取消缩进的时候不要在乎空格是 2 个还是 4 个,一次性取消一个 tab,这样可以吗

    @88250

    1 回复
  • 现在应该就是这样,Tab 会取消,但是不会将空格转换为 Tab。

    建议代码编辑还是在 IDE 里进行,编辑好以后一次性粘贴到思源的代码块中。

    2 回复
  • a1751504

    我在 vscode 中一直使用的都是 2 个空格的 tab,但是粘贴过来以后并没有标准的格式化,有时是两个空格的 tab,有时是 4 个(90% 都是 4 个,我也不明白它是基于什么原理区分的),所以才会产生我之前提到的困扰

    @88250

    而且,现在如果是 4 个空格的 tab,而设置里自己设置了两个空格的话,是无法 shift+tab 取消缩进的

    希望能优化一下,十分感谢

  • a1751504

    我觉得我的表述还是不够清楚

    我将思源的 tab 空格数设置为 2 个的情况下,将 IDE 中的代码(也是两个空格的 tab)复制到思源里,却是 4 个空格的,我认为这是个 bug

    困扰我很久了这个问题

    @88250

    这是 IDE
    9KSICWLWVOYDH34V7F.png

    这是思源
    TDKP939OTHHYGPRTB.png

    1 回复
  • 思源不会将剪切板中的 Tab 替换为空格,所以 Tab 是按照 8 个空格的宽度显示。

    1 回复
  • a1751504

    我的诉求只是解决这个风格问题,我也明白你说的 tab 不会转换为空格的意思

    我不清楚这样设计是出于某些考量,并且不会"修复"我说的这个问题,还是当前这个问题不紧急但是以后某天会修复,望解答

    @88250

  • a1751504

    如果后来人也遇到这个问题,刚刚发现了一个办法,将 IDE 的缩进切换为空格缩进,不要使用 tab 缩进。在粘贴的时候就可以完全自定义空格数量了。

    1 回复
  • 基本是这样,统一使用空格的话就没有这个问题了。

    如果要用 Tab,可以用自定义 CSS tab-size 来设置代码块中的空格数,目前暂时不考虑作为内置选项设置。

    1 回复
  • a1751504

    OK,既然有解决办法那就没问题了,感谢 😄

  • a1751504

    已暂时解决,以下两个方法都会有劣势,自行斟酌

    方法 1: 将思源的 tab 空格数设置为 2,再在主题的代码中将代码块的 tab-size 设置为 2(但是每次更新主题都需要重新设定)

    方法 2: 将自己代码编辑的 IDE 的缩进切换为空格模式 (不过还是有小概率出问题)

请输入回帖内容 ...

推荐标签 标签

  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖 • 3 关注
  • Lute

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

    25 引用 • 191 回帖 • 22 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    21 引用 • 37 回帖 • 511 关注
  • 思源笔记

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

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

    18742 引用 • 70022 回帖
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    138 引用 • 268 回帖 • 194 关注
  • SSL

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

    69 引用 • 190 回帖 • 497 关注
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 603 关注
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    21 引用 • 140 回帖 • 31 关注
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    19 引用 • 23 回帖 • 687 关注
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 499 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    492 引用 • 1383 回帖 • 373 关注
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 38 关注
  • 书籍

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

    76 引用 • 390 回帖 • 2 关注
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 547 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 2 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1347 回帖 • 1 关注
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用
  • Solidity

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

    3 引用 • 18 回帖 • 351 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    180 引用 • 400 回帖
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 697 关注
  • LeetCode

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

    209 引用 • 72 回帖 • 2 关注
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖 • 6 关注
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖 • 5 关注
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖
  • 电影

    这是一个不能说的秘密。

    120 引用 • 597 回帖 • 2 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖 • 1 关注