Repository files navigation

Task Viewer

Provides quick access to your workspace tasks and/or launch scripts from the explorer or debug view.

View

☕ Support My Work

If you enjoy this extension, consider buying me a cup of tea to support future updates!

Features

  • Tasks grouped by task group
  • Full support for multi-root workspaces, and optional grouping by folder
  • Task icons based on task name, with colors based on task type
  • View all tasks, or only configured tasks (found in tasks.json)
  • Launch scripts optionally shown in task view
  • Separate Launch script view in debug pane, grouped by presentation group
  • Task and Launch script execution on click from the explorer view
  • Task and Launch script editing (opens in appropriate tasks.json or launch.json)
  • Visual status updates for running, successful, or failed tasks
  • Stop button for running tasks or active debug sessions ()

Icons

Theme icons are associated with strings found in task or launch script names, and can be customized using the setting taskviewer.icons. The default associations are:

  • clean: trash ()
  • build: package ()
  • rebuild: package ()
  • test: beaker ()
  • debug: bug ()
  • launch: rocket ()
  • terminal: terminal ()
  • watch: eye ()
  • deploy: cloud-upload ()
  • start: play ()
  • stop: debug-stop ()
  • publish: cloud ()
  • default: gear ()

Colors

Theme colors are associated with task or launch script types, and can be customized using the setting taskviewer.colors. The default associations are:

Tasks
  • npm: chart.red
  • shell: chart.blue
  • typescript: chart.purple
  • gulp: chart.orange
  • grunt: chart.yellow
Launch scripts
  • node: chart.red
  • extensionHost: chart.blue
  • chrome: chart.green
  • msedge: chart.purple
  • compound: chart.blue
  • default: chart.yellow

Extension

This extension provides an extension mechanism of its own to allow customisation by task type, and to extend the list of items shown.

API:

interfaceTypeHandler{makeItem(id: string,task: vscode.Task|undefined,def: vscode.TaskDefinition,workspace?: vscode.WorkspaceFolder): CustomItem|void;}interfaceTaskProvider{provideItems(): Promise<CustomItem[]>;}interfaceCustomItem{title: string;// item title displayed in treegroup?: string;// optional group for grouped placement in treeicon?: vscode.ThemeIcon;// optional icon displayed in treetooltip?:	vscode.MarkdownString;run?(): void;// called when user tries to run this itemedit?():	void;// called when user tries to edit this itemchildren?(): Promise<CustomItem[]>;// optional child nodes displayed in tree}//APIregisterType(type: string,handler: TypeHandler){this.types[type]=handler;}registerProvider(handler: TaskProvider){this.providers.push(handler);}

To use, first obtain the api from this extension, then use registerType to override the items displayed for a specific task type, and/or use registerProvider to create custom items.

Example:

importtype{exportsastaskviewerExports,CustomItem}from'<path to extensions>/isopodlabs.taskview-0.5.1/out/extension';//in activate
...
consttaskview=vscode.extensions.getExtension('isopodlabs.taskviewer');if(taskview){taskview.activate().then(()=>{constapi=taskview.exportsastaskviewerExports;api.registerType('myTaskType',{makeItem(id,task,def,workspace){return{title: 'My amazing task',
...
}}});api.registerProvider({asyncprovideItems(){constitems: CustomItem[]=[];//make some itemsreturnitems;}});---})}
...

Please ask on github for more details.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Task Viewer

Provides quick access to your workspace tasks and/or launch scripts from the explorer or debug view.

View

☕ Support My Work

If you enjoy this extension, consider buying me a cup of tea to support future updates!

Features

  • Tasks grouped by task group
  • Full support for multi-root workspaces, and optional grouping by folder
  • Task icons based on task name, with colors based on task type
  • View all tasks, or only configured tasks (found in tasks.json)
  • Launch scripts optionally shown in task view
  • Separate Launch script view in debug pane, grouped by presentation group
  • Task and Launch script execution on click from the explorer view
  • Task and Launch script editing (opens in appropriate tasks.json or launch.json)
  • Visual status updates for running, successful, or failed tasks
  • Stop button for running tasks or active debug sessions ()

Icons

Theme icons are associated with strings found in task or launch script names, and can be customized using the setting taskviewer.icons. The default associations are:

  • clean: trash ()
  • build: package ()
  • rebuild: package ()
  • test: beaker ()
  • debug: bug ()
  • launch: rocket ()
  • terminal: terminal ()
  • watch: eye ()
  • deploy: cloud-upload ()
  • start: play ()
  • stop: debug-stop ()
  • publish: cloud ()
  • default: gear ()

Colors

Theme colors are associated with task or launch script types, and can be customized using the setting taskviewer.colors. The default associations are:

Tasks
  • npm: chart.red
  • shell: chart.blue
  • typescript: chart.purple
  • gulp: chart.orange
  • grunt: chart.yellow
Launch scripts
  • node: chart.red
  • extensionHost: chart.blue
  • chrome: chart.green
  • msedge: chart.purple
  • compound: chart.blue
  • default: chart.yellow

Extension

This extension provides an extension mechanism of its own to allow customisation by task type, and to extend the list of items shown.

API:

interfaceTypeHandler{makeItem(id: string,task: vscode.Task|undefined,def: vscode.TaskDefinition,workspace?: vscode.WorkspaceFolder): CustomItem|void;}interfaceTaskProvider{provideItems(): Promise<CustomItem[]>;}interfaceCustomItem{title: string;// item title displayed in treegroup?: string;// optional group for grouped placement in treeicon?: vscode.ThemeIcon;// optional icon displayed in treetooltip?:	vscode.MarkdownString;run?(): void;// called when user tries to run this itemedit?():	void;// called when user tries to edit this itemchildren?(): Promise<CustomItem[]>;// optional child nodes displayed in tree}//APIregisterType(type: string,handler: TypeHandler){this.types[type]=handler;}registerProvider(handler: TaskProvider){this.providers.push(handler);}

To use, first obtain the api from this extension, then use registerType to override the items displayed for a specific task type, and/or use registerProvider to create custom items.

Example:

importtype{exportsastaskviewerExports,CustomItem}from'<path to extensions>/isopodlabs.taskview-0.5.1/out/extension';//in activate
...
consttaskview=vscode.extensions.getExtension('isopodlabs.taskviewer');if(taskview){taskview.activate().then(()=>{constapi=taskview.exportsastaskviewerExports;api.registerType('myTaskType',{makeItem(id,task,def,workspace){return{title: 'My amazing task',
...
}}});api.registerProvider({asyncprovideItems(){constitems: CustomItem[]=[];//make some itemsreturnitems;}});---})}
...

Please ask on github for more details.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Task Viewer

Provides quick access to your workspace tasks and/or launch scripts from the explorer or debug view.

View

☕ Support My Work

If you enjoy this extension, consider buying me a cup of tea to support future updates!

Features

  • Tasks grouped by task group
  • Full support for multi-root workspaces, and optional grouping by folder
  • Task icons based on task name, with colors based on task type
  • View all tasks, or only configured tasks (found in tasks.json)
  • Launch scripts optionally shown in task view
  • Separate Launch script view in debug pane, grouped by presentation group
  • Task and Launch script execution on click from the explorer view
  • Task and Launch script editing (opens in appropriate tasks.json or launch.json)
  • Visual status updates for running, successful, or failed tasks
  • Stop button for running tasks or active debug sessions ()

Icons

Theme icons are associated with strings found in task or launch script names, and can be customized using the setting taskviewer.icons. The default associations are:

  • clean: trash ()
  • build: package ()
  • rebuild: package ()
  • test: beaker ()
  • debug: bug ()
  • launch: rocket ()
  • terminal: terminal ()
  • watch: eye ()
  • deploy: cloud-upload ()
  • start: play ()
  • stop: debug-stop ()
  • publish: cloud ()
  • default: gear ()

Colors

Theme colors are associated with task or launch script types, and can be customized using the setting taskviewer.colors. The default associations are:

Tasks
  • npm: chart.red
  • shell: chart.blue
  • typescript: chart.purple
  • gulp: chart.orange
  • grunt: chart.yellow
Launch scripts
  • node: chart.red
  • extensionHost: chart.blue
  • chrome: chart.green
  • msedge: chart.purple
  • compound: chart.blue
  • default: chart.yellow

Extension

This extension provides an extension mechanism of its own to allow customisation by task type, and to extend the list of items shown.

API:

interfaceTypeHandler{makeItem(id: string,task: vscode.Task|undefined,def: vscode.TaskDefinition,workspace?: vscode.WorkspaceFolder): CustomItem|void;}interfaceTaskProvider{provideItems(): Promise<CustomItem[]>;}interfaceCustomItem{title: string;// item title displayed in treegroup?: string;// optional group for grouped placement in treeicon?: vscode.ThemeIcon;// optional icon displayed in treetooltip?:	vscode.MarkdownString;run?(): void;// called when user tries to run this itemedit?():	void;// called when user tries to edit this itemchildren?(): Promise<CustomItem[]>;// optional child nodes displayed in tree}//APIregisterType(type: string,handler: TypeHandler){this.types[type]=handler;}registerProvider(handler: TaskProvider){this.providers.push(handler);}

To use, first obtain the api from this extension, then use registerType to override the items displayed for a specific task type, and/or use registerProvider to create custom items.

Example:

importtype{exportsastaskviewerExports,CustomItem}from'<path to extensions>/isopodlabs.taskview-0.5.1/out/extension';//in activate
...
consttaskview=vscode.extensions.getExtension('isopodlabs.taskviewer');if(taskview){taskview.activate().then(()=>{constapi=taskview.exportsastaskviewerExports;api.registerType('myTaskType',{makeItem(id,task,def,workspace){return{title: 'My amazing task',
...
}}});api.registerProvider({asyncprovideItems(){constitems: CustomItem[]=[];//make some itemsreturnitems;}});---})}
...

Please ask on github for more details.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Task Viewer

Provides quick access to your workspace tasks and/or launch scripts from the explorer or debug view.

View

☕ Support My Work

If you enjoy this extension, consider buying me a cup of tea to support future updates!

Features

  • Tasks grouped by task group
  • Full support for multi-root workspaces, and optional grouping by folder
  • Task icons based on task name, with colors based on task type
  • View all tasks, or only configured tasks (found in tasks.json)
  • Launch scripts optionally shown in task view
  • Separate Launch script view in debug pane, grouped by presentation group
  • Task and Launch script execution on click from the explorer view
  • Task and Launch script editing (opens in appropriate tasks.json or launch.json)
  • Visual status updates for running, successful, or failed tasks
  • Stop button for running tasks or active debug sessions ()

Icons

Theme icons are associated with strings found in task or launch script names, and can be customized using the setting taskviewer.icons. The default associations are:

  • clean: trash ()
  • build: package ()
  • rebuild: package ()
  • test: beaker ()
  • debug: bug ()
  • launch: rocket ()
  • terminal: terminal ()
  • watch: eye ()
  • deploy: cloud-upload ()
  • start: play ()
  • stop: debug-stop ()
  • publish: cloud ()
  • default: gear ()

Colors

Theme colors are associated with task or launch script types, and can be customized using the setting taskviewer.colors. The default associations are:

Tasks
  • npm: chart.red
  • shell: chart.blue
  • typescript: chart.purple
  • gulp: chart.orange
  • grunt: chart.yellow
Launch scripts
  • node: chart.red
  • extensionHost: chart.blue
  • chrome: chart.green
  • msedge: chart.purple
  • compound: chart.blue
  • default: chart.yellow

Extension

This extension provides an extension mechanism of its own to allow customisation by task type, and to extend the list of items shown.

API:

interfaceTypeHandler{makeItem(id: string,task: vscode.Task|undefined,def: vscode.TaskDefinition,workspace?: vscode.WorkspaceFolder): CustomItem|void;}interfaceTaskProvider{provideItems(): Promise<CustomItem[]>;}interfaceCustomItem{title: string;// item title displayed in treegroup?: string;// optional group for grouped placement in treeicon?: vscode.ThemeIcon;// optional icon displayed in treetooltip?:	vscode.MarkdownString;run?(): void;// called when user tries to run this itemedit?():	void;// called when user tries to edit this itemchildren?(): Promise<CustomItem[]>;// optional child nodes displayed in tree}//APIregisterType(type: string,handler: TypeHandler){this.types[type]=handler;}registerProvider(handler: TaskProvider){this.providers.push(handler);}

To use, first obtain the api from this extension, then use registerType to override the items displayed for a specific task type, and/or use registerProvider to create custom items.

Example:

importtype{exportsastaskviewerExports,CustomItem}from'<path to extensions>/isopodlabs.taskview-0.5.1/out/extension';//in activate
...
consttaskview=vscode.extensions.getExtension('isopodlabs.taskviewer');if(taskview){taskview.activate().then(()=>{constapi=taskview.exportsastaskviewerExports;api.registerType('myTaskType',{makeItem(id,task,def,workspace){return{title: 'My amazing task',
...
}}});api.registerProvider({asyncprovideItems(){constitems: CustomItem[]=[];//make some itemsreturnitems;}});---})}
...

Please ask on github for more details.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Task Viewer

Provides quick access to your workspace tasks and/or launch scripts from the explorer or debug view.

View

☕ Support My Work

If you enjoy this extension, consider buying me a cup of tea to support future updates!

Features

  • Tasks grouped by task group
  • Full support for multi-root workspaces, and optional grouping by folder
  • Task icons based on task name, with colors based on task type
  • View all tasks, or only configured tasks (found in tasks.json)
  • Launch scripts optionally shown in task view
  • Separate Launch script view in debug pane, grouped by presentation group
  • Task and Launch script execution on click from the explorer view
  • Task and Launch script editing (opens in appropriate tasks.json or launch.json)
  • Visual status updates for running, successful, or failed tasks
  • Stop button for running tasks or active debug sessions ()

Icons

Theme icons are associated with strings found in task or launch script names, and can be customized using the setting taskviewer.icons. The default associations are:

  • clean: trash ()
  • build: package ()
  • rebuild: package ()
  • test: beaker ()
  • debug: bug ()
  • launch: rocket ()
  • terminal: terminal ()
  • watch: eye ()
  • deploy: cloud-upload ()
  • start: play ()
  • stop: debug-stop ()
  • publish: cloud ()
  • default: gear ()

Colors

Theme colors are associated with task or launch script types, and can be customized using the setting taskviewer.colors. The default associations are:

Tasks
  • npm: chart.red
  • shell: chart.blue
  • typescript: chart.purple
  • gulp: chart.orange
  • grunt: chart.yellow
Launch scripts
  • node: chart.red
  • extensionHost: chart.blue
  • chrome: chart.green
  • msedge: chart.purple
  • compound: chart.blue
  • default: chart.yellow

Extension

This extension provides an extension mechanism of its own to allow customisation by task type, and to extend the list of items shown.

API:

interfaceTypeHandler{makeItem(id: string,task: vscode.Task|undefined,def: vscode.TaskDefinition,workspace?: vscode.WorkspaceFolder): CustomItem|void;}interfaceTaskProvider{provideItems(): Promise<CustomItem[]>;}interfaceCustomItem{title: string;// item title displayed in treegroup?: string;// optional group for grouped placement in treeicon?: vscode.ThemeIcon;// optional icon displayed in treetooltip?:	vscode.MarkdownString;run?(): void;// called when user tries to run this itemedit?():	void;// called when user tries to edit this itemchildren?(): Promise<CustomItem[]>;// optional child nodes displayed in tree}//APIregisterType(type: string,handler: TypeHandler){this.types[type]=handler;}registerProvider(handler: TaskProvider){this.providers.push(handler);}

To use, first obtain the api from this extension, then use registerType to override the items displayed for a specific task type, and/or use registerProvider to create custom items.

Example:

importtype{exportsastaskviewerExports,CustomItem}from'<path to extensions>/isopodlabs.taskview-0.5.1/out/extension';//in activate
...
consttaskview=vscode.extensions.getExtension('isopodlabs.taskviewer');if(taskview){taskview.activate().then(()=>{constapi=taskview.exportsastaskviewerExports;api.registerType('myTaskType',{makeItem(id,task,def,workspace){return{title: 'My amazing task',
...
}}});api.registerProvider({asyncprovideItems(){constitems: CustomItem[]=[];//make some itemsreturnitems;}});---})}
...

Please ask on github for more details.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Task Viewer

Provides quick access to your workspace tasks and/or launch scripts from the explorer or debug view.

View

☕ Support My Work

If you enjoy this extension, consider buying me a cup of tea to support future updates!

Features

  • Tasks grouped by task group
  • Full support for multi-root workspaces, and optional grouping by folder
  • Task icons based on task name, with colors based on task type
  • View all tasks, or only configured tasks (found in tasks.json)
  • Launch scripts optionally shown in task view
  • Separate Launch script view in debug pane, grouped by presentation group
  • Task and Launch script execution on click from the explorer view
  • Task and Launch script editing (opens in appropriate tasks.json or launch.json)
  • Visual status updates for running, successful, or failed tasks
  • Stop button for running tasks or active debug sessions ()

Icons

Theme icons are associated with strings found in task or launch script names, and can be customized using the setting taskviewer.icons. The default associations are:

  • clean: trash ()
  • build: package ()
  • rebuild: package ()
  • test: beaker ()
  • debug: bug ()
  • launch: rocket ()
  • terminal: terminal ()
  • watch: eye ()
  • deploy: cloud-upload ()
  • start: play ()
  • stop: debug-stop ()
  • publish: cloud ()
  • default: gear ()

Colors

Theme colors are associated with task or launch script types, and can be customized using the setting taskviewer.colors. The default associations are:

Tasks
  • npm: chart.red
  • shell: chart.blue
  • typescript: chart.purple
  • gulp: chart.orange
  • grunt: chart.yellow
Launch scripts
  • node: chart.red
  • extensionHost: chart.blue
  • chrome: chart.green
  • msedge: chart.purple
  • compound: chart.blue
  • default: chart.yellow

Extension

This extension provides an extension mechanism of its own to allow customisation by task type, and to extend the list of items shown.

API:

interfaceTypeHandler{makeItem(id: string,task: vscode.Task|undefined,def: vscode.TaskDefinition,workspace?: vscode.WorkspaceFolder): CustomItem|void;}interfaceTaskProvider{provideItems(): Promise<CustomItem[]>;}interfaceCustomItem{title: string;// item title displayed in treegroup?: string;// optional group for grouped placement in treeicon?: vscode.ThemeIcon;// optional icon displayed in treetooltip?:	vscode.MarkdownString;run?(): void;// called when user tries to run this itemedit?():	void;// called when user tries to edit this itemchildren?(): Promise<CustomItem[]>;// optional child nodes displayed in tree}//APIregisterType(type: string,handler: TypeHandler){this.types[type]=handler;}registerProvider(handler: TaskProvider){this.providers.push(handler);}

To use, first obtain the api from this extension, then use registerType to override the items displayed for a specific task type, and/or use registerProvider to create custom items.

Example:

importtype{exportsastaskviewerExports,CustomItem}from'<path to extensions>/isopodlabs.taskview-0.5.1/out/extension';//in activate
...
consttaskview=vscode.extensions.getExtension('isopodlabs.taskviewer');if(taskview){taskview.activate().then(()=>{constapi=taskview.exportsastaskviewerExports;api.registerType('myTaskType',{makeItem(id,task,def,workspace){return{title: 'My amazing task',
...
}}});api.registerProvider({asyncprovideItems(){constitems: CustomItem[]=[];//make some itemsreturnitems;}});---})}
...

Please ask on github for more details.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Task Viewer

Provides quick access to your workspace tasks and/or launch scripts from the explorer or debug view.

View

☕ Support My Work

If you enjoy this extension, consider buying me a cup of tea to support future updates!

Features

  • Tasks grouped by task group
  • Full support for multi-root workspaces, and optional grouping by folder
  • Task icons based on task name, with colors based on task type
  • View all tasks, or only configured tasks (found in tasks.json)
  • Launch scripts optionally shown in task view
  • Separate Launch script view in debug pane, grouped by presentation group
  • Task and Launch script execution on click from the explorer view
  • Task and Launch script editing (opens in appropriate tasks.json or launch.json)
  • Visual status updates for running, successful, or failed tasks
  • Stop button for running tasks or active debug sessions ()

Icons

Theme icons are associated with strings found in task or launch script names, and can be customized using the setting taskviewer.icons. The default associations are:

  • clean: trash ()
  • build: package ()
  • rebuild: package ()
  • test: beaker ()
  • debug: bug ()
  • launch: rocket ()
  • terminal: terminal ()
  • watch: eye ()
  • deploy: cloud-upload ()
  • start: play ()
  • stop: debug-stop ()
  • publish: cloud ()
  • default: gear ()

Colors

Theme colors are associated with task or launch script types, and can be customized using the setting taskviewer.colors. The default associations are:

Tasks
  • npm: chart.red
  • shell: chart.blue
  • typescript: chart.purple
  • gulp: chart.orange
  • grunt: chart.yellow
Launch scripts
  • node: chart.red
  • extensionHost: chart.blue
  • chrome: chart.green
  • msedge: chart.purple
  • compound: chart.blue
  • default: chart.yellow

Extension

This extension provides an extension mechanism of its own to allow customisation by task type, and to extend the list of items shown.

API:

interfaceTypeHandler{makeItem(id: string,task: vscode.Task|undefined,def: vscode.TaskDefinition,workspace?: vscode.WorkspaceFolder): CustomItem|void;}interfaceTaskProvider{provideItems(): Promise<CustomItem[]>;}interfaceCustomItem{title: string;// item title displayed in treegroup?: string;// optional group for grouped placement in treeicon?: vscode.ThemeIcon;// optional icon displayed in treetooltip?:	vscode.MarkdownString;run?(): void;// called when user tries to run this itemedit?():	void;// called when user tries to edit this itemchildren?(): Promise<CustomItem[]>;// optional child nodes displayed in tree}//APIregisterType(type: string,handler: TypeHandler){this.types[type]=handler;}registerProvider(handler: TaskProvider){this.providers.push(handler);}

To use, first obtain the api from this extension, then use registerType to override the items displayed for a specific task type, and/or use registerProvider to create custom items.

Example:

importtype{exportsastaskviewerExports,CustomItem}from'<path to extensions>/isopodlabs.taskview-0.5.1/out/extension';//in activate
...
consttaskview=vscode.extensions.getExtension('isopodlabs.taskviewer');if(taskview){taskview.activate().then(()=>{constapi=taskview.exportsastaskviewerExports;api.registerType('myTaskType',{makeItem(id,task,def,workspace){return{title: 'My amazing task',
...
}}});api.registerProvider({asyncprovideItems(){constitems: CustomItem[]=[];//make some itemsreturnitems;}});---})}
...

Please ask on github for more details.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Task Viewer

Provides quick access to your workspace tasks and/or launch scripts from the explorer or debug view.

View

☕ Support My Work

If you enjoy this extension, consider buying me a cup of tea to support future updates!

Features

  • Tasks grouped by task group
  • Full support for multi-root workspaces, and optional grouping by folder
  • Task icons based on task name, with colors based on task type
  • View all tasks, or only configured tasks (found in tasks.json)
  • Launch scripts optionally shown in task view
  • Separate Launch script view in debug pane, grouped by presentation group
  • Task and Launch script execution on click from the explorer view
  • Task and Launch script editing (opens in appropriate tasks.json or launch.json)
  • Visual status updates for running, successful, or failed tasks
  • Stop button for running tasks or active debug sessions ()

Icons

Theme icons are associated with strings found in task or launch script names, and can be customized using the setting taskviewer.icons. The default associations are:

  • clean: trash ()
  • build: package ()
  • rebuild: package ()
  • test: beaker ()
  • debug: bug ()
  • launch: rocket ()
  • terminal: terminal ()
  • watch: eye ()
  • deploy: cloud-upload ()
  • start: play ()
  • stop: debug-stop ()
  • publish: cloud ()
  • default: gear ()

Colors

Theme colors are associated with task or launch script types, and can be customized using the setting taskviewer.colors. The default associations are:

Tasks
  • npm: chart.red
  • shell: chart.blue
  • typescript: chart.purple
  • gulp: chart.orange
  • grunt: chart.yellow
Launch scripts
  • node: chart.red
  • extensionHost: chart.blue
  • chrome: chart.green
  • msedge: chart.purple
  • compound: chart.blue
  • default: chart.yellow

Extension

This extension provides an extension mechanism of its own to allow customisation by task type, and to extend the list of items shown.

API:

interfaceTypeHandler{makeItem(id: string,task: vscode.Task|undefined,def: vscode.TaskDefinition,workspace?: vscode.WorkspaceFolder): CustomItem|void;}interfaceTaskProvider{provideItems(): Promise<CustomItem[]>;}interfaceCustomItem{title: string;// item title displayed in treegroup?: string;// optional group for grouped placement in treeicon?: vscode.ThemeIcon;// optional icon displayed in treetooltip?:	vscode.MarkdownString;run?(): void;// called when user tries to run this itemedit?():	void;// called when user tries to edit this itemchildren?(): Promise<CustomItem[]>;// optional child nodes displayed in tree}//APIregisterType(type: string,handler: TypeHandler){this.types[type]=handler;}registerProvider(handler: TaskProvider){this.providers.push(handler);}

To use, first obtain the api from this extension, then use registerType to override the items displayed for a specific task type, and/or use registerProvider to create custom items.

Example:

importtype{exportsastaskviewerExports,CustomItem}from'<path to extensions>/isopodlabs.taskview-0.5.1/out/extension';//in activate
...
consttaskview=vscode.extensions.getExtension('isopodlabs.taskviewer');if(taskview){taskview.activate().then(()=>{constapi=taskview.exportsastaskviewerExports;api.registerType('myTaskType',{makeItem(id,task,def,workspace){return{title: 'My amazing task',
...
}}});api.registerProvider({asyncprovideItems(){constitems: CustomItem[]=[];//make some itemsreturnitems;}});---})}
...

Please ask on github for more details.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages