{"id":21491621,"url":"https://github.com/tcx4c70/coc-csharp","last_synced_at":"2025-08-16T23:49:44.890Z","repository":{"id":263413551,"uuid":"890338370","full_name":"tcx4c70/coc-csharp","owner":"tcx4c70","description":"C# extension for coc.nvim","archived":false,"fork":false,"pushed_at":"2025-06-19T08:44:34.000Z","size":60,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-08T22:56:59.800Z","etag":null,"topics":["coc","csharp","neovim","roslyn","vim"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tcx4c70.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-18T12:00:48.000Z","updated_at":"2025-06-16T10:48:40.000Z","dependencies_parsed_at":"2025-07-15T19:10:06.157Z","dependency_job_id":"dc773fc2-a5f6-468f-8be2-7d3423131604","html_url":"https://github.com/tcx4c70/coc-csharp","commit_stats":null,"previous_names":["tcx4c70/coc-csharp"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/tcx4c70/coc-csharp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tcx4c70%2Fcoc-csharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tcx4c70%2Fcoc-csharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tcx4c70%2Fcoc-csharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tcx4c70%2Fcoc-csharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tcx4c70","download_url":"https://codeload.github.com/tcx4c70/coc-csharp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tcx4c70%2Fcoc-csharp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270786282,"owners_count":24644563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-16T02:00:11.002Z","response_time":91,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coc","csharp","neovim","roslyn","vim"],"created_at":"2024-11-23T15:17:08.046Z","updated_at":"2025-08-16T23:49:44.855Z","avatar_url":"https://github.com/tcx4c70.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# coc-csharp\n\nC# extension for coc.nvim which uses [Roslyn](https://github.com/dotnet/roslyn/tree/main/src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer) language server.\n\nAlmost all the code is taken from [vscode-csharp](https://github.com/dotnet/vscode-csharp) with some modifications to work with coc.nvim.\n\n\u003e Note: This extension is still in development and may not work as expected. And I'm a newbie in TypeScript (actually, it's my first time to write TypeScript), so the code may not be the best. Any PRs are welcome.\n\n## Install\n\n1. Install [coc.nvim](https://github.com/neoclide/coc.nvim)\n2. Install [.NET SDK](https://dotnet.microsoft.com/download)\n3. Install Roslyn language server (Optional. If you don't specify the path via `csharp.server.path`, the extension will try to download the language server automatically)\n    1. Navigate to [this feed](https://dev.azure.com/azure-public/vside/_artifacts/feed/vs-impl), search for `Microsoft.CodeAnalysis.LanguageServer` and download the version matching your OS and architecture.\n    2. Unzip the downloaded `.nupkg`\n    3. (Optional) Copy the contents of `\u003czip_root\u003e/content/LanguageServer/\u003cyour_arch\u003e` to a directory of your choice\n    3. Check if it's working by running `dotnet \u003croot_dir\u003e/content/LanguageServer/\u003cyour_arch\u003e/Microsoft.CodeAnalysis.LanguageServer.dll --version`\n    4. Set `csharp.server.path` to the path of the `\u003croot_dir\u003e/content/LanguageServer/\u003cyour_arch\u003e/Microsoft.CodeAnalysis.LanguageServer.dll` in your `coc-settings.json`\n4. Install the extension by running `:CocInstall @tcx4c70/coc-csharp`\n\n## Configurations\n\n| Key                                                                       | Description                                                                                                                                                                                     | Default                           |\n| ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- |\n| `csharp.enable`                                                           | Enable coc-csharp extension                                                                                                                                                                     | `true`                            |\n| `csharp.server.path`                                                      | Path to the Roslyn language server                                                                                                                                                              | `\"\"`                              |\n| `csharp.server.logLevel`                                                  | Log level of roslyn language server. Possible values are `Trace`, `Debug`, `Information`, `Warning`, `Error`, `Critical` and `None`                                                             | `\"Information\"`                   |\n| `csharp.server.checkUpdateDuration`                                       | Duration to check for updates of roslyn language server (only work if coc.server.path is empty)                                                                                                 | `\"weekly\"`                        |\n| `csharp.semanticHighlighting.blackList`                                   | List of semantic token type names that should be excluded from semantic highlighting. For example, ['punctuation', 'decorator']                                                                 | `[]`                              | \n| `dotnet.typeMembers.memberInsertionLocation`                              | The insertion location of properties, events, and methods When implement interface or abstract class                                                                                            | `\"withOtherMembersOfTheSameKind\"` |\n| `dotnet.typeMembers.propertyGenerationBehavior`                           | Generation behavior of properties when implement interface or abstract class                                                                                                                    | `\"preferThrowingProperties\"`      |\n| `dotnet.codeLens.enableReferencesCodeLens`                                | Specifies whether the references CodeLens should be shown                                                                                                                                       | `true`                            |\n| `dotnet.completion.showCompletionItemsFromUnimportedNamespaces`           | Enables support for showing unimported types and unimported extension methods in completion lists. When committed, the appropriate using directive will be added at the top of the current file | `true`                            |\n| `dotnet.completion.showNameCompletionSuggestions`                         | Perform automatic object name completion for the members that you have recently selected                                                                                                        | `true`                            |\n| `dotnet.completion.provideRegexCompletions`                               | Show regular expressions in completion list                                                                                                                                                     | `true`                            |\n| `dotnet.completion.triggerCompletionInArgumentLists`                      | Automatically show completion list in argument lists                                                                                                                                            | `true`                            |\n| `dotnet.backgroundAnalysis.analyzerDiagnosticsScope`                      | Run background code analysis for:                                                                                                                                                               | `openFiles`                       |\n| `dotnet.backgroundAnalysis.compilerDiagnosticsScope`                      | Show compiler errors and warnings for:                                                                                                                                                          | `openFiles`                       |\n| `dotnet.highlighting.highlightRelatedRegexComponents`                     | Highlight related regular expression components under cursor                                                                                                                                    | `true`                            |\n| `dotnet.highlighting.highlightRelatedJsonComponents`                      | Highlight related JSON components under cursor                                                                                                                                                  | `true`                            |\n| `csharp.inlayHints.enableInlayHintsForImplicitObjectCreation`             | Show hints for implicit object creation                                                                                                                                                         | `false`                           |\n| `csharp.inlayHints.enableInlayHintsForImplicitVariableTypes`              | Show hints for variables with inferred types                                                                                                                                                    | `false`                           |\n| `csharp.inlayHints.enableInlayHintsForLambdaParameterTypes`               | Show hints for lambda parameter types                                                                                                                                                           | `false`                           |\n| `csharp.inlayHints.enableInlayHintsForTypes`                              | Display inline type hints                                                                                                                                                                       | `false`                           |\n| `dotnet.inlayHints.enableInlayHintsForIndexerParameters`                  | Show hints for indexers                                                                                                                                                                         | `false`                           |\n| `dotnet.inlayHints.enableInlayHintsForLiteralParameters`                  | Show hints for literals                                                                                                                                                                         | `false`                           |\n| `dotnet.inlayHints.enableInlayHintsForObjectCreationParameters`           | Show hints for 'new' expressions                                                                                                                                                                | `false`                           |\n| `dotnet.inlayHints.enableInlayHintsForOtherParameters`                    | Show hints for everything else                                                                                                                                                                  | `false`                           |\n| `dotnet.inlayHints.enableInlayHintsForParameters`                         | Display inline parameter name hints                                                                                                                                                             | `false`                           |\n| `dotnet.inlayHints.suppressInlayHintsForParametersThatDifferOnlyBySuffix` | Suppress hints when parameter names differ only by suffix                                                                                                                                       | `false`                           |\n| `dotnet.inlayHints.suppressInlayHintsForParametersThatMatchArgumentName`  | Suppress hints when argument matches parameter name                                                                                                                                             | `false`                           |\n| `dotnet.inlayHints.suppressInlayHintsForParametersThatMatchMethodIntent`  | Suppress hints when parameter name matches the method's intent                                                                                                                                  | `false`                           |\n| `dotnet.navigation.navigateToDecompiledSources`                           | Enable navigation to decomplied sources                                                                                                                                                         | `true`                            |\n| `dotnet.navigation.navigateToSourceLinkAndEmbeddedSources`                | Enable navigation to source link and embedded sources                                                                                                                                           | `true`                            |\n| `dotnet.quickInfo.showRemarksInQuickInfo`                                 | Show remarks information when display symbol                                                                                                                                                    | `true`                            |\n| `dotnet.symbolSearch.searchReferenceAssemblies`                           | Search symbols in reference assemblies. It affects features requires symbol searching, such as add imports                                                                                      | `true`                            |\n| `dotnet.projects.binaryLogPath`                                           | Sets a path where MSBuild binary logs are written to when loading projects, to help diagnose loading errors                                                                                     | `null`                            |\n| `dotnet.projects.enableAutomaticRestore`                                  | Enables automatic NuGet restore if the extension detects assets are missing                                                                                                                     | `true`                            |\n\n## Commands\n\n| Command                   | Description               |\n| ------------------------- | ------------------------- |\n| `dotnet.openSolution`     | Open Solution             |\n| `dotnet.restartServer`    | Restart Language Server   |\n| `dotnet.restore.all`      | Restore All Projects      |\n| `dotnet.restore.project`  | Restore Project           |\n\n## TODO\n\n- [ ] Support more LSP extensions from the language server\n- [ ] Add Razor support\n\n## Thanks\n\n- [vscode-csharp](https://github.com/dotnet/vscode-csharp)\n- [Roslyn language server](https://github.com/dotnet/roslyn/tree/main/src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer)\n\n## License\n\nMIT\n\n---\n\n\u003e This extension is built with [create-coc-extension](https://github.com/fannheyward/create-coc-extension)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftcx4c70%2Fcoc-csharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftcx4c70%2Fcoc-csharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftcx4c70%2Fcoc-csharp/lists"}