Negate command line options (-openFoldersAsWorkspace)
-
I have two shortcuts for np++. One includes this command line option, -openFoldersAsWorkspace, which works great. A second shortcut does not have any command line options.
After using the -openFoldersAsWorkspace option, the view is remembered for future launches of np++. Is there an option to:
a) not remember this option if used on the command line
b) have a negate feature to disable an option, such as -!openFoldersAsWorkspace
-
Interesting. I don’t know of a way to tell it to “not remember”, nor of a way to negate the option from the command line, though someone else might know of a way that I don’t.
If no one can come up with a workaround for you, then you would follow this FAQ to request a feature (either the command-line negation, or the not-remember-option, or both).
(Sorry I couldn’t be of more help.)
-
Both of your suggestions a) and b) would require some changes to the code base of Notepad++ (will not happen in the near future, if ever).
Thus, my suggestion is to create a desktop shortcut to a script file that changes the config file of your Notepad++ installation before running
notepad++.exe. The config file is in XML format, the script has to delete the/NotepadPlus/FileBrowserXML node.The following is a VBScript solution. Please note: You have to change lines 19 and 20 according to your needs.
The location of the Notepad++ config file depends on the type of installation you are running, a portable one or created by the Npp installer.
Installed by installer:
%AppData%\Notepad++\config.xml
Portable:<Npp-Directory>\config.xmlSave the script for example as
NppLauncher.vbsand create a desktop shortcut to it. Then open the properties of the shortcut and change its target to the following command:wscript.exe "<Path-To-The-Script-File>"The script forwards all received command line arguments to Notepad++.
Option Explicit '------------------------------------------------------------------------------- 'Variables declarations '------------------------------------------------------------------------------- Dim objFSO, objXmlDoc Dim strNppPath, strNppExePath, strConfigPath, strCfgFilePath Dim strNodePath, colNodes, objNode Dim intCnt, strArguments '------------------------------------------------------------------------------- 'Create base objects '------------------------------------------------------------------------------- Set objFSO = CreateObject("Scripting.FileSystemObject") Set objXmlDoc = CreateObject("MSXml2.DOMDocument.6.0") strNppPath = "<Path-To-Npp-Installation-Directory>" strConfigPath = "<Path-To-Directory-With-Npp-Config-File>" strNppExePath = objFSO.BuildPath(strNppPath, "notepad++.exe") strCfgFilePath = objFSO.BuildPath(strConfigPath, "config.xml") strNodePath = "/NotepadPlus/FileBrowser" '------------------------------------------------------------------------------- 'Main script '------------------------------------------------------------------------------- 'Open Npp XML config file objXmlDoc.async = False objXmlDoc.validateOnParse = False objXmlDoc.preserveWhiteSpace = True objXmlDoc.load(strCfgFilePath) 'Delete XML node regarding "Folder as Workspace" feature Set colNodes = objXmlDoc.selectNodes(strNodePath) For Each objNode In colNodes Call objNode.parentNode.removeChild(objNode) Next 'Save Npp XML config file objXmlDoc.save(strCfgFilePath) 'Start Notepad++ with provided command line arguments strArguments = "" For intCnt = 0 To WScript.Arguments.Count - 1 strArguments = strArguments & " " & Quote(WScript.Arguments(intCnt)) Next Call Execute(strNppExePath, strArguments) '=============================================================================== ' Surround a string with double quotes '=============================================================================== Function Quote(ByRef strString) Quote = """" & strString & """" End Function '=============================================================================== ' Run application with provided arguments '=============================================================================== Function Execute(ByRef strApp, ByRef strArgs) Dim objWshShell Set objWshShell = CreateObject("WScript.Shell") Execute = objWshShell.Run(Quote(strNppExePath) & " " & strArguments, _ 1, _ False) End Function
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login