Known Issues in 2019 R3
SnapDevelop IDE
Debugging
- Data type conversion errors might occur if you dynamically modify decimal data in debug.
- Data cannot be calculated when viewing data of complex data structure.
- Debugger will throw an “Expression not supported" error if you attempt to expand a list while viewing the popup details of a variable/object.
- If you add an array item to watch but the specified index is out of range, the debugger watch pane will return an incorrect value.
- It is unsupported to use C#8.0 array-slicing syntax in a watch expression.
- Exceptions occur when trying to attach an application that is being debugged by Visual Studio.
- Viewing IEnumerator and complex expressions is not supported yet.
- When viewing data at the data prompt or Quick Watch, data display might be incomplete due to performance issues.
- Operations related to static field calculations are not supported. For example, displaying value for a static variable or method.
- If you click the Step Into button across projects or files, the Step Into and Continue buttons might turn gray, and you have to click the edit interface to restore them.
- During the debug process, the console window might not pop up automatically.
- When debugging a Web API project, the program might stop at a line without breakpoint when resending the request.
- The program might not stop at a breakpoint due to the PDB file error.
- When the current source code path is different from the path of the source code that generated the exe file in the previous build, the program might not stop at a breakpoint during Attach to Process.
- The breakpoint line might not be colored correctly when you insert or delete code above or under the breakpoint line.
- When the worker thread enters the waiting state (suspended by calling await method), the current execution flow returns to the calling thread; when the worker thread resumes its running state (await completes), the current execution flow returns to the worker thread, but the execution flow of the main thread will be lost, and it will run directly until the next breakpoint is triggered.
Docker Support
- Windows Container is not fully supported.
- The Code Auto Completion feature needs to be improved so that it will not add the parameter after commands when typing in the Dockerfile.
Editor
- Outlining keyboard shortcuts do not work when migrating PowerScript to C#.
- Keyboard shortcuts do not work in a floating .cs file.
- Breakpoints or the highlight color for the breakpoint point lines might disappear while you are typing in the editor.
- Cannot drag and drop a file from outside of the IDE to the editor.
Solution
- If you select multiple items by Shift-Click first, and then scroll up and down in the Solution Explorer, some of the items might get deselected.
- Full text search is not supported in the Solution Explorer.
- A solution with an inaccessible NuGet package source keeps restoring after opened.
- The Build checkbox in Configuration Properties is temporarily disabled as it has no effect at this moment.
- During the loading process of a solution, the Dependencies node under the project cannot be expanded.
- SnapDevelop does not support opening some projects created in VS, such as: ASP.NET Web Application (.NET Framework) projects that reference VS tools. To open them, check the information in the Error List and add the corresponding files of VS tools.
- Regardless of whether the "Reload modified files unless there are unsaved changes" option is checked or not, after modifying the content of a file in the Editor from the outside, the IDE automatically closes the tab and does not prompt to reload.
- Only two layers of a NuGet package can be expanded.
Unit Testing
- The Test Explorer cannot show the last test result if you close the solution and open it again.
- Syntax errors might be ignored for some unit test attributes.
- When the string passed by InlineData is too long, the test cannot be run.
- The test cannot be run when a Type parameter is passed in.
SQL Query
- Cannot generate SQL statements with New Query when the network connection is lost.
- Binary data such as image and timestamp cannot be displayed properly.
- Cannot display null in the query result.
Source Control
- No instructions are provided in the case of file conflicts.
- The status bar in the lower-right corner cannot show the SVN path of the current branch.
- The Solution Explorer shows temporary files in the case of file conflicts on update.
- If you switch to a different SVN branch, SnapDevelop still displays the old branch name.
- Project folder cannot get lock.
- It is unsupported to prompt or resolve conflicts when there are conflicts under Git source control.
Others
- Color rendering errors might occur in the password textbox when creating a new DB connection in a Windows 7 x64 environment.
- Find All does not search JSON files.
- File is still occupied after the debug is complete during the joint debugging with PowerBuilder.
- Project build order does not work yet. SnapDevelop always concurrently compiles files from the same project.
- The Find All References command will incorrectly find references in the projects that are not loaded in the current solution.
- Right clicking the SnapDevelop icon in the task bar, the list of recent projects won't refresh if the list already contains 10 projects.
- If there are data types in the data table that are not supported by runtime, you can still Convert to C# Model to export models, but runtime will run into errors, and the error message is not clear.
- When you select multiple projects in a solution to remove their NuGet packages, it removes the NuGet packages only from the first project you selected.
.NET DataStore
- When exporting .NET DataStore with an XML template, the NULL and empty strings are exported in the same format. And when the exported data is imported, the NULL and empty strings are all NULL.
- [ASE] Exception might be thrown when converting datatypes if a stored procedure contains decimal parameters.
- [ASE] When a column is of bigint data type and Allow Nulls is set to No, it is generated as the Long type in the generated models. In this case, the data type mapping exception will be thrown when Retrieve. You need to manually replace the Long type with the Decimal type in the exported models.
- [ASE] When a column is of Float(8) data type, it is generated as the Single type in the generated models. In this case, the data type mapping exception will be thrown when Retrieve. You need to manually replace the Single type with the Double type in the exported models.
- [SQL Anywhere] The SelectProcedureToStore method cannot get the return code or output parameter values for a stored procedure containing both return code and output parameters.
- [HANA] The datatypes "array", "st_geometry", and "st_point" are not supported.
- Static bind is not supported. Executing SQL statements containing such variables will result in a syntax error: Select Top :arg * from Table1, select Fname,salary from t_dwstyle_alltype where bankmony = cast(:ls_parm as decimal(:ll_precision,16))
- PowerBuilder functions are not fully supported. For example, LeftA and RightA currently cannot return the same results at runtime as they do in PowerBuilder.
- Cannot distinguish between null and "" when exporting data from the DataStore using template.
- CreateFromSQL does not support stored procedures.
- Committing a transaction will close the session and the temp table disappears.
- The exception message is not clear when a data type is not supported by runtime.
- When BatchExecuting is set to True, an error would occur if the number of SQL parameters in an incoming request exceeds 2,100.
DataWindow Converter
- [HANA] Cannot identify the system functions.
- [HANA] NCLOB data type is not supported.
- [SQL Server] Retrieving large decimal data might lead to a data overflow.
PowerScript Migrator
- The first SQL parameter might fail to be translated when translating dynamic SQL statements.
- Cannot automatically subtract 1 from the index in a DataWindow expression when translating Datastore methods.
- Different PB transactions cannot be translated correctly when a code block contains multiple transaction objects.
- When translating a visual object (such as a window) that contains a DataWindow, use the Translate Entire Document feature to translate the entire document first, otherwise the DataWindow cannot be accurately translated.
- The translation for "elseif" is split into "else" + [comment] + [newline] + "if".
- The row index (row = insertrow(0)) is translated to [row-1] in the SetItem method (setitem(row - 1, "column")).
- Cannot obtain the current row status data (translated to "-1" by default) when translating the getitemstatus or setitemstatus function. The user needs to manually modify the methods to getrowstatus or setrowstatus.
- An additional pair of curly brackets might be added to the ELSE statement block.