【Sketch】ディレクトリを選択して複数のファイルを保存してみる

↓こちらのサイトを参考に、Sketch のプラグインでファイルの保存をしてみました。

[Swift] OSX でファイルを開く・保存するダイアログを開く

Swift の書き方なので、全く同じということではないですが、コードが似ています。

複数のファイルを書き出す時に、保存するディレクトリを選択させたい場合は、

↓こちら。

var openPanel = NSOpenPanel.openPanel();
openPanel.allowsMultipleSelection = false;
openPanel.canChooseDirectories = true;
openPanel.canCreateDirectories = true;
openPanel.canChooseFiles = false;
openPanel.allowedFileTypes = NSImage.imageTypes();
var fileTypes = ["gif","jpg","png"]; //← ディレクトリを選択させるだけならいらない。
var openPanelButtonPressed = openPanel.runModalForDirectory_file_types_( nil, nil, fileTypes );

if ( openPanelButtonPressed == NSFileHandlingPanelOKButton ) {
    filePath = openPanel.URL().path();
    console.log( 'Save File Path : ' + filePath );
} else {
    console.log( 'No Directory is selected.');
    return false;
}

NSSavePanel ではなく、NSOpenPanel を使いました。