gpt4 book ai didi

environment-variables - 在 Sublime Text 设置文件中使用 Windows 环境变量

转载 作者:行者123 更新时间:2023-12-04 20:47:02 25 4
gpt4 key购买 nike

我需要从 Sublime Text 2 设置文件(Package-Name.sublime-settings 文件)中引用 Windows 环境变量,特别是 %APPDATA%%TMP%
这可能吗?如果可以,怎么做?

例如,这是一个包设置中的一行,它需要在多个用户上工作,因此使用不同的用户名:

"backup_dir": "C:\\Users\\Username\\AppData\\Local\\Temp\\SublimeBackup"

例如,这是我刚刚遇到的一个问题:我安装了从多台计算机运行的 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)", "command": "exec", "args": { "cmd": ["%APPDATA%\Sublime Text 2\Packages\User\local-to-server.cmd"] } },

或者一些类似的引用公共(public)位置的方法,然后我可以从中构建相对路径。

最佳答案

感谢@schlamar 对设置的更正。我没有意识到他们在整个 session 期间都坚持了下来。我所有的插件都在本地使用它们,我没有对它们进行任何修改,但很高兴知道。这是一个在 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()

关于environment-variables - 在 Sublime Text 设置文件中使用 Windows 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15999075/

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