将 Visual Studio Code 设置为3dmax Maxscript脚本编辑器的方法详解

news2024/11/20 3:28:40

Visual Studio Code对Autodesk 3dMax脚本语言 (MaxScript) 支持

 本教程给大家分享Visual Studio CodeAutodesk 3dMax 脚本语言 (MaxScript) 支持。

MXSPyCOM项目:允许从外部代码编辑器编辑和执行3dMax MaxScriptPython文件。

功能特性

  • 语法高亮。
  • 语法错误检查
  • 语义语法高亮
  • 关键字、基元、通用函数、结构、接口和类的代码自动完成。
  • 大多数使用的代码块的片段。
  • 转到文档中的符号(基本支持,有些错误)。
  • 转到定义并查看文档中的定义。
  • 代码格式化程序
  • 代码缩小
  • 代码美化器
  • 帮助命令(MaxScript 帮助。可从右键菜单中访问。):选择关键字并打开相关联机文档。

首先安装VSCode。

然后,在VSCode中,按Ctrl+Shift+P并键入“extension”。

 去下载项目。打开MXSPyCOM.sln并编译项目。

将编译后的.exe放到本地磁盘的某个位置。例如,“C:\MXSPyCOM.exe”

将其粘贴到资源管理器%localappdata%\autodesk\3dsmax的地址栏中。您应该将“initialize_COMM_server.ms”文件放在你的3dmax安装目录的..\scripts\startup 启动文件夹。例如:

%localappdata%\Autodesk\3dsMax\2017 - 64bit\ENU\scripts\startup

为了让VSCode运行任务,它需要一个工作区。继续,将工作文件夹添加到工作区。

设置好工作区后,打开命令选项板并搜索“tasks(任务)”。单击“Configure Default Build Task(配置默认构建任务)”。


A.json文件将出现,您可以在这里配置Task设置。记住在“command:”字段中更改.exe的路径。

{

  "version": "2.0.0",

  "tasks": [

      {

          "label": "Execute in Max",

          "type": "process",

          "command": "C:/MXSPyCOM.exe",

          "args": ["-f", "${file}"],

          "presentation": {

            "reveal": "always",

            "panel": "new"

        }

      }

  ]

}

如果要在每次脚本求值时关闭“Terminal”面板,请将“reveal”:“always”更改为“reveal””:“never”,将“panel”:“new”更改为” panel “:“shared

马上就要完成了!要进行测试,请打开一个maxscript。打开命令调色板并搜索“Run Task”。单击后,它将显示您先前配置的所有可用任务。

现在,如果你需要经常评估你的脚本,这是很麻烦的。但不用担心,您可以为“Run Task”命令指定快捷键。

打开命令调色板并搜索“Keyboard”。打开键盘快捷键文件。


你需要编辑“keybindings.json”文件。我已将“Ctrl+E”配置为与MAX一致的快捷方式,并将默认快捷方式替换为“Shift+E”。

// Place your key bindings in this file to overwrite the defaults

[

    {

        "key": "ctrl+e",

        "command": "workbench.action.tasks.runTask",

        "args": "Execute in Max"       

    },

    {

        "key": "shift+e",

        "command": "workbench.action.quickOpen"

    },

    {

        "key": "shift+e",

        "command": "workbench.action.quickOpenNavigateNextInFilePicker",

        "when": "inFilesPicker && inQuickOpen"

    }

]

注意第6行:“args”:“Execute in Max”。该值必须与您在任务文件中定义的“label”值匹配。

小结:MaxScript 脚本结构有些杂乱无章,但MXSPyCOM已尽力组织结构、类、接口等,并且保证语法足够可用。

Ok!祝你编写脚本愉快!

附:MXSPyCOM下载:https://download.csdn.net/download/mufenglaoshi/87529927

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/388238.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

x86 平台利用 qemu-user-static 实现 arm64 平台 docker 镜像的运行和构建

文章目录[toc]关于 docker 版本查看是否开启 experimental 功能开启 experimental 功能查看当前环境平台拉取一个 arm 平台的容器运行一个 arm 平台的容器整一个 qemu-user-static注册可支持的架构解释器尝试启动 arm64 镜像尝试启动 ppc64le 镜像后台运行 arm64 容器build 一个…

Libgdx 导入blender 3D动画

导入blender3D模型可以看上篇libgdx导入blender模型 本篇3D动画在上篇的基础上。 具体参考官网 3D 动画和蒙皮 blender动画参考 八个案例教程带你从0到1入门blender【已完结】 打开上次的blender的,选则物体属性 点击位置和旋转x,y,z后面…

一个好的工程项目管理软件所包含的主要功能

工程项目管理软件哪个好?借助Zoho Projects强大的工程项目管理软件,您的团队可以在预算范围内按时交付。从质量保证到预算规划,Zoho Projects的工程项目管理平台旨在推动切实的成果是Zoho Projects工程项目管理软件的优势。 高质量的可交付成…

骨传导耳机是什么意思,骨传导耳机的好处具体有哪些

​在这个全民都是手机的时代,各种蓝牙耳机,入耳式耳机,真无线耳机等各种款式琳琅满目。而骨传导耳机是一种全新的科技产物,顾名思义就是通过头骨振动将声音传至外耳内的耳机。由于无需入耳,不会对耳朵造成任何影响。那…

Linux用户空间与内核空间通信(Netlink通信机制)

一,什么是Netlink通信机制 Netlink是linux提供的用于内核和用户态进程之间的通信方式。但是注意虽然Netlink主要用于用户空间和内核空间的通信,但是也能用于用户空间的两个进程通信。只是进程间通信有其他很多方式,一般不用Netlink。除非需要…

JVM详解——执行引擎

如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:耶瞳空间 一:执行引擎介绍 “虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和…

程序、进程、线程的基本概念、信号量的PV操作、前趋图的PV操作

程序、进程、线程的基本概念 进程控制块PCB的组织方式:顺序方式、链接方式、索引方式、Hash。 在JVM 中进程与线程关系 进程: 拥有资源的独立单位。可以被独立调度。可以分配资源。 线程: 可以被独立调度。同一进程中的多个线程,…

Java高效率复习-SpringMVC[SpringMVC-2]

SpringMVC获取请求参数 SpringMVC获取请求参数的两种方式↓ 通过ServletAPI获取请求参数 将HttpServletRequest作为控制器方法的形参,此时HttpServletRequest类型的参数表示封装了当前请求的请求报文的对象 通过request的API——getParameter(String s)方法来获取…

LQB,手打,PCF8591,ADDA转换,AD1是光敏电阻,AD3是电位器,DA输出

在上述at24c02de 基础上,添加三个函数 一个是读取通道1光敏电阻的数据; 一个是读取通道3的电压; 一个是输出DA的数据。。 5V的AD DA。 如果读入的电压是5V,输入AD,就是255; 如果是0V,就是00000…

05 比特币价格的含义

2009年1月,在赫尔辛基的一台小型服务器上,「中本聪」创建了一份简陋的开源代码,比特币的首个区块在这一天诞生。自此之后的十余年间,比特币和以其为代表作的区块链技术,踏上了波谲云诡的大航海征途。比特币的价格是指比…

Android---进程间通信机制3

1 服务如何注册到 SM 中 getIServiceManager().addService(name, service, false); getIServiceManger --- new ServiceManagerProxy(new BinderProxy()) BinderInternal.getContextObject --- 返回 BinderProxy 对象 ProcessState::self()->getContextObject: 创建一个 BpB…

k8s学习之路 | Day19 k8s 工作负载 Deployment(上)

文章目录1. Deployment 基础1.1 什么是 Deployment1.2 简单体验 Deployment1.3 Deployment 信息描述1.4 如何编写 Deployment2. Deployment 简单特性2.1 赋予 Pod 故障转移和自愈能力2.2 更新 Deployment2.3 回滚 Deployment2.4 暂停、恢复 Deployment 的上线过程2.5 Deploymen…

Gateway网关选型

网关一般分为流量网关和业务网关,流量网关负责接入所有的流量,并分发给不同的子系统,那在具体的业务接入之前,还有一层业务网关。流量网关提供全局性的、与后端业务应用无关的策略,例如 HTTPS证书卸载、Web防火墙、全局…

【教学典型案例】01.redis只管存不管删除让失效时间删除的问题

目录一:背景介绍二:redis1)redis数据类型①String(字符串)②Hash(哈希)③List(列表)④Set(集合)2)缓存同步①设置有效期②同步双写③异步通知3&am…

java实现UDP及TCP通信

简介UDP(User Datagram Protocol)用户数据报协议,TCP(Transmission Control Protocol) 传输控制协议,是传输层的两个重要协议。UDP是一种无连接、不可靠传输的协议。其将数据源IP、目的地IP和端口封装成数据包,不需要建立连接,每个…

引用是否有地址的讨论的

说在前头,纯属个人理解,关于引用是否有地址,实际上并没有一个很统一的说法, C标准没有规定一个引用是否需要占用一块内存。 这里引用知乎“C 中引用是一块内存的标记,那引用本身有地址吗_百度知道 (baidu.com)”里面的…

Python爬虫之Js逆向案例(17)- Scrapy JD版店铺详情|问答

本案例是案例(16)的Scrapy版本 一次运行程序,同时获取内容:获取商店详情、商品问题、商品答案; 效果如下图: 一.Scrapy框架从安装到运行的过程 1.安装scrapy框架 控制台输入:pip3 install scrapy 2.验证安装结…

基于Flink CDC datastream mysql to mysql 序列化sql 数据同步

基于Flink CDC datastream mysql to mysql 序列化sql 数据同步 Flink CDC有两种方式同步数据库: 1. 一种是通过FlinkSQL直接输入两表数据库映射进行数据同步,缺点是只能单表进行同步; 2. 一种是通过DataStream开发一个maven项目&#xff0c…

华为机试题:HJ106 字符逆序(python)

文章目录(1)题目描述(2)Python3实现(3)知识点详解1、input():获取控制台(任意形式)的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方…

面试+算法:罗马数字及Excel列名与数字互相转换

概述 算法是一个程序员的核心竞争力,也是面试最重要的考查环节。 试题 判断一个罗马数字是否有效 罗马数字包含七种字符:I,V,X,L,C,D和M,如下 字符数值I1V5X10L50C100D500M1000…