Features List of SnapDevelop (PB Edition) 2019
This document introduces the new features in SnapDevelop (PB Edition) 2019.
Projects You Can Create
New Project Templates
You may open and edit a C# project that you created outside SnapDevelop (such as Visual Studio), or create new C# projects with any of the following templates:
- ASP.NET Core Web API with three options of sample code: Basic, .NET DataStore, and SqlModelMapper;
- Console App (.NET Core)
- Class Library (.NET Core)
- Class Library (.NET Standard)
- Shared Project
- xUnit Test (.NET Core)
New Project Items
You may open and edit a C# project item that you created outside SnapDevelop. You may create new C# project items of the following types:
- Class
- Interface
- Enum
- DataContext
- API Controller Class
- JSON
- Text
- XML
- Web Configuration File
- Service (.NET DataStore)
- Service (SqlModelMapper)
Signing Assemblies
You can sign the assemblies using either a Personal Information Exchange (pfx) key file (Windows 10 only) or a Strong Name Key (snk) file.
Productive Development
Theme Selection
Dark and light theme options are available for the IDE.
Code editor
SnapDevelop provides a high productivity code editor with the following features:
- Code fix
- Code refactoring such as extracting interface/method, renaming classes or class members
- Code colorizer
- Code auto completion
- Code diagnostic
- Code outlining
- Code navigation such as finding all references, go to implementation/go to definition, and navigation through history
- Format selected code
- Quick info
- Comment/uncomment selected lines
- Make selected text uppercase/lowercase
NuGet Package Support
Pre-installed Runtime Packages
The following runtime packages are automatically installed when you install SnapDevelop.
- SnapObjects.Data
- SnapObjects.Data.Oracle
- SnapObjects.Data.PostgreSql
- SnapObjects.Data.SqlServer
- SnapObjects.Data.Odbc
- SnapObjects.Data.AspNetCore
- PowerBuilder.Data
- PowerBuilder.Data.AspNetCore
- SnapDevelop.xUnit.Runner
NuGet Package Manager
The NuGet Package Manager included in SnapDevelop enables you to search, download, install, update, configure, and uninstall NuGet packages.
Merging NuGet Packages
If a NuGet package is already used in a solution, you can merge different versions of the NuGet package into one for the solution.
Generating NuGet Packages
After you create a .NET Standard/.NET Core Class Library project, you can directly generate NuGet packages from the project.
Debugging Tool
The following debugging features are available:
- Adding or removing breakpoints
- Viewing the call stack while in debugger; when changing the stack frame in the call stack window, the local and watch windows are refreshed simultaneously.
- Debugging multi-threaded applications; when changing to another thread while debugging, the local and watch windows are refreshed simultaneously.
- Continuing the debugging process when interrupted by exceptions
- Configuring the "Break When Thrown" exception settings
- Changing variable values during debugging for basic types of variables
- Refreshing the process when the debugger fails to calculate a value or the calculation is timed out
- Defining multiple environment variables for debug
- Debugging or stop debugging during a unit test
- Run to Cursor
- Step Into, Step Over, and Step Out
- Debug context menu in appropriate locations
Unit Testing
- xUnit Test
- Running multiple unit test sessions simultaneously
- Setting Fact and Theory attributes
- Performing searches during a unit test
- Providing the total number of tests passed, failed and skipped
Source Control
Integrate with Subversion (SVN)
The prerequisite is to install TortoiseSVN 1.9 or later;
Supported:
Adding project to local and remote repositories;
Adding, updating, or committing files and folders;
Branching and merging;
Switching to a different URL;
Resolving conflicts and editing text conflicts;
Showing or reverting changes;
Locking and releasing locks
Unsupported:
Using SVN through a proxy;
Checking out a solution from the remote repository.
Integrate with Git
Supported:
Loading file statuses;
Adding project to Git source control;
Managing local and remote repositories and accounts;
Adding, staging, pushing and committing;
Cloning local and remote repositories;
Syncing, pulling, fetching, pushing code to the server;
Adding or editing push and pull repositories.
Unsupported yet:
Using Git through a proxy;
Editing or resolving conflicts that occur during pull or commit;
Branching-related features;
Tagging;
Selecting files/items to commit or push
Deployment
Two deployment options are currently supported: web deploy and file system publish.
- The Web deploy option deploys applications using Microsoft Web Deploy 3.6;
- The file system publish option simply copies the files in the application to a specific folder.
Integration with PowerBuilder
When you select to add a new "C# Projects (Web API, etc.)" target to a PowerBuilder workspace, SnapDevelop will be launched from PowerBuilder IDE for the creation and development of the C# project. When you create a new C# project in SnapDevelop, you can select to add the project to the PowerBuilder workspace currently open in PowerBuilder IDE. The project structure will stay synchronized between SnapDevelop and PowerBuilder IDE.