{ "name": "makefile-tools", "displayName": "Makefile Tools", "description": "Provide makefile support in VS Code: C/C++ IntelliSense, build, debug/run.", "version": "0.1.4", "publisher": "ms-vscode", "preview": true, "icon": "res/makefile-logo.png", "readme": "README.md", "author": { "name": "Microsoft Corporation" }, "license": "SEE LICENSE IN LICENSE.txt", "engines": { "vscode": "^1.30.0" }, "bugs": { "url": "https://github.com/Microsoft/vscode-makefile-tools/issues", "email": "c_cpp_support@microsoft.com" }, "repository": { "type": "git", "url": "https://github.com/Microsoft/vscode-makefile-tools.git" }, "homepage": "https://github.com/Microsoft/vscode-makefile-tools", "qna": "https://github.com/Microsoft/vscode-makefile-tools/issues", "keywords": [ "C", "C++", "IntelliSense", "Microsoft", "Makefile" ], "categories": [ "Programming Languages", "Debuggers", "Other" ], "activationEvents": [ "onCommand:makefile.setBuildConfiguration", "onCommand:makefile.setBuildTarget", "onCommand:makefile.buildTarget", "onCommand:makefile.buildCleanTarget", "onCommand:makefile.buildAll", "onCommand:makefile.buildCleanAll", "onCommand:makefile.setLaunchConfiguration", "onCommand:makefile.launchDebug", "onCommand:makefile.launchRun", "onCommand:makefile.configure", "onCommand:makefile.cleanConfigure", "onCommand:makefile.preConfigure", "onCommand:makefile.outline.setBuildConfiguration", "onCommand:makefile.outline.setBuildTarget", "onCommand:makefile.outline.buildTarget", "onCommand:makefile.outline.buildCleanTarget", "onCommand:makefile.outline.setLaunchConfiguration", "onCommand:makefile.outline.launchDebug", "onCommand:makefile.outline.launchRun", "onCommand:makefile.outline.configure", "onCommand:makefile.outline.cleanConfigure", "onCommand:makefile.outline.preConfigure", "onCommand:makefile.resetState", "onView:makefile.outline", "workspaceContains:makefile", "workspaceContains:Makefile", "workspaceContains:GNUmakefile" ], "main": "./out/src/extension.js", "contributes": { "commands": [ { "command": "makefile.buildTarget", "title": "Makefile: Build the current target" }, { "command": "makefile.buildCleanTarget", "title": "Makefile: Build clean the current target" }, { "command": "makefile.buildAll", "title": "Makefile: Build the target ALL" }, { "command": "makefile.buildCleanAll", "title": "Makefile: Build clean the target ALL" }, { "command": "makefile.launchDebug", "title": "Makefile: Debug the selected binary target" }, { "command": "makefile.launchRun", "title": "Makefile: Run the selected binary target in the terminal" }, { "command": "makefile.setBuildConfiguration", "title": "Makefile: Set the current build configuration" }, { "command": "makefile.setBuildTarget", "title": "Makefile: Set the target to be built by make" }, { "command": "makefile.setLaunchConfiguration", "title": "Makefile: Set the make launch configuration" }, { "command": "makefile.configure", "title": "Makefile: Configure" }, { "command": "makefile.cleanConfigure", "title": "Makefile: Clean configure" }, { "command": "makefile.preConfigure", "title": "Makefile: Pre-Configure" }, { "command": "makefile.outline.buildTarget", "title": "Build", "icon": { "light": "res/light/build.svg", "dark": "res/dark/build.svg" } }, { "command": "makefile.outline.buildCleanTarget", "title": "Build clean" }, { "command": "makefile.outline.launchDebug", "title": "Debug", "icon": { "light": "res/light/debug.svg", "dark": "res/dark/debug.svg" } }, { "command": "makefile.outline.launchRun", "title": "Run in terminal", "icon": { "light": "res/light/run.svg", "dark": "res/dark/run.svg" } }, { "command": "makefile.outline.setBuildConfiguration", "title": "Change build configuration", "icon": { "light": "res/light/edit.svg", "dark": "res/dark/edit.svg" } }, { "command": "makefile.outline.setBuildTarget", "title": "Change build target", "icon": { "light": "res/light/edit.svg", "dark": "res/dark/edit.svg" } }, { "command": "makefile.outline.setLaunchConfiguration", "title": "Change launch configuration", "icon": { "light": "res/light/edit.svg", "dark": "res/dark/edit.svg" } }, { "command": "makefile.outline.configure", "title": "Configure", "icon": { "light": "res/light/configure.svg", "dark": "res/dark/configure.svg" } }, { "command": "makefile.outline.cleanConfigure", "title": "Clean configure" }, { "command": "makefile.outline.preConfigure", "title": "Pre-Configure" }, { "command": "makefile.resetState", "title": "Makefile: Reset the Makefile Tools Extension workspace state (For troubleshooting)" } ], "configuration": { "type": "object", "title": "makefile", "properties": { "makefile.configurations": { "type": "array", "default": [], "description": "The user defined makefile configurations", "items": { "type": "object", "default": null, "properties": { "name": { "type": "string", "description": "The name of the makefile configuration" }, "makefilePath": { "type": "string", "description": "File path to the makefile" }, "makePath": { "type": "string", "description": "File path to the make command" }, "makeArgs": { "type": "array", "description": "Arguments to pass to the make command", "items": { "type": "string" }, "default": [] }, "buildLog": { "type": "string", "description": "File path to the build log used instead of dry-run output" } } }, "scope": "resource" }, "makefile.defaultLaunchConfiguration": { "type": "object", "default": null, "description": "Various global debugger settings", "properties": { "MIMode": { "type": "string", "description": "The non VS debugger type: gdb or lldb", "enum": [ "gdb", "lldb" ] }, "miDebuggerPath": { "type": "string", "description": "Path to the non VS debugger (gdb or lldb)" }, "stopAtEntry": { "type": "boolean", "description": "Stop at the entry point of the target", "default": false }, "symbolSearchPath": { "type": "string", "description": "The path to the symbols" } }, "scope": "resource" }, "makefile.launchConfigurations": { "type": "array", "default": [], "description": "The user defined launch (debug/run) configurations", "items": { "type": "object", "default": null, "properties": { "binaryPath": { "type": "string", "description": "The full path to the binary to run or debug" }, "binaryArgs": { "type": "array", "description": "Arguments to pass to program command line", "items": { "type": "string" }, "default": [] }, "cwd": { "type": "string", "description": "Set the working directory for the program" }, "MIMode": { "type": "string", "description": "The non VS debugger type: gdb or lldb", "enum": [ "gdb", "lldb" ] }, "miDebuggerPath": { "type": "string", "description": "Path to the non VS debugger (gdb or lldb)" }, "stopAtEntry": { "type": "boolean", "description": "Stop at the entry point of the target", "default": false }, "symbolSearchPath": { "type": "string", "description": "The path to the symbols" } } }, "scope": "resource" }, "makefile.loggingLevel": { "type": "string", "enum": [ "Normal", "Verbose", "Debug" ], "default": "Normal", "description": "The logging level for the makefile tools extension", "scope": "resource" }, "makefile.makePath": { "type": "string", "default": "make", "description": "The path to the make tool", "scope": "resource" }, "makefile.makefilePath": { "type": "string", "description": "The path to the makefile of the project", "scope": "resource" }, "makefile.buildLog": { "type": "string", "description": "The path to the build log that is read to bypass a dry-run", "default": null, "scope": "resource" }, "makefile.extensionOutputFolder": { "type": "string", "description": "The path to various output files produced by the extension", "default": "./.vscode", "scope": "resource" }, "makefile.extensionLog": { "type": "string", "description": "The path to an output file storing all content from the Makefile output channel", "default": null, "scope": "resource" }, "makefile.configurationCachePath": { "type": "string", "description": "The path to a cache file storing the output of the last dry-run make command", "default": ".vscode/configurationCache.log", "scope": "resource" }, "makefile.dryrunSwitches": { "type": "array", "default": ["--always-make", "--keep-going", "--print-directory"], "description": "Arguments to pass to the dry-run make invocation", "items": { "type": "string" }, "scope": "resource" }, "makefile.additionalCompilerNames": { "type": "array", "default": [], "description": "Names of compiler tools to be added to the extension known list", "items": { "type": "string" }, "scope": "resource" }, "makefile.excludeCompilerNames": { "type": "array", "default": [], "description": "Names of compiler tools to be excluded from the extension known list", "items": { "type": "string" }, "scope": "resource" }, "makefile.configureOnOpen": { "type": "boolean", "default": true, "description": "Automatically configure Makefile project directories when they are opened", "scope": "resource" }, "makefile.configureOnEdit": { "type": "boolean", "default": true, "description": "Automatically configure Makefile project directories when any relevant makefiles and/or settings are changed", "scope": "resource" }, "makefile.configureAfterCommand": { "type": "boolean", "default": true, "description": "Automatically configure Makefile project directories after relevant operations, like change build configuration or makefile target", "scope": "resource" }, "makefile.preConfigureScript": { "type": "string", "description": "The path to the script that needs to be run at least once before configure", "default": null, "scope": "resource" }, "makefile.alwaysPreConfigure": { "type": "boolean", "description": "Always run the pre-configure script before configure", "default": false, "scope": "resource" }, "makefile.ignoreDirectoryCommands": { "type": "boolean", "description": "Don't analyze directory changing commands like cd, push, pop.", "default": true, "scope": "resource" }, "makefile.phonyOnlyTargets": { "type": "boolean", "default": false, "description": "Display only the phony targets", "scope": "resource" }, "makefile.saveBeforeBuildOrConfigure": { "type": "boolean", "default": true, "description": "Save opened files before building or configuring", "scope": "resource" }, "makefile.buildBeforeLaunch": { "type": "boolean", "default": true, "description": "Build the current target before launch (debug/run)", "scope": "resource" }, "makefile.clearOutputBeforeBuild": { "type": "boolean", "default": true, "description": "Clear the output channel at the beginning of a build", "scope": "resource" } } }, "viewsContainers": { "activitybar": [ { "id": "makefile__viewContainer", "title": "Makefile", "icon": "res/viewcontainer.svg" } ] }, "views": { "makefile__viewContainer": [ { "id": "makefile.outline", "name": "" } ] }, "menus": { "view/title": [ { "command": "makefile.outline.preConfigure", "when": "view == makefile.outline", "group": "1_makefileOutline@1" }, { "command": "makefile.outline.configure", "when": "view == makefile.outline", "group": "1_makefileOutline@2" }, { "command": "makefile.outline.cleanConfigure", "when": "view == makefile.outline", "group": "1_makefileOutline@3" }, { "command": "makefile.outline.buildTarget", "when": "view == makefile.outline", "group": "navigation@1" }, { "command": "makefile.outline.buildCleanTarget", "when": "view == makefile.outline", "group": "1_makefileOutline@4" }, { "command": "makefile.outline.launchDebug", "when": "view == makefile.outline", "group": "navigation@2" }, { "command": "makefile.outline.launchRun", "when": "view == makefile.outline", "group": "navigation@3" } ], "view/item/context": [ { "command": "makefile.outline.configure", "when": "view == makefile.outline && viewItem =~ /nodeType=configuration/", "group": "1_stateActions@1" }, { "command": "makefile.outline.cleanConfigure", "when": "view == makefile.outline && viewItem =~ /nodeType=configuration/", "group": "1_stateActions@2" }, { "command": "makefile.outline.setBuildConfiguration", "when": "view == makefile.outline && viewItem =~ /nodeType=configuration/", "group": "inline@1" }, { "command": "makefile.outline.buildTarget", "when": "view == makefile.outline && viewItem =~ /nodeType=buildTarget/", "group": "1_stateActions@1" }, { "command": "makefile.outline.buildCleanTarget", "when": "view == makefile.outline && viewItem =~ /nodeType=buildTarget/", "group": "1_stateActions@2" }, { "command": "makefile.outline.setBuildTarget", "when": "view == makefile.outline && viewItem =~ /nodeType=buildTarget/", "group": "inline@1" }, { "command": "makefile.outline.launchDebug", "when": "view == makefile.outline && viewItem =~ /nodeType=launchTarget/", "group": "1_stateActions@1" }, { "command": "makefile.outline.launchRun", "when": "view == makefile.outline && viewItem =~ /nodeType=launchTarget/", "group": "1_stateActions@2" }, { "command": "makefile.outline.setLaunchConfiguration", "when": "view == makefile.outline && viewItem =~ /nodeType=launchTarget/", "group": "inline@1" } ] } }, "scripts": { "vscode:prepublish": "yarn compile", "compile": "tsc -p ./", "watch": "tsc -watch -p ./", "pretest": "yarn compile", "test": "node ./out/src/test/runTest.js" }, "devDependencies": { "@types/mocha": "^2.2.42", "@types/node": "^10.17.17", "tslint": "^5.20.1", "tslint-microsoft-contrib": "^6.2.0", "tslint-no-unused-expression-chai": "^0.1.4", "typescript": "^3.8.3", "vrsource-tslint-rules": "^6.0.0", "vscode": "^1.1.36", "vscode-test": "^0.4.1" }, "dependencies": { "@types/glob": "^7.1.1", "glob": "^7.1.6", "module-alias": "^2.2.2", "vscode-cpptools": "^4.0.1", "vscode-extension-telemetry": "^0.1.2", "vscode-jsonrpc": "^3.6.2" } }