[PATCH] D43385: [clangd] Add "clangd.trace" VSCode setting to enable tracing.
hokein added a comment. Will make a new release for clangd vscode extension today. Repository: rCTE Clang Tools Extra https://reviews.llvm.org/D43385 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D43385: [clangd] Add "clangd.trace" VSCode setting to enable tracing.
This revision was not accepted when it landed; it landed in state "Needs Review". This revision was automatically updated to reflect the committed changes. Closed by commit rCTE325477: [clangd] Add "clangd.trace" VSCode setting to enable tracing. (authored by sammccall, committed by ). Changed prior to commit: https://reviews.llvm.org/D43385?vs=134612&id=134863#toc Repository: rCTE Clang Tools Extra https://reviews.llvm.org/D43385 Files: clangd/clients/clangd-vscode/package.json clangd/clients/clangd-vscode/src/extension.ts Index: clangd/clients/clangd-vscode/src/extension.ts === --- clangd/clients/clangd-vscode/src/extension.ts +++ clangd/clients/clangd-vscode/src/extension.ts @@ -16,11 +16,16 @@ * your extension is activated the very first time the command is executed */ export function activate(context: vscode.ExtensionContext) { -const clangdPath = getConfig('path'); -const clangdArgs = getConfig('arguments'); const syncFileEvents = getConfig('syncFileEvents', true); -const serverOptions: vscodelc.ServerOptions = { command: clangdPath, args: clangdArgs }; +const clangd: vscodelc.Executable = { +command: getConfig('path'), +args: getConfig('arguments') +}; +const traceFile = getConfig('trace'); +if (traceFile != null) +clangd.options = {env: {CLANGD_TRACE: traceFile}}; +const serverOptions: vscodelc.ServerOptions = clangd; const filePattern: string = '**/*.{' + ['cpp', 'c', 'cc', 'cxx', 'c++', 'm', 'mm', 'h', 'hh', 'hpp', 'hxx', 'inc'].join() + '}'; Index: clangd/clients/clangd-vscode/package.json === --- clangd/clients/clangd-vscode/package.json +++ clangd/clients/clangd-vscode/package.json @@ -43,8 +43,8 @@ "@types/mocha": "^2.2.32" }, "repository": { - "type": "svn", - "url": "http://llvm.org/svn/llvm-project/clang-tools-extra/trunk/clangd/clients/clangd-vscode/"; +"type": "svn", +"url": "http://llvm.org/svn/llvm-project/clang-tools-extra/trunk/clangd/clients/clangd-vscode/"; }, "contributes": { "configuration": { @@ -68,6 +68,10 @@ "type": "boolean", "default": true, "description": "Whether or not to send file events to clangd (File created, changed or deleted). This can be disabled for performance consideration." +}, +"clangd.trace": { +"type": "string", +"description": "Names a file that clangd should log a performance trace to, in chrome trace-viewer JSON format." } } } Index: clangd/clients/clangd-vscode/src/extension.ts === --- clangd/clients/clangd-vscode/src/extension.ts +++ clangd/clients/clangd-vscode/src/extension.ts @@ -16,11 +16,16 @@ * your extension is activated the very first time the command is executed */ export function activate(context: vscode.ExtensionContext) { -const clangdPath = getConfig('path'); -const clangdArgs = getConfig('arguments'); const syncFileEvents = getConfig('syncFileEvents', true); -const serverOptions: vscodelc.ServerOptions = { command: clangdPath, args: clangdArgs }; +const clangd: vscodelc.Executable = { +command: getConfig('path'), +args: getConfig('arguments') +}; +const traceFile = getConfig('trace'); +if (traceFile != null) +clangd.options = {env: {CLANGD_TRACE: traceFile}}; +const serverOptions: vscodelc.ServerOptions = clangd; const filePattern: string = '**/*.{' + ['cpp', 'c', 'cc', 'cxx', 'c++', 'm', 'mm', 'h', 'hh', 'hpp', 'hxx', 'inc'].join() + '}'; Index: clangd/clients/clangd-vscode/package.json === --- clangd/clients/clangd-vscode/package.json +++ clangd/clients/clangd-vscode/package.json @@ -43,8 +43,8 @@ "@types/mocha": "^2.2.32" }, "repository": { - "type": "svn", - "url": "http://llvm.org/svn/llvm-project/clang-tools-extra/trunk/clangd/clients/clangd-vscode/"; +"type": "svn", +"url": "http://llvm.org/svn/llvm-project/clang-tools-extra/trunk/clangd/clients/clangd-vscode/"; }, "contributes": { "configuration": { @@ -68,6 +68,10 @@ "type": "boolean", "default": true, "description": "Whether or not to send file events to clangd (File created, changed or deleted). This can be disabled for performance consideration." +}, +"clangd.trace": { +"type": "string", +"description": "Names a file that clangd should log a performance trace to, in chrome trace-viewer JSON format."
[PATCH] D43385: [clangd] Add "clangd.trace" VSCode setting to enable tracing.
ilya-biryukov added a subscriber: hokein. ilya-biryukov added a comment. LGTM. We'll need to publish new version of VSCode extensions. +@hokein, who did that before. Repository: rCTE Clang Tools Extra https://reviews.llvm.org/D43385 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D43385: [clangd] Add "clangd.trace" VSCode setting to enable tracing.
sammccall created this revision. sammccall added a reviewer: ilya-biryukov. Herald added subscribers: cfe-commits, ioeric, jkorous-apple, klimek. Setting the CLANGD_TRACE environment variable directly is awkward with VSCode's "reload from the command palette" workflow. Repository: rCTE Clang Tools Extra https://reviews.llvm.org/D43385 Files: clangd/clients/clangd-vscode/package.json clangd/clients/clangd-vscode/src/extension.ts Index: clangd/clients/clangd-vscode/src/extension.ts === --- clangd/clients/clangd-vscode/src/extension.ts +++ clangd/clients/clangd-vscode/src/extension.ts @@ -16,11 +16,16 @@ * your extension is activated the very first time the command is executed */ export function activate(context: vscode.ExtensionContext) { -const clangdPath = getConfig('path'); -const clangdArgs = getConfig('arguments'); const syncFileEvents = getConfig('syncFileEvents', true); -const serverOptions: vscodelc.ServerOptions = { command: clangdPath, args: clangdArgs }; +const clangd: vscodelc.Executable = { +command: getConfig('path'), +args: getConfig('arguments') +}; +const traceFile = getConfig('trace'); +if (traceFile != null) +clangd.options = {env: {CLANGD_TRACE: traceFile}}; +const serverOptions: vscodelc.ServerOptions = clangd; const filePattern: string = '**/*.{' + ['cpp', 'c', 'cc', 'cxx', 'c++', 'm', 'mm', 'h', 'hh', 'hpp', 'hxx', 'inc'].join() + '}'; Index: clangd/clients/clangd-vscode/package.json === --- clangd/clients/clangd-vscode/package.json +++ clangd/clients/clangd-vscode/package.json @@ -43,8 +43,8 @@ "@types/mocha": "^2.2.32" }, "repository": { - "type": "svn", - "url": "http://llvm.org/svn/llvm-project/clang-tools-extra/trunk/clangd/clients/clangd-vscode/"; +"type": "svn", +"url": "http://llvm.org/svn/llvm-project/clang-tools-extra/trunk/clangd/clients/clangd-vscode/"; }, "contributes": { "configuration": { @@ -68,6 +68,10 @@ "type": "boolean", "default": true, "description": "Whether or not to send file events to clangd (File created, changed or deleted). This can be disabled for performance consideration." +}, +"clangd.trace": { +"type": "string", +"description": "Names a file that clangd should log a performance trace to, in chrome trace-viewer JSON format." } } } Index: clangd/clients/clangd-vscode/src/extension.ts === --- clangd/clients/clangd-vscode/src/extension.ts +++ clangd/clients/clangd-vscode/src/extension.ts @@ -16,11 +16,16 @@ * your extension is activated the very first time the command is executed */ export function activate(context: vscode.ExtensionContext) { -const clangdPath = getConfig('path'); -const clangdArgs = getConfig('arguments'); const syncFileEvents = getConfig('syncFileEvents', true); -const serverOptions: vscodelc.ServerOptions = { command: clangdPath, args: clangdArgs }; +const clangd: vscodelc.Executable = { +command: getConfig('path'), +args: getConfig('arguments') +}; +const traceFile = getConfig('trace'); +if (traceFile != null) +clangd.options = {env: {CLANGD_TRACE: traceFile}}; +const serverOptions: vscodelc.ServerOptions = clangd; const filePattern: string = '**/*.{' + ['cpp', 'c', 'cc', 'cxx', 'c++', 'm', 'mm', 'h', 'hh', 'hpp', 'hxx', 'inc'].join() + '}'; Index: clangd/clients/clangd-vscode/package.json === --- clangd/clients/clangd-vscode/package.json +++ clangd/clients/clangd-vscode/package.json @@ -43,8 +43,8 @@ "@types/mocha": "^2.2.32" }, "repository": { - "type": "svn", - "url": "http://llvm.org/svn/llvm-project/clang-tools-extra/trunk/clangd/clients/clangd-vscode/"; +"type": "svn", +"url": "http://llvm.org/svn/llvm-project/clang-tools-extra/trunk/clangd/clients/clangd-vscode/"; }, "contributes": { "configuration": { @@ -68,6 +68,10 @@ "type": "boolean", "default": true, "description": "Whether or not to send file events to clangd (File created, changed or deleted). This can be disabled for performance consideration." +}, +"clangd.trace": { +"type": "string", +"description": "Names a file that clangd should log a performance trace to, in chrome trace-viewer JSON format." } } } ___ cfe-commits maili