{ "name": "ty", "displayName": "ty", "description": "A Visual Studio Code extension with support for the ty type checker and language server.", "version": "2026.60.0", "serverInfo": { "name": "ty", "module": "ty" }, "publisher": "astral-sh", "license": "MIT", "homepage": "https://github.com/astral-sh/ty-vscode", "repository": { "type": "git", "url": "https://github.com/astral-sh/ty-vscode.git" }, "bugs": { "url": "https://github.com/astral-sh/ty-vscode/issues" }, "icon": "icon.png", "galleryBanner": { "color": "#1e415e", "theme": "dark" }, "keywords": [ "python", "type checker", "language server", "ty" ], "engines": { "vscode": "^1.75.0" }, "categories": [ "Programming Languages" ], "extensionDependencies": [ "ms-python.python" ], "capabilities": { "untrustedWorkspaces": { "supported": "limited", "restrictedConfigurations": [ "ty.importStrategy", "ty.interpreter" ] }, "virtualWorkspaces": { "supported": false, "description": "Virtual Workspaces are not supported by the ty extension." } }, "activationEvents": [ "onLanguage:python", "workspaceContains:*.py", "workspaceContains:*.ipynb" ], "main": "./dist/extension.js", "scripts": { "fmt": "prettier -w .", "fmt-check": "prettier --check .", "lint": "eslint src --ext ts --max-warnings=0", "compile": "webpack", "compile-tests": "tsc -p . --outDir out", "tsc": "tsc --noEmit", "package": "webpack --mode production --devtool source-map --config ./webpack.config.js", "watch": "webpack --watch", "vsce-package": "vsce package -o ty.vsix", "vscode:prepublish": "npm run package", "pretest": "npm run compile-tests && npm run compile", "tests": "vscode-test" }, "contributes": { "configuration": { "properties": { "ty.configuration": { "default": null, "markdownDescription": "Inline JSON configuration for ty settings. Overrides settings in a configuration file. For example\n\n```json\n{\n \"rules\": {\n \"unresolved-reference\": \"ignore\"\n }\n}\n``` ", "scope": "resource", "type": "object" }, "ty.configurationFile": { "default": null, "markdownDescription": "Path to a `ty.toml` configuration file.", "scope": "resource", "type": "string" }, "ty.disableLanguageServices": { "default": false, "markdownDescription": "Whether to disable all language services for ty like completions, hover, goto definition, etc.", "scope": "resource", "type": "boolean" }, "ty.diagnosticMode": { "default": "openFilesOnly", "markdownDescription": "Analysis scope for showing diagnostics.", "enum": [ "openFilesOnly", "workspace", "off" ], "enumDescriptions": [ "Analyzes and reports errors on only open files.", "Analyzes and reports errors on all files in the workspace.", "Turn all diagnostics off. Use ty as a language server only." ], "scope": "window", "type": "string" }, "ty.showSyntaxErrors": { "default": true, "markdownDescription": "Whether to show syntax error diagnostics.", "scope": "window", "type": "boolean" }, "ty.importStrategy": { "default": "fromEnvironment", "markdownDescription": "Strategy for loading the `ty` executable. `fromEnvironment` picks up ty from the environment, falling back to the bundled version if needed. `useBundled` uses the version bundled with the extension.", "enum": [ "fromEnvironment", "useBundled" ], "enumDescriptions": [ "Use `ty` from environment, falling back to the bundled version if `ty` is not found.", "Always use the bundled version of `ty`." ], "scope": "window", "type": "string" }, "ty.inlayHints.variableTypes": { "default": true, "markdownDescription": "Whether to enable inlay hints for variable types.", "scope": "resource", "type": "boolean" }, "ty.inlayHints.callArgumentNames": { "default": true, "markdownDescription": "Whether to enable inlay hints for call argument names.", "scope": "resource", "type": "boolean" }, "ty.completions.autoImport": { "default": true, "markdownDescription": "Whether to include auto-import code completions in ty.", "scope": "resource", "type": "boolean" }, "ty.completions.completeFunctionParentheses": { "default": false, "markdownDescription": "Add parentheses to function completions.", "scope": "resource", "type": "boolean" }, "ty.interpreter": { "default": null, "markdownDescription": "Path to a Python interpreter to use to find the `ty` executable.", "scope": "window", "type": "string" }, "ty.logLevel": { "default": null, "markdownDescription": "Controls the log level of the language server.", "enum": [ "error", "warn", "info", "debug", "trace" ], "scope": "application", "type": "string" }, "ty.logFile": { "default": null, "markdownDescription": "Path to the log file for the language server.", "scope": "application", "type": "string" }, "ty.path": { "default": [], "markdownDescription": "Path to a custom `ty` executable, e.g., `[\"/path/to/ty\"]`.", "scope": "window", "items": { "type": "string" }, "type": "array" }, "ty.trace.server": { "type": "string", "enum": [ "off", "messages", "verbose" ], "default": "off", "markdownDescription": "Traces the communication between VSCode and the ty language server." } } }, "commands": [ { "title": "Restart server", "category": "ty", "command": "ty.restart" }, { "title": "Show client logs", "category": "ty", "command": "ty.showLogs" }, { "title": "Show server logs", "category": "ty", "command": "ty.showServerLogs" }, { "title": "Open debug information", "category": "ty", "command": "ty.debugInformation" } ], "configurationDefaults": { "python.languageServer": "None" } }, "dependencies": { "@vscode/python-extension": "^1.0.5", "anser": "^2.3.5", "fs-extra": "^11.3.0", "vscode-languageclient": "^9.0.1", "which": "^7.0.0" }, "devDependencies": { "@types/fs-extra": "^11.0.4", "@types/node": "^24.0.0", "@types/vscode": "1.75.0", "@types/which": "^3.0.4", "@vscode/python-environments": "^1.0.0", "@vscode/vsce": "^3.4.2", "eslint": "^10.0.0", "eslint-import-resolver-typescript": "^4.4.5", "eslint-plugin-import-x": "^4.16.2", "glob": "^13.0.0", "ovsx": "^1.0.0", "prettier": "^3.5.3", "ts-loader": "^9.5.2", "typescript": "^6.0.0", "typescript-eslint": "^8.33.0", "webpack": "^5.99.9", "webpack-cli": "^7.0.0" }, "prettier": { "printWidth": 100, "tabWidth": 2, "trailingComma": "all" } }