В расширенном виде - Photoshop, диалоговое окно персистентности?
В extendscript - Photoshop, я бы хотел, чтобы в моих диалоговых окнах по умолчанию использовались ранее использованные варианты... кто-нибудь знает, возможно ли это?
2 ответа
У вас есть два варианта.
Первый выбор: использование //@targetengine
Значения могут быть сохранены в течение сеанса с помощью targettengine.
Первый сценарий
//@targetengine myengine
var x = 100;
Второй сценарий
//@targetengine myengine
$.writeln(x);
Если вы закроете Photoshop, все значения будут потеряны
Второй вариант: запись в файл.
Я не буду писать пример здесь. Это можно сделать разными способами. Обычный.txt файл. файл.json. Посмотрите этот пример о том, как читать и писать файлы.
Фабианморонзирфас получил правильный ответ. Я скажу, что это может только с одним сценарием. Этот скрипт считывает предыдущее значение, хранящееся в текстовом файле в жестко заданном месте, например C:\temp. Если сценарий не может подать файл настроек, он по умолчанию будет иметь какое-то заданное значение, а затем сохранит это время.
На всякий случай вот простой скрипт, который сохраняет (и пытается загрузить) ваши префы в формате JSON в системную временную папку:
// set default values
var prefs = {
file: File(Folder.temp.fsName + "/prefs.json"),
title: "",
length: 0
}
// try to load previous prefs
if (prefs.file.exists) prefs = $.evalFile(prefs.file);
// do something
prefs.title = prompt("Type the title:", prefs.title);
prefs.length = prefs.title.length;
// save the prefs to the file
prefs.file.open("w");
prefs.file.write(prefs.toSource());
prefs.file.close();