This layer adds experimental support for C# language using OmniSharp.
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.
Follow the instructions for your platform here.
You’ll need curl to be able to use the Omnisharp package. Use your favorite package manager to install it (on Windows you can use chocolatey).
Be sure to make the curl
binary available to your PATH environment variable,
or set the variable omnisharp--curl-executable-path
in your dotfile function
dotspacemacs-config
:
(setq-default omnisharp--curl-executable-path "/PATH/TO/CURL/curl")
You have to compile the OmniSharp server following the instructions which can be found here.
Don’t forget to add the server binary directory to your system PATH environment
variable. The full path the binary can also be directly referenced in the
variable omnisharp-server-executable-path
(put this in your
dotspacemacs-config
function):
(setq-default omnisharp-server-executable-path "/PATH/TO/OMNISHARP/OmniSharpServer")
OmniSharp should now automatically load and start a server when you open a
.cs
file.
- It’s currently not possible to create a C# solution outside of an IDE such as MonoDevelop, it’s therefore recommended that you install it to create your solutions.
- Debugging is possible using SDB.
Key Binding | Description |
---|---|
SPC m c c | Build the solution |
Key Binding | Description |
---|---|
SPC m f a | Add the current file to solution |
SPC m f A | Add files selected in dired to solution |
SPC m f r | Remove the current file from solution |
SPC m f R | Removed files selected in dired from solution |
SPC m p l | Add reference to solution |
Key Binding | Description |
---|---|
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 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 |
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 r | Refactor symbol under cursor |
Key Binding | Description |
---|---|
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 a | Run all tests in project |
SPC m t b | Run all tests in current file/fixture |
SPC m t t | Run test under cursor |
Key Binding | Description |
---|---|
SPC m o | Auto complete overrides |
SPC m i | Fix usings/imports |
SPC m = | Format the current buffer |