Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sublimetext3 是否可以共享SublimiteText首选项*和*覆盖一个特定的pref?_Sublimetext3_Sublimetext - Fatal编程技术网

Sublimetext3 是否可以共享SublimiteText首选项*和*覆盖一个特定的pref?

Sublimetext3 是否可以共享SublimiteText首选项*和*覆盖一个特定的pref?,sublimetext3,sublimetext,Sublimetext3,Sublimetext,我在家里用Git在两台机器之间共享Supreme prefs 我在工作时的显示器的DPI比在家里的显示器的DPI高,所以在这两台机器中的一台机器上,我想覆盖字体大小 我希望: 使用命令行标志执行subl-override pref font_size=15之类的操作的可能性,如。 另一个级别的prefs层叠在用户下面。 ,但我认为这一切都不存在于崇高之中。语言特定的配置不是我想要的,我想要一些全局的,但只在两台机器中的一台 想法?变通办法?谢谢。设置文件的一般机制是,当升华按名称加载升华设置文件

我在家里用Git在两台机器之间共享Supreme prefs

我在工作时的显示器的DPI比在家里的显示器的DPI高,所以在这两台机器中的一台机器上,我想覆盖字体大小

我希望:

使用命令行标志执行subl-override pref font_size=15之类的操作的可能性,如。 另一个级别的prefs层叠在用户下面。 ,但我认为这一切都不存在于崇高之中。语言特定的配置不是我想要的,我想要一些全局的,但只在两台机器中的一台


想法?变通办法?谢谢。

设置文件的一般机制是,当升华按名称加载升华设置文件时,它在所有已知的包中提取所有具有类似名称的文件,并将它们组合在一起。对于许多其他资源文件,也会发生同样的情况,其中来自后面文件的内容覆盖了前面文件中出现的任何内容

这里是按软件包分类的,默认值总是第一个,用户总是最后一个。这就是为什么默认设置在默认包中,而您的自定义设置在用户包中。此外,特定于语法的设置也适用于特定于项目的设置

除此之外,如果您不进行某种手动干预,就无法直接覆盖设置。此类问题的潜在解决方案包括以下示例:

不同步Preferences.sublime-settings文件 如果文件没有在多台机器上同步,那么这个问题就没有意义了,因为每台机器都可以轻松地拥有自己独特的设置。这样做的缺点是,每台机器都有自己独特的设置,如果你经常从一台机器移动到另一台机器,而事情的工作方式却不尽相同,这将是一件痛苦的事情

使用单独的git分支 如果您使用的是git,那么这里的另一种选择是尝试在每个主机或每个主机类型(如hi_dpi和reg_dpi)或类似的主机类型上保持单独的分支。然后在每台机器上检查相应的分支

这里明显的缺点是必须尝试交叉同步用户以及分支之间可能安装的任何软件包所需的设置更改,除非您真的喜欢git,否则这并不理想

使用额外的首选项。升华设置文件 这里的想法是,您根本不在User/Preferences.sublime-settings文件中包含字体大小设置。相反,您可以使用命令选项板中的“浏览软件包”打开“软件包”文件夹,然后在其中创建一个具有任意名称的新文件夹。该文件夹中包含一个Preferences.sublime-settings文件,该文件仅包含字体大小设置

在多台计算机上执行此操作,您可以跨多台计算机同步用户文件夹中的设置,而无需同步包含字体大小的首选项。请注意,如果您在Sublime已运行时创建该文件,则可能需要退出并重新启动以使其注意到设置文件存在;不过,这只适用于一次

使用插件 查看上面提供的链接,任何设置的最终王牌都是直接应用于视图的设置。有鉴于此,您可以使用一个插件,该插件有选择地始终将特定字体大小应用于任何新创建或打开的文件:

进口升华 导入升华插件 导入套接字 类CustomFontListener升华插件.EventListener: hostname=socket.gethostname def在_newself上,查看: 如果host1、host1.example.com和host2中的self.hostname: view.settings.setfont_size,20 on_load=on_new 现在,无论何时打开文件或创建新缓冲区,如果当前主机名在您配置的列表中,视图都会立即应用适当的字体大小;否则将使用首选项中的一个

您还可以通过它自己的设置文件对其进行扩展以进行配置,根据主机名应用不同的字体大小,等等

视图中的设置保留在升华会话文件中,也保留在与升华项目文件关联的工作区文件中,因此即使在重新启动时,这些设置也将保持不变

需要记住的是,通过“首选项”>“字体”或通过鼠标滚轮键盘快捷键更改字体大小的内部命令通过将新字体大小写入用户首选项来工作

如果您使用的是单独的首选项文件,那么这样做会将字体大小添加到您的用户设置中,您需要手动删除它并修改其他设置文件

如果您正在使用该插件,那么这些快捷方式似乎没有任何作用,因为它应用的字体大小覆盖了用户的首选项,但事实上,如上所述,您的首选项文件最终会被更改,您可能不会立即注意到

所以不管你怎么说
o、 如果您倾向于使用这些设置,您可能需要在之后对设置文件进行手动调整。如果这是经常发生的事情,也可以创建这些命令的更智能版本。

我的解决方法是:我不提交首选项文件和/或告诉git。忽略首选项文件。除非你们更新你们的首选项文件的额外的首选项。升华设置文件是完全有意义的,是超级优雅,我喜欢它。另外,关于如果您使用的是单独的首选项文件,那么这样做会将字体大小添加到您的用户设置中,您需要手动删除它并修改其他设置文件:然后我可以撤销您的建议:在我的自定义包中存储并共享所有常用设置,然后在用户中仅存储字体大小,然后可以通过内部字体大小的更改在本地进行更改