Add Context Menu command in Atom.io - contextmenu

I'm trying to add a context menu command to the Atom editor so that I can easily toggle bookmarks. I added the following to my config.cson file:
"context-menu":
"atom-text-editor":
Bookmark: "bookmarks:toggle-bookmark"
I restarted Atom and right-clicked on a line of code, but the context menu hadn't changed. Is there something else that I have to do? (I've tried Atom on Windows 7 and Ubuntu 14, but neither update the context menu.)

Add this to your init.coffee file:
atom.contextMenu.add {
'atom-text-editor': [{
label: 'Bookmark',
command: 'my-package:toggle'
}]
}

Related

Debugging electron application

Coming from web development background, I am learning application development with Electron.
With the basic code I made a honest mistake of using submenu instead of subMenu, I would have expected an error somewhere but the file menu was not clickable at all.
As this is my side/hobby project didn't spend a lot of time to fix it. Next day noticed and fixed this.
I would like to understand on how to debug these kind of issues properly, my code was:
// mainWindow.loadURL('URL');
// also tried opening chrome dev tools
mainWindow.webContents.openDevTools();
// create menu template
const mainMenuTemplate = [
{
label: "File",
subMenu: [
{
label: "Add Item"
}
]
}
];
// Build menu from template
const mainMenu = Menu.buildFromTemplate(mainMenuTemplate);
// insert menu
Menu.setApplicationMenu(mainMenu);
What I had tried is to open dev tools mainWindow.webContents.openDevTools();, even with this there was no error on console.
Please share some thoughts.
Added: Source code of my main.js from github repo.

Setting a default editor in Pry

I'm asking about setting a default editor for Pry to use. I'm working on a Rails
app. I created a file named ".pryrc" immediately inside my working directory.
In this file, I wrote this line of code (based on what I read on Github :
Pry.config.editor = proc { |file, line| "sublime +#{line} #{file}" }
This doesn't seem to work. when I try the command ".sublime company.rb", I 'd get
this error:
Error: there was a problem executing system command: sublime company.rb
Can someone tell me what I'm doing wrong please?
Change the configuration to:
Pry.config.editor = proc { |file, line| "sublime #{file}:#{line}" }
You start the editor in Pry by using the edit command.
For example to open test.rb at line 30 use:
edit test.rb:30
See here for more details
For those who have the same problem as mine.Perhaps, you have trouble launching the editor even outside Pry. First thing, make sure to check if the sublime command exists in ur PATH. if not, you probably need to create a symlink between the command and the corresponding path to your app within /usr/local/bin. For more information, see here.

VSCode: Prevent split editor to open same file left & right

I'm currently using VSCode as my main editor, however, when I split the editor into 2, it opens the same file twice, like left & right (see image below).
Is there any way to prevent it from opening the same file on the next editor? Currently, I have my custom settings and can be copied from here.
command name in Keybindings: workbench.action.moveEditorToNextGroup
command name in Command Palette: View: Move Editor into Next Group
default keybinding: Ctrl+Alt+→
command name in Keybindings:workbench.action.moveEditorToPreviousGroup
command name in Command Palette: View: Move Editor into Previous Group
default keybinding: Ctrl+Alt+←

How add context menu item to Windows Explorer for folders [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I have found out how to add right-click context menu items to files on Windows Explorer, by adding keys to the registry. I.e. I can right-click on a file in Explorer and run a custom app against that file.
I would like to do the same for a folder and have not found a way to do that (yet). I see articles on creating/writing custom context menu handlers, but I would rather not go there.
I have found an article here on how to add cascading context menu items to the Desktop and to the "Computer" in Explorer, but this does not work for any folder.
I would like to be able to add my custom app to the context menu and have it work on both files and folders. Is there a way to do this without writing a context menu handler?
I found the solution in the below article, which describes how to do this via the registry for files, as well as for folders:
How to Add Any Application Shortcut to Windows Explorer’s Context Menu
The following two articles provided additional info and options:
Ultimate Tutorial to Customize Desktop Context Menu in Windows Vista, 7 and 8
Add Cascading Menus for Your Favorite Programs in Windows 7 Desktop and My Computer Context Menus
In the registration editor (regedit.exe) find:
Context menu for right click on folders in left panel of Windows Explorer or on background of a directory in right panel:
HKEY_CLASSES_ROOT\Directory\Background\shell if you are administrator
HKEY_CURRENT_USER\Software\Classes\directory\Background\shell if you are a normal user
Context menu for right click on folders in right panel of Windows Explorer:
HKEY_CLASSES_ROOT\Directory\shell if you are administrator
HKEY_CURRENT_USER\Software\Classes\directory\shell if you are a normal user
Context menu for any file:
HKEY_CLASSES_ROOT\*\shell if you are administrator
HKEY_CURRENT_USER\Software\Classes\*\shell if you are a normal user
In all cases:
add a new key under shell, naming it as you want to name the
context menu item
add a new key inside this key, named command (mandatory name)
edit the default property in command to
myprogrampath\path\path\executable.exe "%1" to pass the file path and
name of the selected file to your custom program (for .../Directory/Background and .../directory/Background cases use %V instead of %1)
More customization:
Add icon: add a string value named icon for key created at step 1 with value matching an icon resource path. You can also provide an integer arguments to specify which icon to use. Example: %SystemRoot%\System32\shell32.dll,3
Display only on shift-click: add an empty string value named Extended for key created at step 1
Customize menu entry label: change the value of default value for key created at step 1
Change menu entry location: add a string value named Position with one of: Top, Bottom
Found a cleaner, easier and faster solution: create a text file, fill it with these contents, update it to your needs, save with .reg suffix and launch it (it does not need administrator priviliges because it accesses user-part of the registry):
Windows Registry Editor Version 5.00
; Setup context menu item for click on right panel:
[HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\MenuItemNameBackground\command]
#="C:\\yourpath\\executable.exe \"%1\""
; Optional: specify an icon for the item:
; HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\MenuItemNameBackground]
;"icon"="C:\\yourpath\\appicon.ico"
; Optional: specify a position in the menu
; HKEY_CURRENT_USER\Software\Classes\directory\Background\shell\MenuItemNameBackground]
;"position"="Bottom"
; -------------------------------------------------------------------------------------
; Setup context menu item for click on folders tree item:
[HKEY_CURRENT_USER\Software\Classes\directory\shell\MenuItemNamePanel\command]
#="C:\\yourpath\\executable.exe \"%1\""
; Optional: specify an icon for the item:
; [HKEY_CURRENT_USER\Software\Classes\directory\shell\MenuItemNamePanel]
;"icon"="C:\\yourpath\\appicon.ico"
; Optional: specify a position in the menu
; [HKEY_CURRENT_USER\Software\Classes\directory\shell\MenuItemNamePanel]
;"position"="Top"
In this way you can also have a backup of your configuration: just save the .reg file in a safe place. If you manually edit the registry after launching the file, right-click and slect "export".
Beware of double backspaces in path: \\
I went back and also answered this in another topic since there doesn't appear to be much on this question specifically.
I found the simplest way was to add a String Value to the key called "AppliesTo" and set its value to "under:{path}"
In my example, I want it to only look in the T Drive, so my String value is "AppliesTo":"under:T:".
In C#, this is easily accomplished with the following:
RegistryKey _key = Registry.ClassesRoot.OpenSubKey("Folder\\Shell", true);
RegistryKey newkey = _key.CreateSubKey("My Menu Item");
newkey.SetValue("AppliesTo", "under:T:");
RegistryKey subNewkey = newkey.CreateSubKey("Command");
subNewkey.SetValue("", "C:\\yourApplication.exe");
subNewkey.Close();
newkey.Close();
_key.Close();
The only good solution I found a really working is : https://superuser.com/questions/1097054/shell-context-menu-registry-extension-doesnt-work-when-default-program-is-other
Add keys in HKEY_CLASSES_ROOT\SystemFileAssociations\your.extension\shell\command
Modify the last key with the command you wanna do.
For my purpose it was :
"C:\Program Files (x86)\GPSBabel\gpsbabel.exe" -r -i gpx -f "%1" -x simplify,count=1000 -o gpx -F "%1.gpx"
If I export the it I get a .reg :
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\SystemFileAssociations\.gpx\shell\Simplify gpx\command]
#="\"C:\\Program Files (x86)\\GPSBabel\\gpsbabel.exe\" -r -i gpx -f \"%1\" -x simplify,count=1000 -o gpx -F \"%1.gpx\""
Open command prompt [run as administrator] and execute this command
reg add "HKEY_CLASSES_ROOT\Directory\shell\Refi2\command" /d "powershell.exe -noexit -command Set-Location -literalPath '%V'"
-d : value to execute[app name exe].
-v : creates a new subkey inside the command key.
-f : to forcefully override the key if already exists.
powershell.exe -noexit -command Set-Location -literalPath '%V' instead of this you can specify path of your exe.
For more details about more features run:-
reg add /?

sublime text : open containing folder

I'm working on some file in my sublime text 2 editor, and I want to open a folder in which that file resides.
I know there is a 2 step procedure to do this already
step 1: right click and reveal in sidebar (ctrl+shift+r)
step 2: right click on the same file in sidebar and click open containing folder.
I would like to know if there is only one shortcut key to do the same. This is something that I use quite often.
You can add the line below to your Default (Windows).sublime-keymap:
{ "keys": ["ctrl+alt+e"], "command": "open_dir",
"args": {"dir": "$file_path", "file": "$file_name"} }
By default the editor has this item in context menu. If you need this feature on tabs you have to create a file with name "Tab Context.sublime-menu" in "\Data\Packages\User\" (if does not exist yet) and add this code:
[
{
"caption": "-"
},
{
"command": "open_dir",
"args": {"dir": "$file_path", "file": "$file_name"},
"caption": "Open Containing Folder…"
}
]
Do not forget formatting lines as a JSON file! If you do not need a separator before this menu item you need to delete first block with caption "-"! You can add any other menu in this file. For example:
{
"command": "copy_path",
"caption": "Copy File Path"
},
Install Open project path by shortcut. Then setup keybindings in your User keymap file
{
"keys": ["f10"],
"command": "open_project_folder"
},
{
"keys": ["ctrl+f10"],
"command": "open_file_folder"
}
Initiate the key bindings on a open file (f10 to open the directory you have set as the project folder, ctrl+f10 to open the folder of the current file.)
This worked for me: assuming you have opened the file whose enclosing folder you want to open, use the Menu > Project > Add Folder To Project command.
A new window should open with the enclosing folder. Just click 'Open' and you're done!
I found this plugin: https://github.com/kallepersson/Sublime-Finder
The instructions are pretty simple and straightforward. Now I just use CMD+SHIFT+P and type "finder" and press enter and it opens a finder window.
I think this might only work on macs though.
In sublimetext3 there is a package to sync current open file with the sidebar explorer.
SyncedSidebar

Resources