This repository was archived by the owner on Feb 8, 2022. It is now read-only.

Repository files navigation

[ARCHIVED] ConfigurationTransform

Build StatusGitHub release

As part of the archival process, I'm closing all open issues and pull requests.


Microsoft has a neat out of the box solution for Web Application Projects configuration transform which gives you the ability to have multiple configurations for each build environment (i.e. web.config). Somehow this ability is not included in other project types.

When you have multiple projects with many configurations the dev->staging->production task becomes very unpleasant. I remember back then having one app.config file with different commented configurations for each environment struggling to comment uncomment the right ones. Well I'm happy those days are over. After using app.config transformations for two years doing it the hard way by editing the project file and adding the configuration files manually, I thought it would be nice to write extension to automate this task.

There are many articles and solutions out there, some of them used as the inspiration for this extension.

When I developed this extension I had a few things in mind:

  • Multiple configuration files for different environments (e.g. dev/staging/production).
  • ClickOnce support.
  • Self-contained solution - no need to install the extension on all dev/ build server machines.
  • Simple few clicks and you are set.

For more information how to use XDT (XML document transform) see http://go.microsoft.com/fwlink/?LinkId=125889

GitHub SampleConfigurationTransformSample

Step by Step Instructions:

  1. Add App.config file to project

  2. Right click App.config file in solution explorer and select Add Config Transforms

    Notice that you have new App.$$$.config files under App.config

    corresponding to build configurations

  3. Set the source App.config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <appSettings>
    <addkey="Environment"value=""/>
    </appSettings>
    </configuration>
  4. Set the target App.Debug.config

    <?xml version="1.0"?>
    <!-- For more information on using app.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
    <configurationxmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <appSettings>
    <addkey="Environment"value="Debug"xdt:Transform="Replace"xdt:Locator="Match(key)"/>
    </appSettings>
    </configuration>
  5. Build project.

Linked Configs Step by Step Instructions:

  1. Add link(Existing Item...) App.config file to project

  2. Right click link App.config file in solution explorer and select Add Config Transforms

    Click Yes button, if you select No button concrete(not linked) config files will be created which suits certain use case

    Notice that you have new App.$$$.config files under App.config

    corresponding to source App.config files

  3. Continue with step 3 above...

Preview:

Changelog:

From v3.2 and above Release Notes

  • 3.1 - Aug 19, 2017

    • Add support for Visual Studio 2017.
  • 3.0 - Feb 27, 2016

    • Add support for any config file (*.config) not just app.config
    • Update demo solution.
  • 2.2 - Feb 09, 2016

    • Add support for Visual Studio 2015.
  • 2.1 - Sep 29, 2014

    • Hot fix for v2.0. Remove 'Microsoft.VisualStudio.Shell.12.0 dependency.
  • 2.0 - Sep 28, 2014

    • Add preview support.
  • 1.6 - May 28, 2014

    • Fix minor bug.
  • 1.5 - May 24, 2014

    • Fix linked configs relative path.
    • Add support for source linked configs not included in project.
  • 1.4 - Apr 13, 2014

    • Fix linked configs creation when source config is located in solution sub folder.
  • 1.3 - Oct 05, 2013

    • Add support for Visual Studio 2013.
    • Add support for linked configs transformations.
    • Add deployment(Click-Once) support for class library projects.
  • 1.2 - May 03, 2013

    • Fix Visual Studio 2012 compatibility issue.
  • 1.1 - Nov 24, 2012

    • Add support for Visual Studio 2012.
    • Fix typo in xml element.
  • 1.0 - May 27, 2012

    • First release.

About

[ARCHIVED] Automatically transform app.config or any other config during build process. Once the transformation is set, it will run on other build machines without the extension.

Resources

Stars

45 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Feb 8, 2022. It is now read-only.

Repository files navigation

[ARCHIVED] ConfigurationTransform

Build StatusGitHub release

As part of the archival process, I'm closing all open issues and pull requests.


Microsoft has a neat out of the box solution for Web Application Projects configuration transform which gives you the ability to have multiple configurations for each build environment (i.e. web.config). Somehow this ability is not included in other project types.

When you have multiple projects with many configurations the dev->staging->production task becomes very unpleasant. I remember back then having one app.config file with different commented configurations for each environment struggling to comment uncomment the right ones. Well I'm happy those days are over. After using app.config transformations for two years doing it the hard way by editing the project file and adding the configuration files manually, I thought it would be nice to write extension to automate this task.

There are many articles and solutions out there, some of them used as the inspiration for this extension.

When I developed this extension I had a few things in mind:

  • Multiple configuration files for different environments (e.g. dev/staging/production).
  • ClickOnce support.
  • Self-contained solution - no need to install the extension on all dev/ build server machines.
  • Simple few clicks and you are set.

For more information how to use XDT (XML document transform) see http://go.microsoft.com/fwlink/?LinkId=125889

GitHub SampleConfigurationTransformSample

Step by Step Instructions:

  1. Add App.config file to project

  2. Right click App.config file in solution explorer and select Add Config Transforms

    Notice that you have new App.$$$.config files under App.config

    corresponding to build configurations

  3. Set the source App.config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <appSettings>
    <addkey="Environment"value=""/>
    </appSettings>
    </configuration>
  4. Set the target App.Debug.config

    <?xml version="1.0"?>
    <!-- For more information on using app.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
    <configurationxmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <appSettings>
    <addkey="Environment"value="Debug"xdt:Transform="Replace"xdt:Locator="Match(key)"/>
    </appSettings>
    </configuration>
  5. Build project.

Linked Configs Step by Step Instructions:

  1. Add link(Existing Item...) App.config file to project

  2. Right click link App.config file in solution explorer and select Add Config Transforms

    Click Yes button, if you select No button concrete(not linked) config files will be created which suits certain use case

    Notice that you have new App.$$$.config files under App.config

    corresponding to source App.config files

  3. Continue with step 3 above...

Preview:

Changelog:

From v3.2 and above Release Notes

  • 3.1 - Aug 19, 2017

    • Add support for Visual Studio 2017.
  • 3.0 - Feb 27, 2016

    • Add support for any config file (*.config) not just app.config
    • Update demo solution.
  • 2.2 - Feb 09, 2016

    • Add support for Visual Studio 2015.
  • 2.1 - Sep 29, 2014

    • Hot fix for v2.0. Remove 'Microsoft.VisualStudio.Shell.12.0 dependency.
  • 2.0 - Sep 28, 2014

    • Add preview support.
  • 1.6 - May 28, 2014

    • Fix minor bug.
  • 1.5 - May 24, 2014

    • Fix linked configs relative path.
    • Add support for source linked configs not included in project.
  • 1.4 - Apr 13, 2014

    • Fix linked configs creation when source config is located in solution sub folder.
  • 1.3 - Oct 05, 2013

    • Add support for Visual Studio 2013.
    • Add support for linked configs transformations.
    • Add deployment(Click-Once) support for class library projects.
  • 1.2 - May 03, 2013

    • Fix Visual Studio 2012 compatibility issue.
  • 1.1 - Nov 24, 2012

    • Add support for Visual Studio 2012.
    • Fix typo in xml element.
  • 1.0 - May 27, 2012

    • First release.

About

[ARCHIVED] Automatically transform app.config or any other config during build process. Once the transformation is set, it will run on other build machines without the extension.

Resources

Stars

45 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Feb 8, 2022. It is now read-only.

Repository files navigation

[ARCHIVED] ConfigurationTransform

Build StatusGitHub release

As part of the archival process, I'm closing all open issues and pull requests.


Microsoft has a neat out of the box solution for Web Application Projects configuration transform which gives you the ability to have multiple configurations for each build environment (i.e. web.config). Somehow this ability is not included in other project types.

When you have multiple projects with many configurations the dev->staging->production task becomes very unpleasant. I remember back then having one app.config file with different commented configurations for each environment struggling to comment uncomment the right ones. Well I'm happy those days are over. After using app.config transformations for two years doing it the hard way by editing the project file and adding the configuration files manually, I thought it would be nice to write extension to automate this task.

There are many articles and solutions out there, some of them used as the inspiration for this extension.

When I developed this extension I had a few things in mind:

  • Multiple configuration files for different environments (e.g. dev/staging/production).
  • ClickOnce support.
  • Self-contained solution - no need to install the extension on all dev/ build server machines.
  • Simple few clicks and you are set.

For more information how to use XDT (XML document transform) see http://go.microsoft.com/fwlink/?LinkId=125889

GitHub SampleConfigurationTransformSample

Step by Step Instructions:

  1. Add App.config file to project

  2. Right click App.config file in solution explorer and select Add Config Transforms

    Notice that you have new App.$$$.config files under App.config

    corresponding to build configurations

  3. Set the source App.config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <appSettings>
    <addkey="Environment"value=""/>
    </appSettings>
    </configuration>
  4. Set the target App.Debug.config

    <?xml version="1.0"?>
    <!-- For more information on using app.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
    <configurationxmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <appSettings>
    <addkey="Environment"value="Debug"xdt:Transform="Replace"xdt:Locator="Match(key)"/>
    </appSettings>
    </configuration>
  5. Build project.

Linked Configs Step by Step Instructions:

  1. Add link(Existing Item...) App.config file to project

  2. Right click link App.config file in solution explorer and select Add Config Transforms

    Click Yes button, if you select No button concrete(not linked) config files will be created which suits certain use case

    Notice that you have new App.$$$.config files under App.config

    corresponding to source App.config files

  3. Continue with step 3 above...

Preview:

Changelog:

From v3.2 and above Release Notes

  • 3.1 - Aug 19, 2017

    • Add support for Visual Studio 2017.
  • 3.0 - Feb 27, 2016

    • Add support for any config file (*.config) not just app.config
    • Update demo solution.
  • 2.2 - Feb 09, 2016

    • Add support for Visual Studio 2015.
  • 2.1 - Sep 29, 2014

    • Hot fix for v2.0. Remove 'Microsoft.VisualStudio.Shell.12.0 dependency.
  • 2.0 - Sep 28, 2014

    • Add preview support.
  • 1.6 - May 28, 2014

    • Fix minor bug.
  • 1.5 - May 24, 2014

    • Fix linked configs relative path.
    • Add support for source linked configs not included in project.
  • 1.4 - Apr 13, 2014

    • Fix linked configs creation when source config is located in solution sub folder.
  • 1.3 - Oct 05, 2013

    • Add support for Visual Studio 2013.
    • Add support for linked configs transformations.
    • Add deployment(Click-Once) support for class library projects.
  • 1.2 - May 03, 2013

    • Fix Visual Studio 2012 compatibility issue.
  • 1.1 - Nov 24, 2012

    • Add support for Visual Studio 2012.
    • Fix typo in xml element.
  • 1.0 - May 27, 2012

    • First release.

About

[ARCHIVED] Automatically transform app.config or any other config during build process. Once the transformation is set, it will run on other build machines without the extension.

Resources

Stars

45 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Feb 8, 2022. It is now read-only.

Repository files navigation

[ARCHIVED] ConfigurationTransform

Build StatusGitHub release

As part of the archival process, I'm closing all open issues and pull requests.


Microsoft has a neat out of the box solution for Web Application Projects configuration transform which gives you the ability to have multiple configurations for each build environment (i.e. web.config). Somehow this ability is not included in other project types.

When you have multiple projects with many configurations the dev->staging->production task becomes very unpleasant. I remember back then having one app.config file with different commented configurations for each environment struggling to comment uncomment the right ones. Well I'm happy those days are over. After using app.config transformations for two years doing it the hard way by editing the project file and adding the configuration files manually, I thought it would be nice to write extension to automate this task.

There are many articles and solutions out there, some of them used as the inspiration for this extension.

When I developed this extension I had a few things in mind:

  • Multiple configuration files for different environments (e.g. dev/staging/production).
  • ClickOnce support.
  • Self-contained solution - no need to install the extension on all dev/ build server machines.
  • Simple few clicks and you are set.

For more information how to use XDT (XML document transform) see http://go.microsoft.com/fwlink/?LinkId=125889

GitHub SampleConfigurationTransformSample

Step by Step Instructions:

  1. Add App.config file to project

  2. Right click App.config file in solution explorer and select Add Config Transforms

    Notice that you have new App.$$$.config files under App.config

    corresponding to build configurations

  3. Set the source App.config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <appSettings>
    <addkey="Environment"value=""/>
    </appSettings>
    </configuration>
  4. Set the target App.Debug.config

    <?xml version="1.0"?>
    <!-- For more information on using app.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
    <configurationxmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <appSettings>
    <addkey="Environment"value="Debug"xdt:Transform="Replace"xdt:Locator="Match(key)"/>
    </appSettings>
    </configuration>
  5. Build project.

Linked Configs Step by Step Instructions:

  1. Add link(Existing Item...) App.config file to project

  2. Right click link App.config file in solution explorer and select Add Config Transforms

    Click Yes button, if you select No button concrete(not linked) config files will be created which suits certain use case

    Notice that you have new App.$$$.config files under App.config

    corresponding to source App.config files

  3. Continue with step 3 above...

Preview:

Changelog:

From v3.2 and above Release Notes

  • 3.1 - Aug 19, 2017

    • Add support for Visual Studio 2017.
  • 3.0 - Feb 27, 2016

    • Add support for any config file (*.config) not just app.config
    • Update demo solution.
  • 2.2 - Feb 09, 2016

    • Add support for Visual Studio 2015.
  • 2.1 - Sep 29, 2014

    • Hot fix for v2.0. Remove 'Microsoft.VisualStudio.Shell.12.0 dependency.
  • 2.0 - Sep 28, 2014

    • Add preview support.
  • 1.6 - May 28, 2014

    • Fix minor bug.
  • 1.5 - May 24, 2014

    • Fix linked configs relative path.
    • Add support for source linked configs not included in project.
  • 1.4 - Apr 13, 2014

    • Fix linked configs creation when source config is located in solution sub folder.
  • 1.3 - Oct 05, 2013

    • Add support for Visual Studio 2013.
    • Add support for linked configs transformations.
    • Add deployment(Click-Once) support for class library projects.
  • 1.2 - May 03, 2013

    • Fix Visual Studio 2012 compatibility issue.
  • 1.1 - Nov 24, 2012

    • Add support for Visual Studio 2012.
    • Fix typo in xml element.
  • 1.0 - May 27, 2012

    • First release.

About

[ARCHIVED] Automatically transform app.config or any other config during build process. Once the transformation is set, it will run on other build machines without the extension.

Resources

Stars

45 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Feb 8, 2022. It is now read-only.

Repository files navigation

[ARCHIVED] ConfigurationTransform

Build StatusGitHub release

As part of the archival process, I'm closing all open issues and pull requests.


Microsoft has a neat out of the box solution for Web Application Projects configuration transform which gives you the ability to have multiple configurations for each build environment (i.e. web.config). Somehow this ability is not included in other project types.

When you have multiple projects with many configurations the dev->staging->production task becomes very unpleasant. I remember back then having one app.config file with different commented configurations for each environment struggling to comment uncomment the right ones. Well I'm happy those days are over. After using app.config transformations for two years doing it the hard way by editing the project file and adding the configuration files manually, I thought it would be nice to write extension to automate this task.

There are many articles and solutions out there, some of them used as the inspiration for this extension.

When I developed this extension I had a few things in mind:

  • Multiple configuration files for different environments (e.g. dev/staging/production).
  • ClickOnce support.
  • Self-contained solution - no need to install the extension on all dev/ build server machines.
  • Simple few clicks and you are set.

For more information how to use XDT (XML document transform) see http://go.microsoft.com/fwlink/?LinkId=125889

GitHub SampleConfigurationTransformSample

Step by Step Instructions:

  1. Add App.config file to project

  2. Right click App.config file in solution explorer and select Add Config Transforms

    Notice that you have new App.$$$.config files under App.config

    corresponding to build configurations

  3. Set the source App.config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <appSettings>
    <addkey="Environment"value=""/>
    </appSettings>
    </configuration>
  4. Set the target App.Debug.config

    <?xml version="1.0"?>
    <!-- For more information on using app.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
    <configurationxmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <appSettings>
    <addkey="Environment"value="Debug"xdt:Transform="Replace"xdt:Locator="Match(key)"/>
    </appSettings>
    </configuration>
  5. Build project.

Linked Configs Step by Step Instructions:

  1. Add link(Existing Item...) App.config file to project

  2. Right click link App.config file in solution explorer and select Add Config Transforms

    Click Yes button, if you select No button concrete(not linked) config files will be created which suits certain use case

    Notice that you have new App.$$$.config files under App.config

    corresponding to source App.config files

  3. Continue with step 3 above...

Preview:

Changelog:

From v3.2 and above Release Notes

  • 3.1 - Aug 19, 2017

    • Add support for Visual Studio 2017.
  • 3.0 - Feb 27, 2016

    • Add support for any config file (*.config) not just app.config
    • Update demo solution.
  • 2.2 - Feb 09, 2016

    • Add support for Visual Studio 2015.
  • 2.1 - Sep 29, 2014

    • Hot fix for v2.0. Remove 'Microsoft.VisualStudio.Shell.12.0 dependency.
  • 2.0 - Sep 28, 2014

    • Add preview support.
  • 1.6 - May 28, 2014

    • Fix minor bug.
  • 1.5 - May 24, 2014

    • Fix linked configs relative path.
    • Add support for source linked configs not included in project.
  • 1.4 - Apr 13, 2014

    • Fix linked configs creation when source config is located in solution sub folder.
  • 1.3 - Oct 05, 2013

    • Add support for Visual Studio 2013.
    • Add support for linked configs transformations.
    • Add deployment(Click-Once) support for class library projects.
  • 1.2 - May 03, 2013

    • Fix Visual Studio 2012 compatibility issue.
  • 1.1 - Nov 24, 2012

    • Add support for Visual Studio 2012.
    • Fix typo in xml element.
  • 1.0 - May 27, 2012

    • First release.

About

[ARCHIVED] Automatically transform app.config or any other config during build process. Once the transformation is set, it will run on other build machines without the extension.

Resources

Stars

45 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Feb 8, 2022. It is now read-only.

Repository files navigation

[ARCHIVED] ConfigurationTransform

Build StatusGitHub release

As part of the archival process, I'm closing all open issues and pull requests.


Microsoft has a neat out of the box solution for Web Application Projects configuration transform which gives you the ability to have multiple configurations for each build environment (i.e. web.config). Somehow this ability is not included in other project types.

When you have multiple projects with many configurations the dev->staging->production task becomes very unpleasant. I remember back then having one app.config file with different commented configurations for each environment struggling to comment uncomment the right ones. Well I'm happy those days are over. After using app.config transformations for two years doing it the hard way by editing the project file and adding the configuration files manually, I thought it would be nice to write extension to automate this task.

There are many articles and solutions out there, some of them used as the inspiration for this extension.

When I developed this extension I had a few things in mind:

  • Multiple configuration files for different environments (e.g. dev/staging/production).
  • ClickOnce support.
  • Self-contained solution - no need to install the extension on all dev/ build server machines.
  • Simple few clicks and you are set.

For more information how to use XDT (XML document transform) see http://go.microsoft.com/fwlink/?LinkId=125889

GitHub SampleConfigurationTransformSample

Step by Step Instructions:

  1. Add App.config file to project

  2. Right click App.config file in solution explorer and select Add Config Transforms

    Notice that you have new App.$$$.config files under App.config

    corresponding to build configurations

  3. Set the source App.config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <appSettings>
    <addkey="Environment"value=""/>
    </appSettings>
    </configuration>
  4. Set the target App.Debug.config

    <?xml version="1.0"?>
    <!-- For more information on using app.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
    <configurationxmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <appSettings>
    <addkey="Environment"value="Debug"xdt:Transform="Replace"xdt:Locator="Match(key)"/>
    </appSettings>
    </configuration>
  5. Build project.

Linked Configs Step by Step Instructions:

  1. Add link(Existing Item...) App.config file to project

  2. Right click link App.config file in solution explorer and select Add Config Transforms

    Click Yes button, if you select No button concrete(not linked) config files will be created which suits certain use case

    Notice that you have new App.$$$.config files under App.config

    corresponding to source App.config files

  3. Continue with step 3 above...

Preview:

Changelog:

From v3.2 and above Release Notes

  • 3.1 - Aug 19, 2017

    • Add support for Visual Studio 2017.
  • 3.0 - Feb 27, 2016

    • Add support for any config file (*.config) not just app.config
    • Update demo solution.
  • 2.2 - Feb 09, 2016

    • Add support for Visual Studio 2015.
  • 2.1 - Sep 29, 2014

    • Hot fix for v2.0. Remove 'Microsoft.VisualStudio.Shell.12.0 dependency.
  • 2.0 - Sep 28, 2014

    • Add preview support.
  • 1.6 - May 28, 2014

    • Fix minor bug.
  • 1.5 - May 24, 2014

    • Fix linked configs relative path.
    • Add support for source linked configs not included in project.
  • 1.4 - Apr 13, 2014

    • Fix linked configs creation when source config is located in solution sub folder.
  • 1.3 - Oct 05, 2013

    • Add support for Visual Studio 2013.
    • Add support for linked configs transformations.
    • Add deployment(Click-Once) support for class library projects.
  • 1.2 - May 03, 2013

    • Fix Visual Studio 2012 compatibility issue.
  • 1.1 - Nov 24, 2012

    • Add support for Visual Studio 2012.
    • Fix typo in xml element.
  • 1.0 - May 27, 2012

    • First release.

About

[ARCHIVED] Automatically transform app.config or any other config during build process. Once the transformation is set, it will run on other build machines without the extension.

Resources

Stars

45 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Feb 8, 2022. It is now read-only.

Repository files navigation

[ARCHIVED] ConfigurationTransform

Build StatusGitHub release

As part of the archival process, I'm closing all open issues and pull requests.


Microsoft has a neat out of the box solution for Web Application Projects configuration transform which gives you the ability to have multiple configurations for each build environment (i.e. web.config). Somehow this ability is not included in other project types.

When you have multiple projects with many configurations the dev->staging->production task becomes very unpleasant. I remember back then having one app.config file with different commented configurations for each environment struggling to comment uncomment the right ones. Well I'm happy those days are over. After using app.config transformations for two years doing it the hard way by editing the project file and adding the configuration files manually, I thought it would be nice to write extension to automate this task.

There are many articles and solutions out there, some of them used as the inspiration for this extension.

When I developed this extension I had a few things in mind:

  • Multiple configuration files for different environments (e.g. dev/staging/production).
  • ClickOnce support.
  • Self-contained solution - no need to install the extension on all dev/ build server machines.
  • Simple few clicks and you are set.

For more information how to use XDT (XML document transform) see http://go.microsoft.com/fwlink/?LinkId=125889

GitHub SampleConfigurationTransformSample

Step by Step Instructions:

  1. Add App.config file to project

  2. Right click App.config file in solution explorer and select Add Config Transforms

    Notice that you have new App.$$$.config files under App.config

    corresponding to build configurations

  3. Set the source App.config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <appSettings>
    <addkey="Environment"value=""/>
    </appSettings>
    </configuration>
  4. Set the target App.Debug.config

    <?xml version="1.0"?>
    <!-- For more information on using app.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
    <configurationxmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <appSettings>
    <addkey="Environment"value="Debug"xdt:Transform="Replace"xdt:Locator="Match(key)"/>
    </appSettings>
    </configuration>
  5. Build project.

Linked Configs Step by Step Instructions:

  1. Add link(Existing Item...) App.config file to project

  2. Right click link App.config file in solution explorer and select Add Config Transforms

    Click Yes button, if you select No button concrete(not linked) config files will be created which suits certain use case

    Notice that you have new App.$$$.config files under App.config

    corresponding to source App.config files

  3. Continue with step 3 above...

Preview:

Changelog:

From v3.2 and above Release Notes

  • 3.1 - Aug 19, 2017

    • Add support for Visual Studio 2017.
  • 3.0 - Feb 27, 2016

    • Add support for any config file (*.config) not just app.config
    • Update demo solution.
  • 2.2 - Feb 09, 2016

    • Add support for Visual Studio 2015.
  • 2.1 - Sep 29, 2014

    • Hot fix for v2.0. Remove 'Microsoft.VisualStudio.Shell.12.0 dependency.
  • 2.0 - Sep 28, 2014

    • Add preview support.
  • 1.6 - May 28, 2014

    • Fix minor bug.
  • 1.5 - May 24, 2014

    • Fix linked configs relative path.
    • Add support for source linked configs not included in project.
  • 1.4 - Apr 13, 2014

    • Fix linked configs creation when source config is located in solution sub folder.
  • 1.3 - Oct 05, 2013

    • Add support for Visual Studio 2013.
    • Add support for linked configs transformations.
    • Add deployment(Click-Once) support for class library projects.
  • 1.2 - May 03, 2013

    • Fix Visual Studio 2012 compatibility issue.
  • 1.1 - Nov 24, 2012

    • Add support for Visual Studio 2012.
    • Fix typo in xml element.
  • 1.0 - May 27, 2012

    • First release.

About

[ARCHIVED] Automatically transform app.config or any other config during build process. Once the transformation is set, it will run on other build machines without the extension.

Resources

Stars

45 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Feb 8, 2022. It is now read-only.

Repository files navigation

[ARCHIVED] ConfigurationTransform

Build StatusGitHub release

As part of the archival process, I'm closing all open issues and pull requests.


Microsoft has a neat out of the box solution for Web Application Projects configuration transform which gives you the ability to have multiple configurations for each build environment (i.e. web.config). Somehow this ability is not included in other project types.

When you have multiple projects with many configurations the dev->staging->production task becomes very unpleasant. I remember back then having one app.config file with different commented configurations for each environment struggling to comment uncomment the right ones. Well I'm happy those days are over. After using app.config transformations for two years doing it the hard way by editing the project file and adding the configuration files manually, I thought it would be nice to write extension to automate this task.

There are many articles and solutions out there, some of them used as the inspiration for this extension.

When I developed this extension I had a few things in mind:

  • Multiple configuration files for different environments (e.g. dev/staging/production).
  • ClickOnce support.
  • Self-contained solution - no need to install the extension on all dev/ build server machines.
  • Simple few clicks and you are set.

For more information how to use XDT (XML document transform) see http://go.microsoft.com/fwlink/?LinkId=125889

GitHub SampleConfigurationTransformSample

Step by Step Instructions:

  1. Add App.config file to project

  2. Right click App.config file in solution explorer and select Add Config Transforms

    Notice that you have new App.$$$.config files under App.config

    corresponding to build configurations

  3. Set the source App.config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    <appSettings>
    <addkey="Environment"value=""/>
    </appSettings>
    </configuration>
  4. Set the target App.Debug.config

    <?xml version="1.0"?>
    <!-- For more information on using app.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 -->
    <configurationxmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <appSettings>
    <addkey="Environment"value="Debug"xdt:Transform="Replace"xdt:Locator="Match(key)"/>
    </appSettings>
    </configuration>
  5. Build project.

Linked Configs Step by Step Instructions:

  1. Add link(Existing Item...) App.config file to project

  2. Right click link App.config file in solution explorer and select Add Config Transforms

    Click Yes button, if you select No button concrete(not linked) config files will be created which suits certain use case

    Notice that you have new App.$$$.config files under App.config

    corresponding to source App.config files

  3. Continue with step 3 above...

Preview:

Changelog:

From v3.2 and above Release Notes

  • 3.1 - Aug 19, 2017

    • Add support for Visual Studio 2017.
  • 3.0 - Feb 27, 2016

    • Add support for any config file (*.config) not just app.config
    • Update demo solution.
  • 2.2 - Feb 09, 2016

    • Add support for Visual Studio 2015.
  • 2.1 - Sep 29, 2014

    • Hot fix for v2.0. Remove 'Microsoft.VisualStudio.Shell.12.0 dependency.
  • 2.0 - Sep 28, 2014

    • Add preview support.
  • 1.6 - May 28, 2014

    • Fix minor bug.
  • 1.5 - May 24, 2014

    • Fix linked configs relative path.
    • Add support for source linked configs not included in project.
  • 1.4 - Apr 13, 2014

    • Fix linked configs creation when source config is located in solution sub folder.
  • 1.3 - Oct 05, 2013

    • Add support for Visual Studio 2013.
    • Add support for linked configs transformations.
    • Add deployment(Click-Once) support for class library projects.
  • 1.2 - May 03, 2013

    • Fix Visual Studio 2012 compatibility issue.
  • 1.1 - Nov 24, 2012

    • Add support for Visual Studio 2012.
    • Fix typo in xml element.
  • 1.0 - May 27, 2012

    • First release.

About

[ARCHIVED] Automatically transform app.config or any other config during build process. Once the transformation is set, it will run on other build machines without the extension.

Resources

Stars

45 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages