gpt4 book ai didi

sublimetext2 - Sublime Text 2 中每个项目的文件类型设置

转载 作者:行者123 更新时间:2023-12-02 08:24:44 25 4
gpt4 key购买 nike

我有一个位于梅森的项目。如何告诉 ST2 以 Mason 身份打开仅该项目的 .html 文件?

更一般地说,我如何告诉 ST2 根据每个项目重新分配文件类型?

最佳答案

对于那些对 ST3 解决方案感兴趣的人,我写了 this blog post我将在此处摘录。

首先,您需要将下面的 python 代码保存到 Packages/User 目录中的文件中。该目录所在的位置取决于您的系统。在 MacOS 上,它位于 ~/Library/Application Support/Sublime Text 3/Packages/User。为文件命名,例如 project_specific_file_syntax.py

import os.path
import re
import sublime_plugin

class ProjectSpecificFileSyntax(sublime_plugin.EventListener):
def on_load(self, view):
filename = view.file_name()
if not filename:
return

syntax = self._get_project_specific_syntax(view, filename)
if syntax:
self._set_syntax(view, syntax)

def _get_project_specific_syntax(self, view, filename):
project_data = view.window().project_data()

if not project_data:
return None

syntax_settings = project_data.get('syntax_override', {})

for regex, syntax in syntax_settings.items():
if re.search(regex, filename):
return syntax

return None

def _set_syntax(self, view, syntax):
syntax_path = os.path.join('Packages', *syntax)
view.set_syntax_file('{0}.tmLanguage'.format(syntax_path))

现在,您只需将 syntax_override 部分添加到 .sublime-project 文件中,如下所示。

{
...

"syntax_override": {
"\\.html$": [ "HTML Underscore Syntax", "HTML (Underscore)" ]
}
}

syntax_override 部分可以包含任意数量的键/值对。键应该是与文件名匹配的正则表达式。该值应该是包含两个字符串的数组。第一个字符串是包含语法文件的包的名称,第二个字符串是语法的名称。在 Sublime Text 的目录结构中查找以 .tmLanguage 结尾的文件。这些文件的名称(减去 .tmLanguage 扩展名)就是您将用于第二个字符串的名称。

我只使用 Sublime Text 3 对此进行了测试,但我确信它可以轻松适应 Sublime Text 2。

关于sublimetext2 - Sublime Text 2 中每个项目的文件类型设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14560784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com