“脚本编辑器”(Script Editor)菜单和热键

文件(File)

加载脚本(Load Script)

将文本文件的内容加载到“脚本编辑器”(Script Editor)中。

源化脚本(Source Script)

执行文本文件的内容。

局部范围内的程序定义必须在被调用之前显示。(MEL 不允许您提前引用局部范围的程序。) 例如,在名为 noForwardRef.mel 的文件中,在引用局部程序之前需要先定义这些程序:

proc myLocalProc() 
{ 
    print "In myLocalProc()\n" ; 
}
proc anotherLocalProc()
{
    print "In anotherLocalProc()\n";
    myLocalProc;
}
global proc noForwardRef() 
{ 
    print "Calling anotherLocalProc()\n";
    anotherLocalProc;
}

如果在源化脚本之后更改了脚本,那么 Maya 不会自动拾取该更改。您需要使用“文件 > 源化脚本”(File > Source Script)重新运行脚本。

保存脚本(Save Script)

将选定文本保存至文本文件。

保存所有脚本选项卡(Save All Script Tabs)

将所有选项卡保存到文件。Maya 在退出时自动保存脚本选项卡。“保存所有脚本选项卡”(Save All Script Tabs)会显式保存这些选项卡,以便在 Maya 意外退出且无法自动保存这些选项卡时可以恢复这些选项卡。

将脚本保存至工具架(Save Script to Shelf)

在当前工具架中添加一个按钮以执行选定文本。

编辑(Edit)

编辑菜单包括标准编辑命令及其关联的热键:“撤消”(Undo)“重做”(Redo)“剪切”(Cut)“复制”(Copy)“粘贴”(Paste)“全选”(Select All),以及下列命令:

转到行(Go to line)

转至指定的行号。

搜索和替换(Search and replace)

打开搜索对话框,您可以在其中搜索字符串并将其替换为其他字符串。您可以选择搜索方向并选择您的搜索是否区分大小写。

缩进当前选择/取消缩进当前选择(Indent Selection / Unindent selection)

您可以缩进或清除选定文本的缩进。

清除历史记录(Clear History)

清除历史窗格。

清除输入(Clear Input)

清除输入窗格。

清除全部(Clear All)

清除历史窗格和输入窗格。

历史(History)

批渲染消息(Batch render messages)

“脚本编辑器”(Script Editor)中显示批渲染消息。

回显所有命令(Echo all commands)

当该项目处于启用状态时,由 Maya 执行的所有 MEL 命令都将显示在脚本编辑器的顶部窗格中。

例如,如果选择创建 > 多边形基本体(Create > Polygon Primitives) > 球体(Sphere),则将在顶部窗格中显示 Maya 执行的相应 MEL 命令(polySphere )。

出错行号(Line numbers in errors)

显示出错行号。

显示堆栈跟踪(Show stack trace)

打开另一个窗口,其中列出了外部脚本文件中的错误及其行号。这对于在外部文件中调试脚本非常有用。

抑制命令结果(Suppress command results)

启用该选项时,脚本编辑器不会显示命令的结果。结果消息以 // Result: 开头。

抑制信息消息(Suppress info messages)

启用该选项后,“脚本编辑器”(Script Editor)不会显示通知消息。信息消息有许多不同的类型,并且没有设定的前缀(// 除外)。

抑制警告消息(Suppress warning messages)

启用该选项后,“脚本编辑器”(Script Editor)不会显示警告消息。警告消息以 // Warning: 开头。

抑制错误消息(Suppress error messages)

启用该选项后,“脚本编辑器”(Script Editor)不会显示错误消息。错误消息以 // Error: 开头。

注:

抑制“脚本编辑器”(Script editor)消息不会抑制在“帮助行”(Help Line)中显示消息。

抑制重复变量消息

禁用此选项,以便在与同名的其他变量相同的范围内声明 MEL 变量时生成警告。通常,警告指示脚本中有错误。默认情况下,此选项处于启用状态。

源化脚本而不是执行脚本时,将生成警告。

MEL 中的范围包括未进一步嵌套在另一对 { } 内的一对 { } 之间的所有代码。

请参见以下内容以了解范围的示例:

proc testo(int $arg1)
{
    <scope A>

    if ($arg1 > 3)
    {
        <scope B>
    }

    else
    {
        <scope C>
    }

    <scope A>
}

过程的参数被视为在过程的顶部范围内声明的变量。在上面的示例中,$arg1 被视为在范围 A 内声明的变量。因此,如果随后在范围 A 中的任意位置将变量声明为 $arg1,则出现警告。

所有过程之外的代码都被视为全局范围,且不应生成任何警告。

除了此菜单项外,还可以使用 melOptions 命令的 duplicateVariableWarnings 标志控制警告的生成。此标志处于启用状态时,将生成警告。

菜单项的设置和命令标志的设置具有反向关系。更改一个的状态也会更新另一个的状态。启用菜单项时,将禁用命令标志;而启用命令标志时,将禁用菜单项。

启动 Maya 时,将根据在 optionVar melDuplicateVariableWarnings 中保存的值设置 melOptions -duplicateVariableWarnings 标志。如果此 optionVar 不存在,则标志将设置为 0。每次启用或禁用“抑制重复变量消息”(Suppress Duplicate Variable Messages)复选框时,或者每当保存首选项时,都会更新 optionVar。换句话说,如果使用 melOptions -duplicateVariableWarnings 更改标志的状态,则仅当保存首选项时才更新 optionVar。这意味着 optionVar 通常反映标志的状态,除非通过 melOptions 命令更改它,在这种情况下,optionVar 必须等待,直到下次保存首选项时才能得到更新。

通过在命令行中运行 melOptions -q -duplicateVariableWarnings,可以查询 duplicateVariableWarnings 标志的值。进行查询时不会更改标志的值。

“抑制堆栈”(Suppress stack)窗口

启用该选项时,脚本编辑器将抑制堆栈窗口。如果堆栈跟踪已启用,结果将返回到输出窗口,而不是单独的堆栈窗口。

脚本编辑器菜单项也可以通过 scriptEditorInfo 命令(-sr/suppressResults-si/suppressInfo-sw/suppressWarnings-se/suppressErrors-ssw/suppressStackWindow)进行控制。

命令(Command)

下列命令允许您在“脚本编辑器”(Script Editor)的输入区域中创建、删除和重命名新的选项卡。

显示行号(Show line numbers)

“脚本编辑器”(Script editor)中显示行号。

使用制表符进行缩进(Use tabs for indent)

选择该选项,以便在单击制表符进行缩进时,将创建制表符而不是各个空格。

显示制表符和空格(Show tabs and spaces)

选择此选项可直观地显示制表符和空格指示器。这在编写 Python 脚本时特别有用,因为制表符和空格在 Python 中的解释方式不同。

自动添加右括号(Auto-close braces)

使用花括号自动封闭块。

命令完成(Command Completion)

键入时自动完成命令名称。如果启用“显示工具提示帮助”(Show Tooltip Help),则命令名称将在您键入时自动显示。如果禁用“显示工具提示帮助”(Show Tooltip Help),则必须按住 Ctrl+空格键才能显示它们。

对象路径完成(Object Path Completion)

键入时自动完成对象路径名称。如果启用“显示工具提示帮助”(Show Tooltip Help),则命令名称将在您键入时自动显示。如果禁用“显示工具提示帮助”(Show Tooltip Help),则必须按住 Ctrl+空格键才能显示它们。

显示工具提示帮助(Show Tooltip Help)

显示键入时自动完成的命令和对象路径。

显示快速帮助(Show Quick Help)

显示“快速帮助”(Quick Help)面板。您可以搜索命令并且面板将显示该命令的所有有效标志。

执行(Execute)

“脚本编辑器”(Script Editor)的底面板中运行 MEL 脚本。您也可以在数字键盘上按 Enter 键。

选项卡(Tabs)

注:

以前,这些选项可从“命令”(Command)菜单中获得。

新选项卡(New Tab)

创建新的选项卡。源类型窗口将打开,并允许您选择 MEL 或 Python 作为执行器源语言。您必须选择选项卡是用于 MEL 还是 Python。或者,也可以单击底部窗格中的,或使用 Ctrl+T 热键。

根据您选择的语言,创建带有 MEL 或 Python 图标的选项卡。

重命名选项卡(Rename Tab)

重命名当前选项卡。

转到上一个选项卡(Go to Previous Tab)
选择此选项,或使用 Ctrl+Shift+Tab 热键可导航到上一个选项卡。
转到下一个选项卡(Go to Next Tab)
选择此选项,或使用 Ctrl+Tab 热键可导航到下一个选项卡。
删除选项卡(Delete Tab)

选择此选项,或使用 Ctrl+W 热键可删除当前选项卡。

删除所有其他选项卡(Delete All Other Tabs)

删除除当前选项卡以外的所有选项卡。

注:
您还可以通过在选项卡上单击鼠标右键并选择所需的选项来创建、重命名或删除选项卡。“删除选项卡”(Delete Tab)将删除您在其上单击鼠标右键的选项卡,“删除所有其他选项卡”(Delete All Other Tabs)将删除除您在其上单击鼠标右键的选项卡以外的所有选项卡。

命令亮显(Command highlighting)

在您将 MEL 和 Python 命令输入到“脚本编辑器”(Script Editor)中的各自选项卡时,所有这些命令都亮显。

保存的 MEL 脚本(Saved MEL Scripts)

MEL 脚本将在 Maya 退出时自动保存,并在 Maya 重新启动时在“脚本编辑器”(Script Editor)中还原。

如果 Maya 意外关闭并能够写入备份场景文件,则每个选项卡的当前内容将写入到文本文件并与该场景文件保存在同一目录中。这些文件名与该备份场景文件的文件名相匹配,并带有“-ScriptEditor-”后缀。

其他注释

当 Python 通过标准输入(例如,Python raw_input 命令)请求输入时,将显示一个对话框,可以在其中键入您的输入。