diff --git a/README.md b/README.md index aae976e..06dbf9a 100644 --- a/README.md +++ b/README.md @@ -128,12 +128,12 @@ The `--force-restore` flag is useful if you want to restore the original Lambda *Big thanks to [Jason Wadsworth](https://twitter.com/quizout) for all the early feedback on this feature <3* -#### Debugging with VS Code +#### Debugging with VS Code / Visual Studio / Rider In order to debug with vscode you need to create a launch config and a shutdown task (to restore the original Lambda code in the cloud). You can set this up automatically by running `samp local --debug` #### Supported runtimes * NodeJs (JavaScript and TypeScript) -* .NET 6.0 (C#) - See .NEt specific documentation [here](./docs/dotnet.md) +* .NET 6.0 (C#) - See .NET specific documentation [here](./docs/samp-local-dotnet.md) #### How does it work? The tool temporarily replaces your function code in the cloud with a proxy function that relays events to your local machine over AWS IoT (MQTT). The functions are automatically restored when you exit the debugging session with the values in your processed CloudFormation tempate. The tool also sets the MemorySize to 128MB and Timeout to 60 seconds to avoid timeouts during debugging as well as saving cost. diff --git a/docs/dotnet.md b/docs/dotnet.md deleted file mode 100644 index b08e533..0000000 --- a/docs/dotnet.md +++ /dev/null @@ -1,36 +0,0 @@ -## Local debugging for functions written in .NET - -### Prerequisites: -* Function runtime should be `dotnet6` -* Function type has to be zip. Image functions are not supported. -* Has to be a SAM project. CDK might come later. -* It assumes a folder structure where the SAM template is in the root, next to the `samconfig.toml` file -* The SAM template can be in either JSON or YAML format and can be called anything with a `json`, `yml`, `yaml` or `.template` extension -* You need to have npm/node installed on your system. - -### Supported IDEs -Local debugging should work in any IDE, however `samp local --debug` automates launch config for the following IDEs: -* VS Code -* JetBrains Rider -* Visual Studio - -### Get started -1. Install `samp-cli`: -```bash -$ npm install -g samp-cli -``` -2. cd to your .NET Lambda project root (make sure it has been deployed and that you're targeting a test environment. *Never* run this against a production environment!) -3. Run `samp local --debug` and follow the prompts. This will create/append to `launch.json` and `tasks.json` in your `.vscode` folder with the necessary launch configuration. You only need to do this once per project. -4. Run `samp local` and leave it running. (see `samp local --help` for all options) -5. Hit F5 (or start debugging via the dropdown menu) - -When you're done debugging, kill the `samp local` process with Ctrl+C (⌘+C on Mac) and you functions will be restored to run in the cloud again. - - -### Hot reloads and .NET - -Hot reloads work well with NodeJS, but the native .NEt support isn't quite there yet and it's due in .NET 7 -8. After every change to your function code you need to ensure that the `./.samp-out/dotnet.csproj` file is re-compiled. You can either: - - Manually recompile using the command line `dotnet build ./samp-out/dotnet.csproj` - - Add the `dotnet.csproj` file to your solution and recompile as part of your debug process -9. Hit F5 (or start debugging from the UI) \ No newline at end of file