{"id":14963624,"url":"https://github.com/dotnet/projfiletools","last_synced_at":"2025-10-19T08:32:03.591Z","repository":{"id":18428846,"uuid":"83486209","full_name":"dotnet/ProjFileTools","owner":"dotnet","description":"Tools for enhanced editing of MSBuild proj files in Visual Studio 2017 and 2019","archived":false,"fork":false,"pushed_at":"2022-07-22T04:48:27.000Z","size":293,"stargazers_count":95,"open_issues_count":18,"forks_count":26,"subscribers_count":27,"default_branch":"main","last_synced_at":"2025-01-30T07:42:32.309Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=ms-madsk.ProjectFileTools","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dotnet.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-02-28T22:35:39.000Z","updated_at":"2024-08-19T11:01:42.000Z","dependencies_parsed_at":"2022-09-18T19:41:13.685Z","dependency_job_id":null,"html_url":"https://github.com/dotnet/ProjFileTools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotnet%2FProjFileTools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotnet%2FProjFileTools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotnet%2FProjFileTools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotnet%2FProjFileTools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dotnet","download_url":"https://codeload.github.com/dotnet/ProjFileTools/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237092803,"owners_count":19254278,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-24T13:31:53.975Z","updated_at":"2025-10-19T08:32:03.586Z","avatar_url":"https://github.com/dotnet.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ProjFileTools Archived\n\nThis project was an experiment for older versions of Visual Studio that we have not carried forward in the same manner.\n\nAs part of creating transparency of the state of the repo, we are archiving this repo in current state. All issues will remain unresolved with regard to this source code.\n\nFor alternative extensions that are more recent we recommend looking at [MSBuild Editor](https://marketplace.visualstudio.com/items?itemName=mhutch.MSBuildEditor).\n\nIn addition, you may log feature suggestions on [Developer Community](https://developercommunity.visualstudio.com/VisualStudio) that can be upvoted by others to help us in our prioritization of different features that go into Visual Studio.\n\n\n\n---------------------------------------\n\n# Project File Tools\n\n\u003c!-- Replace this badge with your own--\u003e\n[![Build status](https://ci.appveyor.com/api/projects/status/hv6uyc059rqbc6fj?svg=true)](https://ci.appveyor.com/project/madskristensen/extensibilitytools)\n\n\u003c!-- Update the VS Gallery link after you upload the VSIX--\u003e\nDownload this extension from the [VS Gallery](https://aka.ms/projfiletools).\n\n---------------------------------------\n\nProvides Intellisense and other tooling for XML based project files such as .csproj and .vbproj files.\n\nSee the [change log](CHANGELOG.md) for changes and road map.\n\n## Features\n\n- Intellisense for NuGet package name and version\n- Hover tooltips for NuGet packages\n- Go To Definition (F12) for MSBuild imports\n- Go To Definition (F12) for MSBuild properties\n\n### Intellisense\nFull Intellisense for NuGet package references is provided for both packages that are locally cached as well as packages defined in any feed - local and online.\n\n![Tooltip](art/completion-name.png)\n\n![Tooltip](art/completion-version.png)\n\n### Hover tooltips\nHovering over a package reference shows details about that package.\n\n![Tooltip](art/tooltip.png)\n\n### Go To Definition (F12) for MSBuild imports\nSet the caret on any import statement and press F12, Visual Studio will automatically open the imported file.\n\nIt supports both the traditional `Import` `Project` construct\n```XML\n\u003cImport Project=\"foo.targets\" /\u003e\n```\nas well as the new `SDK` attribute used by .Net Core projects:\n```XML\n\u003cProject Sdk=\"Microsoft.NET.Sdk\"\u003e\n   ...\n\u003c/Project\u003e\n``` \n\nIt supports evaluation of MSBuild properties and globs.\n\nWhen the import statement covers multiple files (which is typically the case with the `SDK` attribute or when using globs), it opens the a window that displays the set of files included. In that list you can:\n- click on a file to open it in Visual Studio\n- hover the file name and the tooltip will display the full path\n\n![Tooltip](art/SdkImports.png)\n\n### Go To Definition (F12) for MSBuild properties\n\nPressing F12 when caret is on the usage of a MSBuild property will open the location where that property is defined. If multiple definitions are found, it opens a window that lists all the definitions and their evaluated values.\n\nFor example:\n```XML\n\u003cPropertyGroup\u003e\n    \u003cFoo\u003eabc\u003c/Foo\u003e\n    \u003cFoo\u003edef\u003c/Foo\u003e\n    \u003cBar\u003e$(Foo)\u003c/Bar\u003e\n\u003c/PropertyGroup\u003e\n```\nPressing F12 on `$(Foo)` in this case will lists both places where `Foo` is defined, including the evaluated values that get set (`abc`, `def`).\n\n![Tooltip](art/FooDefinitions.png)\n\nSelecting an item from the list, will open the corresponding location in the editor.\n\n## Contribute\nCheck out the [contribution guidelines](CONTRIBUTING.md)\nif you want to contribute to this project.\n\nFor cloning and building this project yourself, make sure\nto install the\n[Extensibility Tools 2015](https://visualstudiogallery.msdn.microsoft.com/ab39a092-1343-46e2-b0f1-6a3f91155aa6)\nextension for Visual Studio which enables some features\nused by this project.\n\n## License\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotnet%2Fprojfiletools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdotnet%2Fprojfiletools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotnet%2Fprojfiletools/lists"}