{ "name": "csharp", "publisher": "ms-vscode", "version": "1.4.0-beta8", "description": "C# for Visual Studio Code (powered by OmniSharp).", "displayName": "C#", "author": "Microsoft Corporation", "license": "SEE LICENSE IN RuntimeLicenses/license.txt", "icon": "images/csharpIcon.png", "preview": "true", "bugs": { "url": "https://github.com/OmniSharp/omnisharp-vscode/issues" }, "categories": [ "Debuggers", "Languages", "Linters", "Snippets" ], "main": "./out/main", "scripts": { "postinstall": "node ./node_modules/vscode/bin/install && tsc" }, "dependencies": { "decompress": "^4.0.0", "del": "^2.0.2", "fs-extra-promise": "^0.3.1", "http-proxy-agent": "^1.0.0", "https-proxy-agent": "^1.0.0", "open": "*", "semver": "*", "tmp": "0.0.28", "vscode-debugprotocol": "^1.6.1", "vscode-extension-telemetry": "0.0.4" }, "devDependencies": { "gulp": "^3.9.1", "gulp-tslint": "^4.3.0", "tslint": "^3.3.0", "tslint-microsoft-contrib": "^2.0.0", "typescript": "^1.7.3", "vscode": "^0.11.13", "vsce": "^1.7.0" }, "engines": { "vscode": "^1.3.0" }, "activationEvents": [ "onLanguage:csharp", "onCommand:o.restart", "onCommand:o.pickProjectAndStart", "onCommand:o.showOutput", "onCommand:dotnet.restore", "onCommand:csharp.downloadDebugger", "onCommand:csharp.listProcess", "workspaceContains:project.json" ], "contributes": { "languages": [ { "id": "csharp", "extensions": [ ".cs", ".csx" ], "aliases": [ "C#", "csharp" ], "configuration": "./csharp.configuration.json" } ], "configuration": { "title": "C# configuration", "properties": { "csharp.suppressDotnetInstallWarning": { "type": "boolean", "default": false, "description": "Suppress the warning that the .NET CLI is not on the path." }, "omnisharp.path": { "type": [ "string", "null" ], "default": null, "description": "Specifies the full path to the OmniSharp server." }, "omnisharp.useMono": { "type": "boolean", "default": false, "description": "Launch OmniSharp with Mono." }, "omnisharp.loggingLevel": { "type": "string", "default": "default", "enum": [ "default", "verbose" ], "description": "Specifies the level of logging output from the OmniSharp server." }, "omnisharp.autoStart": { "type": "boolean", "default": true, "description": "Specifies whether the OmniSharp server will be automatically started or not. If false, OmniSharp can be started with the 'Restart OmniSharp' command" } } }, "grammars": [ { "language": "csharp", "scopeName": "source.cs", "path": "./syntaxes/csharp.json" } ], "jsonValidation": [ { "fileMatch": "project.json", "url": "http://json.schemastore.org/project" } ], "commands": [ { "command": "o.restart", "title": "Restart OmniSharp", "category": "OmniSharp" }, { "command": "o.pickProjectAndStart", "title": "Select Project", "category": "OmniSharp" }, { "command": "dotnet.restore", "title": "Restore Packages", "category": "dotnet" }, { "command": "csharp.downloadDebugger", "title": "Download .NET Core Debugger", "category": "Debug" }, { "command": "csharp.listProcess", "title": "List process for attach", "category": "CSharp" } ], "keybindings": [ { "command": "o.showOutput", "key": "Ctrl+L L", "mac": "Cmd+L L" }, { "key": "shift+0", "command": "^acceptSelectedSuggestion", "when": "editorTextFocus && suggestWidgetVisible && editorLangId == 'csharp' && suggestionSupportsAcceptOnKey" }, { "key": "shift+9", "command": "^acceptSelectedSuggestion", "when": "editorTextFocus && suggestWidgetVisible && editorLangId == 'csharp' && suggestionSupportsAcceptOnKey" }, { "key": ".", "command": "^acceptSelectedSuggestion", "when": "editorTextFocus && suggestWidgetVisible && editorLangId == 'csharp' && suggestionSupportsAcceptOnKey" } ], "snippets": [ { "language": "csharp", "path": "./snippets/csharp.json" } ], "debuggers": [ { "type": "coreclr", "label": ".NET Core", "enableBreakpointsFor": { "languageIds": [ "csharp", "razor" ] }, "runtime": "node", "runtimeArgs": [], "variables": { "pickProcess": "csharp.listProcess" }, "program": "./out/coreclr-debug/proxy.js", "aiKey": "AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217", "configurationAttributes": { "launch": { "required": [ "program", "cwd" ], "properties": { "program": { "type": "string", "description": "Path to the application dll or .NET Core host executable to launch. Example: '${workspaceRoot}/bin/Debug//' where:\n: (example: 'netstandard1.5') This is the name of the framework that the app is being built for. It is set in the project.json file.\n: (example: 'MyApp') The name of the project being debugged.", "default": "${workspaceRoot}/bin/Debug//" }, "cwd": { "type": "string", "description": "Path to the working directory of the program being debugged. Default is the current workspace.", "default": "${workspaceRoot}" }, "args": { "type": "array", "description": "Command line arguments passed to the program.", "items": { "type": "string" }, "default": [] }, "stopAtEntry": { "type": "boolean", "description": "If true, the debugger should stop at the entry point of the target.", "default": false }, "launchBrowser": { "type": "object", "description": "Describes options to launch a web browser as part of launch", "default": { "enabled": true, "args": "${auto-detect-url}", "windows": { "command": "cmd.exe", "args": "/C start ${auto-detect-url}" }, "osx": { "command": "open" }, "linux": { "command": "xdg-open" } }, "properties": { "enabled": { "type": "boolean", "description": "Whether web browser launch is enabled", "default": true }, "args": { "type": "string", "description": "The arguments to pass to the command to open the browser. Use ${auto-detect-url} to automatically use the address the server is listening to", "default": "${auto-detect-url}" }, "osx": { "type": "object", "description": "OSX-specific web launch configuration options", "default": { "command": "open" }, "properties": { "command": { "type": "string", "description": "The command to execute for launching the web browser", "default": "open" }, "args": { "type": "string", "description": "The arguments to pass to the command to open the browser. Use ${auto-detect-url} to automatically use the address the server is listening to", "default": "${auto-detect-url}" } } }, "linux": { "type": "object", "description": "Linux-specific web launch configuration options", "default": { "command": "xdg-open" }, "properties": { "command": { "type": "string", "description": "The command to execute for launching the web browser", "default": "xdg-open" }, "args": { "type": "string", "description": "The arguments to pass to the command to open the browser. Use ${auto-detect-url} to automatically use the address the server is listening to", "default": "${auto-detect-url}" } } }, "windows": { "type": "object", "description": "Windows-specific web launch configuration options", "default": { "command": "cmd.exe", "args": "/C start ${auto-detect-url}" }, "properties": { "command": { "type": "string", "description": "The command to execute for launching the web browser", "default": "cmd.exe" }, "args": { "type": "string", "description": "The arguments to pass to the command to open the browser. Use ${auto-detect-url} to automatically use the address the server is listening to", "default": "/C start ${auto-detect-url}" } } } } }, "env": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Environment variables passed to the program.", "default": { } }, "externalConsole": { "type": "boolean", "description": "If 'true' the debugger should launch the target application into a new external console.", "default": false }, "sourceFileMap": { "type": "object", "description": "Optional source file mappings passed to the debug engine. Example: '{ \"C:\\foo\":\"/home/user/foo\" }'", "default": { "": "" } }, "justMyCode": { "type": "boolean", "description": "Optional flag to only show user code.", "default": true }, "symbolPath": { "type": "array", "description": "Array of directories to use to search for .pdb files. These directories will be searched in addition to the default locations -- next to the module and the path where the pdb was originally dropped to. Example: '[ \"/Volumes/symbols\" ]", "items": { "type": "string" }, "default": [] }, "requireExactSource": { "type": "boolean", "description": "Optional flag to require current source code to match the pdb.", "default": true }, "enableStepFiltering": { "type": "boolean", "description": "Optional flag to enable stepping over Properties and Operators.", "default": true }, "logging": { "type": "object", "required": [], "default": {}, "description": "Optional flags to determine what types of messages should be logged to the output window.", "properties": { "exceptions": { "type": "boolean", "description": "Optional flag to determine whether exception messages should be logged to the output window.", "default": true }, "moduleLoad": { "type": "boolean", "description": "Optional flag to determine whether module load events should be logged to the output window.", "default": true }, "programOutput": { "type": "boolean", "description": "Optional flag to determine whether program output should be logged to the output window when not using an external console.", "default": true }, "engineLogging": { "type": "boolean", "description": "Optional flag to determine whether diagnostic engine logs should be logged to the output window.", "default": false }, "trace": { "type": "boolean", "description": "Optional flag to determine whether diagnostic adapter command tracing should be logged to the output window.", "default": false }, "traceResponse": { "type": "boolean", "description": "Optional flag to determine whether diagnostic adapter command and response tracing should be logged to the output window.", "default": false } } }, "pipeTransport": { "type": "object", "description": "When present, this tells the debugger to connect to a remote computer using another executable as a pipe that will relay standard input/output between VS Code and the .NET Core debugger backend executable (clrdbg).", "default": { "pipeCwd": "${workspaceRoot}", "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", "pipeArgs": [] }, "properties" : { "pipeCwd": { "type": "string", "description": "The fully qualified path to the working directory for the pipe program.", "default": "${workspaceRoot}" }, "pipeProgram": { "type": "string", "description": "The fully qualified pipe command to execute.", "default": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'" }, "pipeArgs": { "type": "array", "description": "Command line arguments passed to the pipe program.", "items": { "type": "string" }, "default": [] }, "pipeEnv": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Environment variables passed to the pipe program.", "default": { } }, "windows": { "type": "object", "description": "Windows-specific pipe launch configuration options", "default": { "pipeCwd": "${workspaceRoot}", "pipeProgram": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'", "pipeArgs": [] }, "properties": { "pipeCwd": { "type": "string", "description": "The fully qualified path to the working directory for the pipe program.", "default": "${workspaceRoot}" }, "pipeProgram": { "type": "string", "description": "The fully qualified pipe command to execute.", "default": "enter the fully qualified path for the pipe program name, for example 'c:\\tools\\plink.exe'" }, "pipeArgs": { "type": "array", "description": "Command line arguments passed to the pipe program.", "items": { "type": "string" }, "default": [] }, "pipeEnv": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Environment variables passed to the pipe program.", "default": { } } } }, "osx": { "type": "object", "description": "OSX-specific pipe launch configuration options", "default": { "pipeCwd": "${workspaceRoot}", "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", "pipeArgs": [] }, "properties": { "pipeCwd": { "type": "string", "description": "The fully qualified path to the working directory for the pipe program.", "default": "${workspaceRoot}" }, "pipeProgram": { "type": "string", "description": "The fully qualified pipe command to execute.", "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" }, "pipeArgs": { "type": "array", "description": "Command line arguments passed to the pipe program.", "items": { "type": "string" }, "default": [] }, "pipeEnv": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Environment variables passed to the pipe program.", "default": { } } } }, "linux": { "type": "object", "description": "Linux-specific pipe launch configuration options", "default": { "pipeCwd": "${workspaceRoot}", "pipeProgram": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'", "pipeArgs": [] }, "properties": { "pipeCwd": { "type": "string", "description": "The fully qualified path to the working directory for the pipe program.", "default": "${workspaceRoot}" }, "pipeProgram": { "type": "string", "description": "The fully qualified pipe command to execute.", "default": "enter the fully qualified path for the pipe program name, for example '/usr/bin/ssh'" }, "pipeArgs": { "type": "array", "description": "Command line arguments passed to the pipe program.", "items": { "type": "string" }, "default": [] }, "pipeEnv": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Environment variables passed to the pipe program.", "default": { } } } } } } } }, "attach": { "required": [], "properties": { "processName": { "type": "string", "description": "", "default": "The process name to attach to. If this is used, 'processId' should not be used." }, "processId": { "anyOf": [ { "type": "string", "description": "The process id to attach to. Use \"${command.pickProcesss}\" to get a list of running processes to attach to. If 'processId' used, 'processName' should not be used.", "default": "${command.pickProcess}" }, { "type": "integer", "description": "The process id to attach to. Use \"${command.pickProcesss}\" to get a list of running processes to attach to. If 'processId' used, 'processName' should not be used.", "default": 0 } ] }, "sourceFileMap": { "type": "object", "description": "Optional source file mappings passed to the debug engine. Example: '{ \"C:\\foo\":\"/home/user/foo\" }'", "default": { "": "" } }, "justMyCode": { "type": "boolean", "description": "Optional flag to only show user code.", "default": true }, "symbolPath": { "type": "array", "description": "Array of directories to use to search for .pdb files. These directories will be searched in addition to the default locations -- next to the module and the path where the pdb was originally dropped to. Example: '[ \"~/symbols\" ]", "items": { "type": "string" }, "default": [] }, "requireExactSource": { "type": "boolean", "description": "Optional flag to require current source code to match the pdb.", "default": true }, "enableStepFiltering": { "type": "boolean", "description": "Optional flag to enable stepping over Properties and Operators.", "default": true }, "logging": { "type": "object", "required": [], "default": {}, "description": "Optional flags to determine what types of messages should be logged to the output window.", "properties": { "exceptions": { "type": "boolean", "description": "Optional flag to determine whether exception messages should be logged to the output window.", "default": true }, "moduleLoad": { "type": "boolean", "description": "Optional flag to determine whether module load events should be logged to the output window.", "default": true }, "programOutput": { "type": "boolean", "description": "Optional flag to determine whether program output should be logged to the output window when not using an external console.", "default": true }, "engineLogging": { "type": "boolean", "description": "Optional flag to determine whether diagnostic engine logs should be logged to the output window.", "default": false }, "trace": { "type": "boolean", "description": "Optional flag to determine whether diagnostic adapter command tracing should be logged to the output window.", "default": false }, "traceResponse": { "type": "boolean", "description": "Optional flag to determine whether diagnostic adapter command and response tracing should be logged to the output window.", "default": false } } } } } }, "initialConfigurations": [ { "name": ".NET Core Launch (console)", "type": "coreclr", "request": "launch", "preLaunchTask": "build", "program": "${workspaceRoot}/bin/Debug//", "args": [], "cwd": "${workspaceRoot}", "stopAtEntry": false, "externalConsole": false }, { "name": ".NET Core Launch (web)", "type": "coreclr", "request": "launch", "preLaunchTask": "build", "program": "${workspaceRoot}/bin/Debug//", "args": [], "cwd": "${workspaceRoot}", "stopAtEntry": false, "launchBrowser": { "enabled": true, "args": "${auto-detect-url}", "windows": { "command": "cmd.exe", "args": "/C start ${auto-detect-url}" }, "osx": { "command": "open" }, "linux": { "command": "xdg-open" } }, "env": { "ASPNETCORE_ENVIRONMENT": "Development" }, "sourceFileMap": { "/Views": "${workspaceRoot}/Views" } }, { "name": ".NET Core Attach", "type": "coreclr", "request": "attach", "processId": "${command.pickProcess}" } ] } ] } }