Small cleanup, better readme
This commit is contained in:
@@ -4,5 +4,4 @@
|
|||||||
{ "keys": ["shift+f5"], "command": "remedy_stop_debugging" },
|
{ "keys": ["shift+f5"], "command": "remedy_stop_debugging" },
|
||||||
{ "keys": ["f9"], "command": "remedy_set_breakpoint" },
|
{ "keys": ["f9"], "command": "remedy_set_breakpoint" },
|
||||||
{ "keys": ["ctrl+shift+f5"], "command": "remedy_restart_debugging" },
|
{ "keys": ["ctrl+shift+f5"], "command": "remedy_restart_debugging" },
|
||||||
{ "keys": ["ctrl+t"], "command": "remedy_all_in_one" },
|
|
||||||
]
|
]
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
[
|
|
||||||
{
|
|
||||||
"button": "button3",
|
|
||||||
"count": 1,
|
|
||||||
"modifiers": [],
|
|
||||||
"command": "remedy_all_in_one",
|
|
||||||
"press_command": "drag_select"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
40
README.md
40
README.md
@@ -17,14 +17,26 @@ You can buy the debugger here:
|
|||||||
cd "%appdata%\Sublime Text\Packages"
|
cd "%appdata%\Sublime Text\Packages"
|
||||||
git clone https://github.com/krzosa/Sublime_RemedyBG
|
git clone https://github.com/krzosa/Sublime_RemedyBG
|
||||||
```
|
```
|
||||||
Launch Sublime (maybe you will need Package Control + and call Package Control: Satisfy Dependencies?)
|
|
||||||
|
- Make sure you have package control (Ctrl + Shift + P => Install Package Control)
|
||||||
|
- Ctrl + Shift + P => Satisfy Dependencies
|
||||||
|
- Restart Sublime
|
||||||
|
|
||||||
Optional:
|
Optional:
|
||||||
|
|
||||||
* Add remedy_executable to your settings if remedybg is not on your path or has different name.
|
- If remedybg is not on your path or has different name, change remedy_executable in your personal sublime settings, look at Remedy.sublime-settings for syntax reference.
|
||||||
* Setup vcvarsall, Look at vcvarsall section in readme.
|
- Setup visual studio developer's prompt or "vcvarsall", look at vcvarsall section in readme.
|
||||||
|
|
||||||
### Build before debugging
|
### Usage
|
||||||
|
|
||||||
|
By default plugin binds to standard debugger hotkeys. You can edit them in your personal sublime keybindings, look at "Default.sublime-keymap" for syntax reference.
|
||||||
|
- Ctrl + F10: Run to cursor
|
||||||
|
- F5: Start debugging
|
||||||
|
- Shift + F5: Stop debugging
|
||||||
|
- F9: Set breakpoint
|
||||||
|
- Ctrl + Shift + F5 - Restart debugging
|
||||||
|
|
||||||
|
### Bonus: Build before debugging
|
||||||
|
|
||||||
Sadly Sublime doesn't allow for querying of currently chosen build system.
|
Sadly Sublime doesn't allow for querying of currently chosen build system.
|
||||||
Neither does it allow for effective hook into the builtin ```build``` command
|
Neither does it allow for effective hook into the builtin ```build``` command
|
||||||
@@ -55,24 +67,14 @@ you will need to add a field called ```remedy_build_system```, here is an exampl
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
### Setting up Microsoft compiler enviroment with vcvarsall.bat
|
### Bonus: Setting up Microsoft compiler enviroment with vcvarsall.bat
|
||||||
|
|
||||||
If you are developing using remedybg it seems pretty obvious that you would want access to the Microsoft compiler so additionally the package is shipping with the ```setup_vsvars.py```. You need to update the path to your vcvarsall inside ```Remedy.sublime-settings``` or your global ```Preferences.sublime-settings```. THIS ONLY WORKS FOR REMEDY_BUILD!!! If you want to setup vcvarsall for the builtin ```build``` command, copy setup_vsvars.py to your ```User``` folder. You will have 2 copies one in remedy folder and the other in user folder. You need 2 copies because it seems that sublime heavily sandboxes packages from eachother so this package cannot influence the global enviroment. If anyone has any ideas how to make it global I would be happy to hear them.
|
If you are developing using remedybg it seems pretty obvious that you would want access to the Microsoft compiler so additionally the package is shipping with the ```setup_vsvars.py```.
|
||||||
|
|
||||||
Update these settings: (you can put them into global settings ```Preferences.sublime-settings``` or ```Remedy.sublime-settings```)
|
1. Copy content of setup_vcvarsall to your ```User``` folder for normal build commands or to ```Sublime_RemedyBG``` dir for remedy_build.
|
||||||
```
|
2. You need to update the path to your vcvarsall inside your global sublime settings/preferences, use ```Remedy.sublime-settings``` for reference.
|
||||||
"vc_vars_cmd": "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat",
|
|
||||||
"vc_vars_arch": "amd64",
|
|
||||||
```
|
|
||||||
|
|
||||||
### All in one
|
If you want vcvars for both remedy_build and normal sublime build, you will need to have 2 copies, one in remedy folder and the other in user folder. You need 2 copies because it seems that sublime heavily sandboxes packages from eachother so this package cannot influence the global enviroment. If anyone has any ideas how to make it global I would be happy to hear them.
|
||||||
|
|
||||||
Feature idea. By clicking using your middle mouse button you can issue most
|
|
||||||
of the available debugger commands.
|
|
||||||
|
|
||||||
* Debugger goes to the place you clicked on
|
|
||||||
* The word you clicked is going to get added to watch window
|
|
||||||
* If the word you clicked on matches "rt"(run_to_cursor), "r"(run), "rr"(stop), "rrr"(restart) then it's going to delete that word in sublime and issue a debugger command. So far I have found it to be nice for code discovery kind of stuff with the mouse + keyboard workflow, you can bind this to the keyboard too though. The commands are easy to type using single hand.
|
|
||||||
|
|
||||||
### Credits
|
### Credits
|
||||||
|
|
||||||
|
|||||||
35
remedy.py
35
remedy.py
@@ -554,41 +554,6 @@ class RemedyAddToWatchCommand(sublime_plugin.TextCommand):
|
|||||||
|
|
||||||
remedy_instance.add_watch(self.view.substr(region_cursor))
|
remedy_instance.add_watch(self.view.substr(region_cursor))
|
||||||
|
|
||||||
|
|
||||||
class RemedyAllInOneCommand(sublime_plugin.TextCommand):
|
|
||||||
def run(self, edit):
|
|
||||||
if remedy_instance.try_launching():
|
|
||||||
return
|
|
||||||
|
|
||||||
sel = self.view.sel()
|
|
||||||
if len(sel) > 1:
|
|
||||||
return
|
|
||||||
|
|
||||||
region_cursor = sel[0]
|
|
||||||
settings = self.view.settings()
|
|
||||||
old_boundaries = settings.get("word_separators")
|
|
||||||
settings.set("word_separators"," ;,")
|
|
||||||
region_word_on_cursor = self.view.word(region_cursor)
|
|
||||||
settings.set("word_separators", old_boundaries)
|
|
||||||
|
|
||||||
remedy_instance.goto_cursor()
|
|
||||||
|
|
||||||
content = self.view.substr(region_word_on_cursor)
|
|
||||||
if content == "r":
|
|
||||||
remedy_instance.send_command(COMMAND_START_DEBUGGING)
|
|
||||||
self.view.replace(edit, region_word_on_cursor, "")
|
|
||||||
elif content == "rr":
|
|
||||||
remedy_instance.stop_debugging()
|
|
||||||
self.view.replace(edit, region_word_on_cursor, "")
|
|
||||||
elif content == "rrr":
|
|
||||||
remedy_instance.send_command(COMMAND_RESTART_DEBUGGING)
|
|
||||||
self.view.replace(edit, region_word_on_cursor, "")
|
|
||||||
elif content == "rt":
|
|
||||||
remedy_instance.run_to_cursor()
|
|
||||||
self.view.replace(edit, region_word_on_cursor, "")
|
|
||||||
else:
|
|
||||||
remedy_instance.add_watch(content)
|
|
||||||
|
|
||||||
class RemedyOnBuildCommand(sublime_plugin.EventListener):
|
class RemedyOnBuildCommand(sublime_plugin.EventListener):
|
||||||
def on_window_command(self, window, command_name, args):
|
def on_window_command(self, window, command_name, args):
|
||||||
if remedy_instance.is_connected() == False:
|
if remedy_instance.is_connected() == False:
|
||||||
|
|||||||
Reference in New Issue
Block a user