atom-editor - 有没有办法将多个主题应用于 Atom 编辑器 session ,例如每个 Pane 、每个文件等?

标签 atom-editor

我想将多个主题应用于原子 session 。

以下是使用 theme-humane-syntax 的左侧面板和使用 theme-seti-syntax 的右侧面板的屏幕打印:

enter image description here

(有关我如何做到这一点,请参阅下面的注释 2)

我希望看到的一些用例:我可能希望一个窗口具有人性化的语法主题,而另一个窗口具有 seti。或者我可能希望左侧拆分为浅色主题,右侧拆分为深色主题。更好的是为每个文件分配一个主题,例如file-a 一个主题,file-b 另一个,并让它们在弹出的任何地方保留该主题(例如,在另一个窗口中,在拆分的另一侧等)

当您有很多打开的文件时,这对于区分文件非常有用。

Emacs has had this capability很长一段时间通过包裹color-theme-buffer-local . Atom 中有类似的东西吗?

从更技术的角度来看,有没有办法通过开发人员工具手动将 .css 文件应用于选项卡?毕竟,Atom 基本上是一个修改过的 Chromium 网络浏览器,而且 Chromium 下的每个选项卡都可以有不同的 css,所以这应该也可以在 Atom 中实现(?)

注1:某人asked a similar question大约一年前——如何按文件类型设置主题,答案是你不能。我担心我更普遍的问题的答案仍然是否定的,我将不得不调查编写我自己的包(对不起,我在打开我的问题后才找到这个链接)。

注 2:我在 Atom 中错误地看到了这一点。 Atom 中似乎存在一个错误,当您从一个主题切换到下一个主题时,有时某些选项卡无法正确切换,并且您有混合主题。当您在缓冲区之间切换时,似乎根本没有性能损失。这就是我希望能够做到的,但要以受控的方式进行。

非常感谢。

原子 1.7.2
Linux 薄荷 17.3

最佳答案

我真的很想念这个功能,所以我(原始海报)对我有(偶然的)混合主题时发生的事情进行了逆向工程,我写了一个包以受控的方式复制它。它叫做 multi-theme-applicator它允许您在文本编辑器级别自定义主题。展望 future ,我希望能够通过允许更高级别的粒度(例如按文件、按文件类型和按窗口)来扩展此基本功能。

我已经使用它大约一个星期了,它似乎运行良好。它基本上删除了附加到相关文本编辑器的全局样式节点,加载新主题的 .less 文件,编译它以生成 css,并将具有上述 css 的新样式节点附加到事件文本编辑器。它不适用于所有主题,但我认为它适用于大约 95% 的主题。

我确实调查过试图通过更新原子源代码本身来解决问题。不幸的是,我只是对代码库不够熟悉,无法从这个角度解决它。也许这个包可以作为一种中间形式,直到有人能够“正式”添加功能。但是根据我的经验,大多数人对整体主题感到满意——允许多个主题的 emacs 包,color-theme-buffer-local,似乎很少使用。因此,可能没有足够的需求将其作为官方功能。

无论如何,如果有人对该软件包感兴趣,请尝试一下,并通过 git repo 告诉我。如果您发现任何问题或问题。

关于atom-editor - 有没有办法将多个主题应用于 Atom 编辑器 session ,例如每个 Pane 、每个文件等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36929817/

相关文章:

git - 如何在 Atom 中设置 Git-plus 以与 Github 一起工作

node-webkit - Visual Studio Code 编辑器是基于什么构建的

javascript - 如何在 Atom 编辑器中搜索 <p> 元素内的双空格?

typescript - Polymer typescript (ide) 支持

atom-editor - 原子编辑器 : Fold selection onto single line

python - MacOS、Python : ModuleNotFoundError: No module named 'kiwisolver'

python - 缩进错误: expected an indented block in python (using hard tabs)

javascript - 在 Atom 包中获取整个树守护者解析树

git - 由于编辑器没有自动更新,有没有办法防止 git pull 后意外覆盖?

node.js - 使用 Node 调试器 pkg 在 Atom 中找不到 Node 可执行文件