В расширенном виде - 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();
Другие вопросы по тегам