(视频演示)代码块自动检测语言插件现在已经完整交付而且新增自动模式,请之前答应给我点星星的用户给我点星星,谢谢

在自动模式下,你粘贴代码后自动 callback,不需要再点确定。但是在自动模式下,因为粘贴后会自动 callback,所以识别语言之前没有编辑能力(识别之后依然有编辑能力)。自动模式可以手动开关。

演示视频

请之前答应给我点星星的朋友给我点星星,谢谢(是 GitHub 的星星,不是链滴的心心)

image.png

  • 思源笔记

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

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

    22250 引用 • 88929 回帖
  • 插件
    98 引用 • 575 回帖 • 3 关注
2 操作
zxkmm 在 2024-09-08 12:32:00 更新了该帖
zxkmm 在 2024-09-08 11:47:27 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 大佬牛 x👍 ,能否简单介绍下,怎么识别的?原理是什么?准确度如何?

    1 回复
  • 感谢!我不是大佬哈哈哈哈。

    识别是用的第三方库,第三方库识别的原理是正则识别当前行的语言类型,并按行做统计。

    准确度的话不是很高,主要问题是老是把 cpp 识别成 php

    具体可以康康代码,是开源的

    1 回复
  • 哦哦,感谢解惑!我好像记得你以前说是 ai 识别来着,是我记错了吗?

    1 回复
  • 我之前说打算用 ai,但是因为速度问题放弃了

    1 回复
  • 确实是,速度慢了就不实用了,一般能复制的,自己都知道什么语言,不如自己选择下快捷。

    不过,我赶脚代码复制到输入框再识别有点不方便,而且只能适应复制代码的场景,不如监听代码块的变化,然后再识别。

    另外,如果识别不准的话,经常手动更改也不方便,不如把可能的语言都列出来,如果自动识别错了,就手动点一下,这样既方便又快速,如果用户长时间没点,可以默认为是正确的就隐藏即可。

    1 回复
  • 监听的话我怕出问题,因为这个语言也是回写进去的,万一用户也在输入,插件也在输入,不知道会造成什么样的后果。

    bwxr 备选语言是个好主意 👀

    1 回复
  • shiyuankill

    哈哈哈,马上给你点 star❤️

  • shiyuankill

    image.png是不是识别还不太准确,import 有 java 还是检测失败了 😂

    1 回复
  • 行数少的话确实识别的不太准。我之后给那个库也改一下

    1 回复
  • shiyuankill

    好的

  • 不对呀,你现在模式需要写入。监听模式,你只识别语言,不需要写入代码。

    1 回复
  • 识别完语言要写回文档里面的。

    1 回复
  • 哦,原来思源更新只能以块为单位更新,学习了。

    不过我觉得粘贴或输入时,监听到,然后再提提示用户更新,应该比粘贴代码到专门输入框体验要好点。

    image.png

    1 回复
  • 如果模拟网络请求或者直接改 dom 的话应该可以不用以块为单位。不过我的上一个插件吃过这个亏(把 html 直接写到笔记数据里面),现在我用这个都很小心。其实现在都还有插件会做这个危险的事情,这也是我写黑名单插件的目的。

    不过这个图上的建议确实很好,我可能需要一段时间才能做。目前我尽量不写监听器,能 css 或者短线程 handler 处理的最好(我对性能有迷之执着)

    不过至于弹窗的问题,如果启用自动模式的话,操作成本都是一样的,都是“斜杠菜单,粘贴,完成“三步。只是弹窗天然让人视觉上有割裂感,感觉更复杂了。

    1 回复
  • 是的。我对官方 api 没怎么用过,请教下,你意思上一个插件是仅更新块到后台保存,而不刷新页面的块内容?这会有什么风险?我的理解是只要更新到后台的块内容和页面中块的 dom 内容一致应该问题不大吧,具体就不知道了,也许官方除了刷新块还做了别的。

    1 回复
  • 我的意思是直接改 dom 或者模拟网络的风险在于会把官方本来不支持(但是可能可以渲染)的 html 写到笔记数据的 json 里面。这样的话有两个风险:

    1. 用户没办法回退,有时候或许没办法删掉,除非手动改 json(例如插件把某个文字加粗了,用户很容易回退,因为官方本来就支持这个加粗选项。但如果你直接 html 写入局部字体,或者更糟糕的自动化地把所有笔记的某个地方都加了点 html 元素(有个插件确实这样做了),用户根本没办法回退,只能回滚)
    2. 因为这个数据官方不知情(也没计划过兼容),所以万一某次官方做了什么新功能,刚好跟这个数据发生冲突,可能会让这种数据损坏,例如笔记内容丢失之类的。
    1 回复
  • 明白了,但只要后台保存的块是官方支持的,应该问题不大。比如你这里如果仅仅更新 dom 中的语言的文字显示,然后把更新后的块的新结点通过 api 提交给后台,但不刷新页面上的块,理论上应该能避免插件更新块和用户输入冲突问题,但我没有研究过,不知道是否可行。

    1 回复
  • 应该是可行的,但我怕我写出什么差错。大佬如果愿意的话可以尝试一下

    1 回复
  • 嗯嗯,我相信你可以的,可以慢慢完善,也不是一下子做的那么完美,怎能抢你的功劳,主要我对 api 不熟,还不如你。

    最近感觉思源要用着顺需要改进的还挺多的,无奈精力有限,有些功能还是先想想吧 😄

    1 回复
  • zxkmm 1 评论

    有兴趣的话我可以把仓库转到一个组织然后邀请你 😆

    这样就是共有的了

    谢谢,不用这么麻烦,哪天需要的话我直接 fork 就行。
    wilsons
请输入回帖内容 ...

推荐标签 标签

  • 自由行
    10 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖 • 1 关注
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    12 引用 • 54 回帖 • 165 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 1 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • V2Ray
    1 引用 • 15 回帖 • 1 关注
  • OnlyOffice
    4 引用
  • Flume

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

    9 引用 • 6 回帖 • 628 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 25 关注
  • 快应用

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

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

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖 • 2 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 99 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    110 引用 • 54 回帖 • 1 关注
  • OpenShift

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

    14 引用 • 20 回帖 • 632 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 118 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 537 关注
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 638 关注
  • NGINX

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

    311 引用 • 546 回帖
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    91 引用 • 384 回帖
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    26 引用 • 84 回帖
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 586 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 389 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    125 引用 • 588 回帖
  • 负能量

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

    88 引用 • 1235 回帖 • 414 关注
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    541 引用 • 672 回帖
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖