Files
vs-code-colored-references/package.json
T
maxandClaude Opus 5 92ff02f7ff Dock the results table in the bottom panel
createWebviewPanel only ever lives in the editor area, so the table could
not be dragged next to Terminal / Problems. A WebviewView can, and it can
also be dragged to either side bar.

- Extract ResultsView: the table's html, messaging, row building and
  navigation, independent of what hosts the webview. ReferencePanel keeps
  hosting it in an editor group; ReferenceViewProvider hosts it in a
  contributed panel view container. Results that arrive before the docked
  view has been resolved are queued and applied on resolve.
- coloredReferences.panelLocation selects the placement: bottom (default),
  beside, or below. "below" makes the editor row first so the table is wide
  and short, which suits the column layout better than a tall narrow group.
- sourceColumn() now ignores editors with no view column, so opening a
  reference from the docked view lands in a real editor group.
- toggleView and the refresh button work from either host.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-07 16:23:02 +02:00

202 lines
6.0 KiB
JSON

{
"name": "colored-references",
"displayName": "Colored References",
"description": "Find All References results in a syntax-highlighted editor pane, Visual Studio style. Works with any language server (DotRush, C# Dev Kit, OmniSharp, ...).",
"version": "0.1.0",
"publisher": "local",
"license": "MIT",
"engines": {
"vscode": "^1.85.0"
},
"categories": [
"Other"
],
"keywords": [
"references",
"find all references",
"csharp",
"dotnet",
"visual studio"
],
"activationEvents": [
"onView:coloredReferences.resultsView"
],
"main": "./out/extension.js",
"contributes": {
"commands": [
{
"command": "coloredReferences.find",
"title": "Find All References (Colored)",
"category": "References"
},
{
"command": "coloredReferences.findInDocument",
"title": "Find All References in Colored Editor",
"category": "References"
},
{
"command": "coloredReferences.findInPanel",
"title": "Find All References in Results Panel",
"category": "References"
},
{
"command": "coloredReferences.toggleView",
"title": "Switch Between Editor and Panel View",
"category": "References"
},
{
"command": "coloredReferences.goTo",
"title": "Go to Reference",
"category": "References"
},
{
"command": "coloredReferences.refresh",
"title": "Refresh References",
"category": "References",
"icon": "$(refresh)"
}
],
"keybindings": [
{
"command": "coloredReferences.find",
"key": "ctrl+alt+f12",
"mac": "cmd+alt+f12",
"when": "editorHasReferenceProvider && editorTextFocus"
},
{
"command": "coloredReferences.goTo",
"key": "enter",
"when": "editorTextFocus && resourceScheme == colored-refs && !suggestWidgetVisible"
},
{
"command": "coloredReferences.refresh",
"key": "f5",
"when": "editorTextFocus && resourceScheme == colored-refs"
},
{
"command": "coloredReferences.toggleView",
"key": "ctrl+alt+shift+f12",
"mac": "cmd+alt+shift+f12",
"when": "resourceScheme == colored-refs || activeWebviewPanelId == coloredReferences.results || view == coloredReferences.resultsView"
}
],
"menus": {
"editor/context": [
{
"command": "coloredReferences.find",
"when": "editorHasReferenceProvider",
"group": "navigation@1.5"
}
],
"editor/title": [
{
"command": "coloredReferences.refresh",
"when": "resourceScheme == colored-refs",
"group": "navigation"
},
{
"command": "coloredReferences.toggleView",
"when": "resourceScheme == colored-refs",
"group": "navigation"
}
],
"commandPalette": [
{
"command": "coloredReferences.goTo",
"when": "resourceScheme == colored-refs"
},
{
"command": "coloredReferences.refresh",
"when": "resourceScheme == colored-refs"
},
{
"command": "coloredReferences.toggleView",
"when": "resourceScheme == colored-refs || activeWebviewPanelId == coloredReferences.results || view == coloredReferences.resultsView"
}
]
},
"configuration": {
"title": "Colored References",
"properties": {
"coloredReferences.openBeside": {
"type": "boolean",
"default": true,
"description": "Open the results pane beside the current editor instead of in the same group."
},
"coloredReferences.showProject": {
"type": "boolean",
"default": true,
"description": "Show the containing project (nearest .csproj / .fsproj / .vbproj) in file headers."
},
"coloredReferences.reuseTab": {
"type": "boolean",
"default": true,
"description": "Reuse a single results tab instead of opening a new one per search."
},
"coloredReferences.view": {
"type": "string",
"enum": [
"document",
"panel"
],
"enumDescriptions": [
"A read-only editor pane in the same language as the source, coloured by your theme.",
"A webview panel with resizable, sortable columns and a containing-member column."
],
"default": "document",
"description": "Which view Find All References (Colored) opens."
},
"coloredReferences.panelLocation": {
"type": "string",
"enum": [
"bottom",
"beside",
"below"
],
"enumDescriptions": [
"Dock the results table in the bottom panel, beside Terminal and Problems. Drag it to a side bar if you prefer.",
"Open the results table in an editor group beside the current one.",
"Open the results table in an editor group below the current one, so it is wide and short."
],
"default": "bottom",
"description": "Where the results panel opens."
}
}
},
"viewsContainers": {
"panel": [
{
"id": "coloredReferences",
"title": "References",
"icon": "media/references-dark.svg"
}
]
},
"views": {
"coloredReferences": [
{
"id": "coloredReferences.resultsView",
"name": "References",
"type": "webview",
"contextualTitle": "References"
}
]
}
},
"scripts": {
"vscode:prepublish": "npm run compile",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"pretest": "npm run compile",
"test": "node ./out/test/runTest.js"
},
"devDependencies": {
"@types/mocha": "^10.0.10",
"@types/node": "^20.11.0",
"@types/vscode": "^1.85.0",
"@vscode/test-electron": "^2.5.2",
"mocha": "^10.8.2",
"typescript": "^5.4.0"
}
}