Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Support for assembly definition files #283

Merged
merged 36 commits into from
Jul 3, 2018
Merged

Support for assembly definition files #283

merged 36 commits into from
Jul 3, 2018

Conversation

citizenmatt
Copy link
Member

@citizenmatt citizenmatt commented Nov 18, 2017

Add support for assembly definition files.

  • Add JSON schema validation for .asmdef files
  • Add File Template to create a new "Assembly Definition File"
  • File Template scope for Unity 2017.3+
  • Add duplicate item schema validation for .asmdef files. ReSharper should do this for JSON, but it's not implemented yet. See RSRP-467118. Warns of duplication of platform and reference
  • Validation of correct references tag in JSON. Requires a cache of existing definition files (which might not be included in the project)
  • Code completion of references elements
  • Go to declaration/find usages on references elements
  • Highlight usages
  • Inspection for self-reference + quick fix
  • Inspection for name matching file name + quick fix
  • Validation of circular references
  • Rename reference
  • Rename file when renaming reference
  • Reimplement file type integration so that it only applies to asmdef files, not all JSON files
  • Ensure .asmdef is added to list of files to be added to .csproj. This is true for new projects, but not for existing projects. It looks like there is code to always include it, but it doesn't work.

The completion and validation comes from the asmdef schema on
schemastore.org
@citizenmatt citizenmatt added this to the Rider 2017.3 milestone Nov 18, 2017
@citizenmatt citizenmatt self-assigned this Nov 18, 2017
@citizenmatt citizenmatt modified the milestones: Rider 2018.1, Rider 2018.2 Apr 5, 2018
@citizenmatt citizenmatt changed the base branch from master to 182 April 5, 2018 10:44
@citizenmatt citizenmatt changed the base branch from 182 to master April 13, 2018 14:52
@IvanPashchenko IvanPashchenko changed the base branch from master to wave12 May 11, 2018 15:38
@citizenmatt citizenmatt changed the base branch from wave12 to 182 May 15, 2018 12:51
This commit has a lot of infrastructure to make references and declared elements work in a situation where we don't have an IDeclaration. But supports the usual PSI reference features - unresolved error highlighting, go to declaration, find usages and rename, including optionally renaming the file.
@IvanPashchenko IvanPashchenko self-requested a review July 3, 2018 12:33
@IvanPashchenko
Copy link
Collaborator

LGTM

note: I've restarted Travis builds, they were failed due to issues on their side

@citizenmatt citizenmatt merged commit 8f5ee9c into 182 Jul 3, 2018
@citizenmatt citizenmatt deleted the feature/asmdef branch July 3, 2018 21:21
@citizenmatt citizenmatt changed the title [WIP] Support for assembly definition files Support for assembly definition files Jul 3, 2018
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants