加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

环境变量 – 在Sublime Text设置文件中使用Windows环境变量

发布时间:2020-12-14 23:22:16 所属栏目:资源 来源:网络整理
导读:我需要从Sublime Text 2设置文件(Package-Name.sublime-settings文件)中引用 Windows环境变量,特别是%APPDATA%和%TMP% 这是可能的,如果是的话,怎么样? 例如,以下是来自一个包设置的一行,它需要处理多个用户,因此使用不同的用户名: "backup_dir": "C:
我需要从Sublime Text 2设置文件(Package-Name.sublime-settings文件)中引用 Windows环境变量,特别是%APPDATA%和%TMP%

这是可能的,如果是的话,怎么样?

例如,以下是来自一个包设置的一行,它需要处理多个用户,因此使用不同的用户名:

"backup_dir": "C:UsersUsernameAppDataLocalTempSublimeBackup"

作为一个例子,这里有一个我刚刚遇到的问题:我安装了Sublime Text 2,它运行在多台计算机上(即我复制其数据以保持多次安装之间的设置等),但我有以下内容命令:

{ "caption": "Backup to Server (Local to Server)","command": "exec","args": { "cmd": ["local-to-server.cmd"] } },

不幸的是,文件“local-to-server.cmd”是相对于Sublime Edit中当前打开的文件,因此该命令很少有效.我需要的是:

{ "caption": "Backup to Server (Local to Server)","args": { "cmd": ["%APPDATA%Sublime Text 2PackagesUserlocal-to-server.cmd"] } },

或者一些类似的引用公共位置的方法,然后我可以建立一个相对路径.

解决方法

感谢@schlamar对设置的更正.我没有意识到他们坚持整个会议.我的所有插件都在本地使用它们,我不对它们进行任何修改,但这很有用.这是一个在ST加载时扩展变量的插件.应该在ST2和ST3都有效.
import os
import sublime

VERSION = int(sublime.version())

def expand_settings():
    expand_settings = {
        "<setting file names>": [
            "<setting keys to expand>"
        ]
    }
    for filename,setting_keys in expand_settings.items():
        s = sublime.load_settings(filename)
        for key in setting_keys:
            value = s.get(key)
            s.set(key,os.path.expandvars(value))

def plugin_loaded():
    expand_settings()

if VERSION < 3006:
    expand_settings()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读