C# extension for vscode-compatible editors.
The debugger included in the official C# extension is proprietary and is licensed to only work with Microsoft versions of vscode. This extension replaces it with Samsung's MIT-licensed alternative.
This extension is published at open-vsx.org.
Requirements:
git clone https://github.com/muhammadsammy/free-omnisharp-vscode.git
cd free-omnisharp-vscode
npm install
npm run compile
vsce package
then run Extensions: Install from VSIX
from the command pallete and select the csharp-VERSION_NUMBER.vsix
file.
From OmniSharp/omnisharp-vscode README:
The .NET 3.1.40x SDKs require version 16.7 of MSBuild.
For MacOS and Linux users who have Mono installed, this means you will need to set omnisharp.useGlobalMono
to never
until a version of Mono ships with MSBuild 16.7.
The .NET 5 SDK requires version 16.8 of MSBuild.
For Windows users who have Visual Studio installed, this means you will need to be on the latest Visual Studio 16.8 Preview.
For MacOS and Linux users who have Mono installed, this means you will need to set omnisharp.useGlobalMono
to never
until a version of Mono ships with MSBuild 16.8.
- Set meaning of UseGlobalMono "auto" to "never" since Mono 6.12.0 still ships with MSBuild 16.7 (PR: #4130)
- Ensure that the rename identifier and run code action providers do not apply changes twice (PR: #4133)
- Do not send file changed events for .cs files (PR: #4141)
- Update Razor to 6.0.0-alpha1.20521.3:
- Improvements to HTML colorization for non-C# portions of the document.
- Bug fix - the
razor.format.enable
option is honored again
- Use incremental changes to update language server (PR: #4088)
- Set meaning of UseGlobalMono "auto" to "always" now that Mono 6.12.0 ships with MSBuild 16.8 (PR: #4115)
- Updated OmniSharp to 1.37.3
- Fixed a bug when the server wouldn't start on MacOS/Linux when a username contained a space (PR: omnisharp-roslyn/#1979)
- Update to Mono 6.12.0 (PR: omnisharp-roslyn/#1981)
- Fix responsiveness regression with targeted DiagnosticWorker revert (omnisharp-roslyn/#1982, omnisharp-roslyn/#1983, PR: omnisharp-roslyn/#1984)
- Fix ps call for Alpine images (#4023, PR: #4097)
- Support TextEdit in completion responses (PR: @4073)
- Updated Razor support
- Updated OmniSharp version (should improve stability) dotnet/aspnetcore-tooling#20320
- Corrected positioning for
@using
for components added by light bulb. dotnet/aspnetcore-tooling#25019 - Mixed HTML & C# Razor formatting support (dotnet/aspnetcore-tooling#25470) / (dotnet/aspnetcore-tooling#14271)
- Add using for C# Type light bulb (dotnet/aspnetcore-tooling#18173)
- Fully qualify C# Type light bulb (dotnet/aspnetcore-tooling#24778)
- Added support for engine logging on .NET process for Blazor WASM apps (OmniSharp/omnisharp-vscode#4070)
- Fixed bug in clean-up of Blazor WASM debugging session (OmniSharp/omnisharp-vscode#4056)
- Debugger Features:
- Add support for Function Breakpoints (#295)
- Debugger Fixes:
- Update OmniSharp to 1.37.2 (PR: #4107)
- Updated MSBuild, MSBuild resolvers and Roslyn to match .NET Core 5.0 RC2 and VS 16.8 Preview 4. (PR: omnisharp-roslyn/#1971, PR: omnisharp-roslyn/#1974)
- Decouple FixAll from the workspace (omnisharp-roslyn/#1960, PR: omnisharp-roslyn/#1962)
- Added binding redirects for Microsoft.CodeAnalysis.Features and Microsoft.CodeAnalysis.CSharp.Features (PR: omnisharp-roslyn/#1964)
- Always log error responses with error level (PR: omnisharp-roslyn/#1963)
- Added support for override property completion. Warning: contains breaking change, as
InsertText
was removed from the response, please useTextEdit
instead (PR: omnisharp-roslyn/#1957) - Correctly handle that don't produce references (PR: omnisharp-roslyn/#1956)
- Marked
/autocomplete
endpoint as obsolete - the clients should be switching to/completion
and/completion/resolve
(PR: omnisharp-roslyn/#1951) - Fixed escapes in regex completions (omnisharp-roslyn/#1949, PR: omnisharp-roslyn/#1950)
- Fixed completion on part of existing string (omnisharp-vscode#4063, PR: omnisharp-roslyn/#1941)
- Fixed LSP completion item kinds (PR: omnisharp-roslyn/#1940)
- Added support for textDocument/implementation in LSP mode (PR: omnisharp-roslyn/#1970)
- Fixed namespace icon in completion response (omnisharp-vscode#4051, PR: omnisharp-roslyn/#1936)
- Improved performance of find implementations (PR: omnisharp-roslyn/#1935)
- Add support for new quick info endpoint when working with Cake (PR: omnisharp-roslyn/#1945)
- Add support for new completion endpoints when working with Cake (omnisharp-roslyn/#1939, PR: omnisharp-roslyn/#1944)
- When an analyzer fails to load, log an error (PR: omnisharp-roslyn/#1972)
- Added support for 'extract base class' (PR: omnisharp-roslyn/#1969)
- OmniSharp.Path can only be set in user settings (PR: omnisharp-roslyn/#1946)
- Add support for code actions besides ApplyChangesOperation's (PR: omnisharp-roslyn/#1724)
- Ensure that all quickinfo sections have linebreaks between them, and don't add unecessary duplicate linebreaks (PR: omnisharp-roslyn#1900)
- Support completion of unimported types (PR: omnisharp-roslyn#1896)
- Exclude Misc project from InternalsVisibleTo completion (PR: omnisharp-roslyn#1902)
- Ensure unimported things are sorted after imported things (PR: omnisharp-roslyn#1903)
- Correctly handle multiple reference aliases (PR: omnisharp-roslyn#1905)
- Better handle completion when the display text is not in the final result (PR: omnisharp-roslyn#1908)
- Correctly mark hover markup content as markdown (omnisharp-roslyn#1906, PR: omnisharp-roslyn#1909)
- Upgrade lsp (omnisharp-roslyn#1898, PR: omnisharp-roslyn#1911)
- Updated to ILSpy 6.1.0.5902 (PR: omnisharp-roslyn#1913)
- Updated to NET 5.0 preview8 (PR: omnisharp-roslyn#1916)
- Add HTTP Driver back to build.json (PR: omnisharp-roslyn#1918)
- Updated the docs to mention .NET 4.7.2 targeting pack (PR: omnisharp-roslyn#1922)
- Support for configurations remapping in solution files (omnisharp-roslyn#1828, PR: omnisharp-roslyn#1835)
- Only run dotnet --info once for the working directory (PR: omnisharp-roslyn#1925)
- Update build tool versions for NET 5 RC1 (PR: omnisharp-roslyn#1926)
- Update Roslyn to 3.8.0-3.20451.2 (PR: omnisharp-roslyn#1927)
- Clean up Blazor WebAssembly notifications (PR: #4018)
- Remove proposed api attribute (PR: #4029)
- New completion service including override and unimported type completion (
omnisharp.enableImportCompletion
) (PR: #3986)