【问题标题】:Using ExtendScript in Sublime Text editor在 Sublime Text 编辑器中使用 ExtendScript
【发布时间】:2020-11-13 11:52:48
【问题描述】:

我正在尝试在我首选的 IDE 中设置 photoshop 脚本环境。所以我正在使用 HERE 找到的优秀的 Davide Barranca 的 Sublime 软件包。

我已经安装了包并勾选了工具 > 构建系统 > ExtendScript-PS 下的 ExtendScript-PS 选项

这是我用作测试的代码:

#target Photoshop
alert("Done!");

问题出在 Sublime Text 中,当我转到“工具”>“构建”时,我只是在控制台中得到一个错误转储:

The filename, directory name, or volume label syntax is incorrect.
[Finished in 0.1s with exit code 1]

但如果我直接在 Windows 资源管理器中执行 Test.Jsx 文件,它在 Photoshop 中就可以正常工作。

所以问题一定是崇高的,有人知道我做错了什么吗?我正在运行最新版本的 Photoshop。任何帮助将不胜感激。

我的 build.bat 文件是这样设置的:

@echo off 
:: Renaming arguments
set jsx_file=%1%

:: Change this accordingly to your CS version
set version= Adobe Photoshop CC 2020

set ps_folder_path=c:\Program Files\Adobe\Adobe Photoshop %version% (64 Bit)

::set ps_folder_path=c:\Program Files\Adobe\Adobe Photoshop %version% (64 Bit)


:: Adobe Photoshop folder location 32 bit versions:
:: set ps_folder_path=c:\Program Files (x86)\Adobe\Adobe Photoshop %version%

cd "%ps_folder_path%"

:: Running script in Photoshop
photoshop.exe "%jsx_file%"

:: Printing happy feedback in the console
echo "Successfully compiled %file_name% to %full_path%\%file_name%";
 

还有 run.scpt 文件

 on run arg

  tell application "Adobe Photoshop CC 2020"
    do javascript file (arg's item 1)
    -- ALTERNATIVELY: 
    -- do javascript file (arg's item 1) show debugger before running
    -- do javascript file (arg's item 1) show debugger never
    -- do javascript file (arg's item 1) show debugger on runtime error
    activate
  end tell

end run

【问题讨论】:

    标签: javascript sublimetext3 extendscript photoshop-script photoshop-sdk


    【解决方案1】:

    按照您设置 .bat 文件的方式,它不会找到 Photoshop 可执行文件。如果你看一下 Davide 的原始脚本,版本变量是

    set version='CC 2015.5'
    

    所以要为 Photoshop 2020 进行相应设置,它应该类似于

    set version='2020'
    

    (我认为这应该没有 CC,因为 Adob​​e 在以 2020 应用程序开头的应用程序名称中省略了 CC)。执行此操作后,它应该正确找到路径。另外,别忘了加上引号。

    【讨论】:

    • 我认为这也可能归结于此。在问这个问题之前,我对此进行了实验,遗憾的是它没有产生任何结果。那么需要解决的问题是sublime需要找到Photoshop的可执行文件吗?
    • 我问是因为我系统上的那个文件的名称只是 'photoshop' 但是这样做这个 version='photoshop' 也不起作用
    • 您需要设置正确的文件夹路径。应用名称是photoshop.exe,没错。你那个文件的路径是什么?不管是什么,都应该进入ps_folder_path 变量。目前(如果您将2020 放入您的版本变量中)它指向c:\Program Files\Adobe\Adobe Photoshop 2020 (64 Bit)。我高度怀疑您也需要删除 (64 Bit) 部分。这可能仍在 Davide 的脚本中,因为在 CC2015 中,Photoshop 既有 32 位版本也有 64 位版本,而今天只有 64 位版本,所以这可能不再是文件路径的一部分了。
    【解决方案2】:

    一年后,我遇到了同样的问题,并为我的设置解决了这个问题。也许它对某人有用。我的文件来自github here

    最值得注意的是,我必须将ps_folder_path 变量的值放在build.bat 中的双引号("")中。

    @echo off
    
    :: Renaming arguments
    set jsx_file=%1%
    
    :: Change this accordingly to your CS version
    set version=2020
    
    :: Adobe Photoshop folder location 64 bit versions:
    set ps_folder_path="C:\Program Files\Adobe\Adobe Photoshop %version%"
    
    cd "%ps_folder_path%"
    
    :: Running script in Photoshop
    Photoshop.exe "%jsx_file%"
    
    :: Printing happy feedback in the console
    echo "Successfully compiled %jsx_file%";
    

    run.scpt: 更改了应用程序名称,但对我的情况没有影响

    on run arg
    
      tell application "Adobe Photoshop 2020"
        do javascript file (arg's item 1)
        -- ALTERNATIVELY: 
        -- do javascript file (arg's item 1) show debugger before running
        -- do javascript file (arg's item 1) show debugger never
        -- do javascript file (arg's item 1) show debugger on runtime error
        activate
      end tell
    
    end run
    

    ExtendScript-PS.sublime-build:这里我删除了cmd 值周围的括号(列表指示符[]),并将所有单引号('xxx')更改为转义双引号(\"xxx\")以使其工作。

    {
      "cmd": "osascript \"${packages}/ExtendScript-PS/run.scpt\" \"$file\"",
      "shell": true,
      "windows": 
      {
        "cmd": "cd ${packages}\\ExtendScript-PS\\ && build.bat \"$file\"",
        "encoding": "cp850"
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-21
      • 2014-04-01
      • 2020-04-27
      • 1970-01-01
      • 2015-11-07
      • 2014-10-30
      • 2015-02-14
      相关资源
      最近更新 更多