This layer adds support for C# language using the omnisharp-roslyn language server and corresponding omnisharp-emacs package.
Please report any issues encountered to omnisharp-emacs issue page on github. PRs are welcome too!
- Syntax checking with flycheck (when
syntax-checking
layer is used) - Support for auto-completion (when
auto-completion
layer is used) - Refactoring
- Navigation to cross-references
- Inspecting types in metadata
To use this configuration layer, add it to your ~/.spacemacs
. You will need to
add csharp
to the existing dotspacemacs-configuration-layers
list in this
file.
Before you can work with C# files you will need to install the server by invoking
SPC m s i
(or M-x omnisharp-install-server
). Otherwise, if this fails for
you, please see omnisharp-emacs/doc/server-installation.md.
While the server will start automatically where possible if the
server needs to be started manually use SPC m s s
(or
M-x omnisharp-start-omnisharp-server
). It will prompt a path to your .cpsroj
or .sln file.
- You should use
dotnet
CLI tool from .NET Core download page or an IDE like Visual Studio or Xamarin Studio to manage solution and project files. - Debugging on command line is possible using SDB.
- There can be only one server running at the same time. To switch to a different
solution/project you need to invoke
SPC m s S
andSPC m s s
to stop current server and start another one pointing to another solution/project.
Key binding | Description |
---|---|
SPC m g c | Go to member in current file |
SPC m g e | List errors and warnings in solution |
SPC m g f | Go to solution file |
SPC m g F | Go to solution file then member |
SPC m g g | Go to definition |
SPC m g G | Go to definition in other window |
SPC m g i | Find implementations |
SPC m g I | Find implementations using ido |
SPC m g m | Go to solution member |
SPC m g M | Go to solution member in other window |
SPC m g r | Go to region |
SPC m g s | Find symbols using Helm |
SPC m g u | Find usages of symbol under cursor using Helm |
SPC m g U | Find usages of symbol under cursor using ido |
Key binding | Description |
---|---|
SPC m h t | Get type information for symbol under cursor |
SPC m h T | Get type information for symbol under cursor and put it into kill-ring |
Key binding | Description |
---|---|
SPC m r m | Rename symbol under cursor |
SPC m r M | Rename symbol under cursor interactively |
SPC m r r | Refactor under cursor |
Key binding | Description |
---|---|
SPC m s i | Install OmniSharp server |
SPC m s r | Reload the solution |
SPC m s s | Start the OmniSharp server |
SPC m s S | Stop the OmniSharp server |
Key binding | Description |
---|---|
SPC m t b | Run tests in current buffer |