Back Unity Support 2018.2.0.653

Notes

• Add support for .asmdef files (#283)
• Recognise custom serializable classes and handle serialized fields and usge (#419, RIDER-9341, RIDER-12239)
• Update API details to 2018.2.0b9 (#611, #613)
• Add undocumented API methods in AssetPostprocessor (OnGeneratedCSProject and OnGeneratedSlnSolution)
• Consolidate multiple incorrect method signature inspections into one, with quick fix (#534)
• Add redundant SerializeField attribute on readonly field inspection, plus quick fix (#503, #586)
• Add redundant HighlightInInspector attribute on serialised field, plus quick fix (#585, #586)
• Add context actions to toggle HideInInspector attribute on serialised fields (#494, #586)
• Rework make serialised/non-serialised field context actions (#583, #586)
• Serialised field context action and quick fixes work correctly with multiple field declarations (#586)
• Add FormerlySerializedAs attribute when renaming a serialised field (#54, #659, RIDER-12298, RIDER-17887)
• Add redundant FormerlySerializedAs attribute inspection and quick fix, with code wiki entry
• Add possible mis-application of FormerlySerializedAs attribute on multiple field declaration, with quick fix and code wiki entry
• Add inspection for usage of Camera.main in Update methods (#196)
• Mark potential event handler methods and property setters as in use (#625, RIDER-17276)
• Add sprop and sfield Live Templates (#565)
• Don't show incorrect "always false" warning for "this == null" in Unity types (#368)
• Remove highlighted background for Cg blocks in ShaderLab files (RIDER-16438)
• Add ShaderLab colour scheme settings page (RIDER-17305)
• Fix ShaderLab highlighting of keywords (RIDER-17287)
• Fix rename's "find in text" renaming non-text elements in ShaderLab files
• Fix Unity specific inspections not showing in Solution Wide Errors tool window (#680)

From 2018.1:
• Bumped version to 2018.1 to match Rider and ReSharper releases
• Add inspections for null coalescing and null propagation opertators (#342, #35, #148)
• Add go to definition, find usages, highlighting, code completion for ShaderLab variable references (#362)
• Add undocumented UIBehaviour APIs (#394, #395, RIDER-12649)
• Add code inspection wiki for most inspections
• Workaround Unity's old version of annotations and make [PublicAPI] mark all members as in use (#337)
• Change inspection for incorrectly applied attributes from error to redundant code (#325, #322, #376)
• Remove option to disable ShaderLab parsing from UI (#236)
• Fix ShaderLab colour reference handling with non-US cultures (#346)
• Fix ShaderLab vector properties showing colour highlighting or throwing exceptions (#384, #397)
• Fix parse error with trailing whitespace in ShaderLab variable references (#257, #357)
• Fix exceptions with existing features

From 2.1.3 (for ReSharper 2017.3):
• Add context action to convert auto-property to property with serialized backing field (#195, #302)
• Add context action to mark field as serialized or non-serizable (#191, #295)
* • Add inspection and quick fix for redundant SerializeField attribute (#295)
• Add inspections and quick fixes for method signature of methods with Unity attributes (#248)
• Add inspections for incorrectly applied attributes (#247)
• Fix code completion before a field with an attribute (#259, #286)
• Improve relevance of Unity event functions in code completion (#260, #273)
• Improve reliability of attaching debugger to Unity Editor (#262, #268)

From 2.1.2 (for ReSharper 2017.2):
• Fix code completion and generation not working with newer versions of Unity (#219)
• Support Unity API up to 2017.3.0b3 (#218)
• Recognise projects with modularised UnityEngine assembly references (#241)
• Add Unity specific file templates (#232, #237)
• Fix parsing of 2DArray (RIDER-9786)
• Add colour highlighting and editing to ShaderLab

From 2.1.1 (not released for ReSharper):
• Improve ShaderLab parsing (#228, #233, RIDER-9214, #222)
• Show event function descriptions in generate dialog (RIDER-4904)

From 2.1.0 (not released for ReSharper):
• Add annotations for modularised UnityEngine assemblies (#207)

From 2.0.3 (for ReSharper 2017.2):
• Support for ReSharper 2017.2 (#193)
• Parse pre-processor directives in ShaderLab (#186)
• Correctly handle property attributes in shader file (#187)
• Parse CGINCLUDE blocks at any point in shader file (#188)
• Parse property reference for BlendOp (RIDER-8386)

From 2.0.2 (not released for ReSharper):
• Add ability to disable advanced ShaderLab syntax (#183)

From 2.0.0 (for ReSharper 2017.1):
• Parse ShaderLab files, show syntax error highlighting (#3)
• Brace matching for ShaderLab files
• TODO comments support for ShaderLab files
• Add support for HLSL and GLSL blocks

From 1.9.1:
• Reduce logging and change tracking for non Unity projects

From 1.9.0:
• Only set C# language level if Unity project has an Assets folder (#150)
• Navigate to correct local documentation page, or Unity's search page (#152)

Merge Unity3dRider plugin

From 1.8.0:
• Inspection and quick fix for calling new on ScriptableObject and MonoBehaviour (#142)
• Inspections and quick fixes for incorrect method signature for InitializeOnLoad attributes (#143)
• Added base type required annotations for various attributes (#145)
• Added implicit use annotations for UnityEngine.Networking attributes (#136)
• Code completion, find usages and rename support for SyncVarAttribute hook function (#135)
• Inspection and quick fix to mark empty event functions as dead code (#137)
• Fixed bug in Invoke symbol resolution to check base class (#138)
• Support "hook" property of SyncVarAttribute (#136)

From 1.7.0:
• Support for ReSharper 2017.1 (#110)
• Fix incorrect signatures in known API (#128)
• Treats Assertion.Assert as assertion methods (#129)

From 1.6.2:
• Improve location of "Create serialized field" Quick Fix (#124)

From 1.6.1:
• Fix nasty bug that will recreate all .meta files when reloading projects. Sorry! (#118)

From 1.6.0:
• Correctly update .meta files when creating, renaming or refactoring (#56, #61)
• "Create serialized field" from usage Quick Fix (#111)
• Inspections and quick fixes for incorrect event function signature and return type
• Event functions that are coroutines are now recognised and marked as in use (#52)
• Context action to convert event function signature to/from coroutine
• Add coroutine and optional parameter information to API and tooltips
• Expand API support to 5.0 - 5.6
• Add regex annotations for EditorTestsWithLogParser.ExpectLogLineRegex (#95)
• Warn if coroutine return value is unused (#99)

From 1.5.0:
• ReSharper 2016.3 support (#80, #90)
• Add inspection and Quick Fix to use CompareTag instead of string comparison (#82)
• Support Unity API for 5.2 - 5.5 (#81)
• Support undocumented ScriptableObject.OnValidate and Reset (#79)
• Support method name in string literal of MonoBehaviour.IsInvoking (#85)
• Support method name in string literal for MonoBehaviour.Start/StopCoroutine (#83)
• Add gutter icon and "Create" context action for Unity classes (#77)
• Fix method generation for static event functions (#73)
• Improve recognition of serialised fields (#87)
• Remove duplicate items in auto complete list (#92)

From 1.4.0:
• Enable functionality in projects that reference Unity assemblies, not just those that have the VSTU project flavour GUID (#53)
• Improve handling of C# language version. Default is correctly set to C# 4, not 5. Uses C# 6 if option is enabled in Unity 5.5. Handles the CSharp60Support plugin. (#50, #60)
• Treat UnityEngine.Debug.Assert as assertion methods, so ReSharper includes asserts in control flow analysis. (#62, #63 - thanks @joshuaoconnor!)
• Add string formatting inspections for debug assertion messages.
• Renamed "message handlers" to "event functions", as per the Unity documentation.
• Display a "gutter" icon for implicitly used event functions and fields. (#58)
• Display colour highlights and the colour palette picker for UnityEngine.Color and UnityEngine.Color32. (#51)
• Fix MonoBehaviour.Invoke code completion and rename support in string literals to work with the correct class, not just the current class. (#66)
• Support undocumented messages, such as OnGeneratedCSProjectFiles. (#59)
• Fix namespace provider settings for Assets and Assets\Scripts folders. (#64)
• Sort event functions alphabetically by default in code completion.

From previous releases:
• ReSharper 2016.2 support. Thanks @cmcpasserby! (#44, #46)
• Added support for event functions for all Unity classes, not just MonoBehaviour. Thanks @swalex, @rorydriscoll! (#20, #29, #44)
• External annotations to improve ReSharper's analysis, e.g. implicit usage and nullability of Component.gameObject. Thanks @bigbadtrumpet! (#34, #13, #15, #23, #42, #43)
• Code completion, find usages and rename support for Invoke, InvokeRepeating and CancelInvoke (#41)
• Auto-suggest event function completion when creating methods
• Event function descriptions for methods and parameters displayed in tooltips and QuickDoc
• "Read more" in QuickDoc navigates to Unity API documentation
• Suppress naming consistency checks on event functions
• Add parameters to generated event functions (#8)
• Automatically sets Unity projects to C# 5. No more incompatible C# 6 suggestions! (#5)