{"id":16637056,"url":"https://github.com/mccreery/pdn-plugins","last_synced_at":"2025-10-30T07:30:28.968Z","repository":{"id":54888835,"uuid":"229448031","full_name":"mccreery/pdn-plugins","owner":"mccreery","description":"Image manipulation plugins for Paint.NET, written in C#.","archived":false,"fork":false,"pushed_at":"2021-04-27T14:41:36.000Z","size":870,"stargazers_count":4,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-10-19T14:50:12.984Z","etag":null,"topics":["csharp","paint-net","paintdotnet"],"latest_commit_sha":null,"homepage":"https://forums.getpaint.net/topic/118140-mccreerys-plugins-texture-tools-color-ramp-outline-and-erode-april-23-2021/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mccreery.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-21T15:39:30.000Z","updated_at":"2023-10-19T14:50:12.986Z","dependencies_parsed_at":"2022-08-14T05:50:33.446Z","dependency_job_id":null,"html_url":"https://github.com/mccreery/pdn-plugins","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mccreery%2Fpdn-plugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mccreery%2Fpdn-plugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mccreery%2Fpdn-plugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mccreery%2Fpdn-plugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mccreery","download_url":"https://codeload.github.com/mccreery/pdn-plugins/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219856573,"owners_count":16556082,"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":["csharp","paint-net","paintdotnet"],"created_at":"2024-10-12T06:24:05.345Z","updated_at":"2025-10-30T07:30:28.551Z","avatar_url":"https://github.com/mccreery.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Assorted Plugins for paint.net\n~~I use VS Code~~ The solution and project files are made with Visual Studio\n2019. The VS Code information below is kept in case anyone wants to contribute\nto the project using VS Code. Extra care would have to be taken to avoid\nmangling the `.csproj` and `.sln` files.\n\n## Visual Studio\n\nEach plugin copies its built DLL into the paint.net plugins folder on build, so\nVisual Studio needs to be run as administrator for that action to work.\nOtherwise you will have to copy the files yourself each time you build.\n\n### Template\nThere is a folder containing a `.vstemplate` file in the `PluginTemplate`\ndirectory. If you drop a directory junction in the Visual Studio templates\nfolder, it will be picked up and updated if the repo ever updates it:\n\n```\nmklink /D \"%USERPROFILE%\\Documents\\Visual Studio 2019\\Templates\\ProjectTemplates\\PluginTemplate\" \"C:\\Path\\To\\Repo\\PluginTemplate\"\n```\n\n## VS Code (Legacy)\n\n**Note**: Some information in this section may be out of date. I use Visual\nStudio now.\n\n### Associated VS Code Plugins\nI use these plugins in VS Code for C# and project management purposes. These\nlinks will open in VS Code (using the `vscode` protocol).\n\n- [C#](vscode:extension/ms-vscode.csharp)\n- [C# Extensions](vscode:extension/jchannon.csharpextensions)\n  (New C# Class/Interface in context menu)\n- [Auto Close Tag](vscode:extension/formulahendry.auto-close-tag) (XML)\n- [XML Tools](vscode:extension/dotjoshjohnson.xml) (XML format)\n\n### Debug Setup\nAs far as I know, paint.net doesn't support sideloading plugins, so the easiest\ndebug setup is to install the plugin as a symlink:\n\n```bat\nmklink \"C:\\Program Files\\paint.net\\Effects\\PluginName.dll\" \"PluginName\\bin\\Debug\\PluginName.dll\"\n```\n\nYou can also use [Link Shell Extension](https://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html)\nto make this process less painful. I found it much easier to pin the Effects\nfolder in Explorer and drag-and-drop the DLLs while holding right click, which\ngives a \"Drop Here... Symbolic Link\" option.\n\nSince the plugin is installed, just use paint.net as the debug program, for\nexample in VS Code `launch.json`:\n```json\n\"program\": \"${env:PROGRAMFILES}\\\\paint.net\\\\PaintDotNet.exe\"\n```\n\nIf your paint.net is installed somewhere else, you'll have to adjust the\nlocations of the DLLs in the `.csproj` file.\n\n### Template\n1. Copy the `Template` folder and rename it and the `.csproj` file\n2. Rename the `.cs` files and update the `.csproj` file\n3. Update the information in `Properties\\AssemblyInfo.cs`\n3. Update `icon.png` for the menu icon\n4. Add the project to the solution using `dotnet sln add PluginFolder`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmccreery%2Fpdn-plugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmccreery%2Fpdn-plugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmccreery%2Fpdn-plugins/lists"}