Skip to content

MaxScript language for VS Code (Language Server implementation)

License

Notifications You must be signed in to change notification settings

HAG87/vscode-maxscript-lsp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MaxScript language support

Autodesk 3ds Max Scripting language (MaxScript) support.

Features

  • Syntax highlight.
  • Grammar Error checking
  • Semantic syntax highlight
  • Code autocompletion for keywords, primitives, generic functions, structs, interfaces and classes.
  • Snippets for most used code blocks.
  • Go to Symbol in document (Basic support, somewhat buggy).
  • Go to Definition and peek definition in document.
  • Code formatter
  • Code minify
  • Code prettifier
  • Help command (MaxScript help. Accessible from the right-click menu.): Select a keyword and open related online documentation.

feature X

feature X

Release Notes

Changelog

Requirements

None.

Extension Settings

  "maxscript.completions": true | false,
  "maxscript.gotosymbol": true | false,
  "maxscript.gotodefinition": true | false,
  "maxscript.semantics": true | false,
  "maxscript.helpprovider": string,

Syntax Highlight inside comments

feature X

Syntax Highlight

Basic settings for Custom highlighting.

There is a list of available scopes here, and some example rules here

  /*
  * Syntax highlight options for language maxscript
  */
  "editor.tokenColorCustomizations": {
    "textMateRules": [
      {
        "name": "Todo",
        "scope": "documentation.todo.mxs",
        "settings": { "foreground": "#4bd621", "fontStyle": "bold" }
      },
      {
        "name": "Fixme",
        "scope": "documentation.fixme.mxs",
        "settings": { "foreground": "#ce55d3", "fontStyle": "bold" }
      },
      {
        "name": "Plain text",
        "scope": "documentation.plain.mxs",
        "settings": { "foreground": "#cecece", "fontStyle": ""}
      },
      //...
    ]
  },

Executing MaxScript

MXSPyCOM project allow for editing & execution of 3ds Max MaxScript and Python files from external code editors.

  • Get it here: MXSPyCOM by Jeff Hannna
  • Follow the configuration guide to register the COM server.
  • Set up a vscode task:
{
    "version": "2.0.0",
    "tasks": [
      {
        "label": "MXSPyCOM execute Script",
        "type": "shell",
        // Add MXSPyCOM.exe to PATH or use file root, i.e: "C:/MXSPyCOM/MXSPyCOM.exe"
        "command":".\\MXSPyCOM.exe",
        "args": [
            "-s",
            { "value": "${file}", "quoting": "strong" }
        ],
        "group": "test",
        "presentation": {
            "echo": true,
            "reveal": "silent",
            "focus": false,
            "panel": "shared"
        }
    }
  ]
}
  • run the task, enjoy the 3ds max listener catching errors.

Contribute

gitHub

Note: MaxScript Structure is to say at least, chaotic. I've done my best to organize structs, classes, interfaces and so on. However the grammar is usable enough.

About

MaxScript language for VS Code (Language Server implementation)

Resources

License

Stars

Watchers

Forks

Packages

No packages published