|
发表于 2024-6-1 21:20:48
|
显示全部楼层
文心一言帮我做了注释
/**
* 格式化插件设置中的路径
*
* @param {string} e - 需要进行格式化的路径字符串
* @returns {string} - 格式化后的路径字符串
*
* @description
* 此函数将用于处理插件设置中的路径。首先,它会获取当前工作区的根目录路径,
* 如果环境变量中不存在"${workspaceFolder}",则将其设置为工作区根目录的路径。
* 接着,遍历环境变量对象,将键(即变量名)中的特殊字符($、{、})进行转义处理,
* 并在原路径字符串中替换这些变量名为对应的值。
* 如果格式化后的路径不是绝对路径,并且工作区根目录存在,则会在路径前添加工作区根目录路径和文件分隔符。
* 最后,返回格式化后的路径字符串。
*/
_formatPathForPluginSettings(e) {
const t = h.WorkspaceManager.getInstance().getWorkspaceRoot();
// 如果工作区根目录存在,并且环境变量中没有"${workspaceFolder}",则设置它
return t && !this.eideEnv.has("${workspaceFolder}") && this.eideEnv.set("${workspaceFolder}", t.path),
// 遍历环境变量,替换路径中的变量名
this.eideEnv.forEach((t, r) => {
const n = r.replace("$", "\\$").replace("{", "\\{").replace("}", "\\}");
e = e.replace(new RegExp(n, "gi"), t)
}),
// 如果路径不是绝对路径,并且工作区根目录存在,则在路径前添加工作区根目录路径和文件分隔符
!c.isAbsolute(e) && t && (e = t.path + u.File.sep + e),
e;
} |
|