Author: Leopard20
Author Website: https://github.com/leopard20/Advanced-Developer-Tools-Localization

Requirements: No addons required

Version: 1.2.08
Signed: No

Short description: adds completely new and revamped developer tools to the game, including a Debug Console with syntax highlighting, Config Viewer with many new features, etc.

Date: 2021-03-23 09:48


Comments: (0)
Rating:



 







Advanced Developer Tools

by
Leopard20


Description:
This addon adds completely new and revamped developer tools to the game, including a Debug Console with syntax highlighting, Config Viewer with many new features, etc.

This mod can be a bit complicated to use at first. Please wait for a tutorial video. You can mess around with it in the meantime

If you're a mod/mission maker, then you definitely must've used the Debug Console, the Config Viewer, as well as other in-game tools that can help you test and verify your codes and configs.

But when you use those tools, the first thing that strikes you is their clunkiness and a rather user-unfriendly design.

For instance, lack of syntax highlighting in Debug Console means that you'll have to actually read every single word of your code in order to make sure you haven't made a typo, etc.
That's why most of us use third party code editors such as Visual Studio Code and Notepad++. But this means that you'll have to switch out of the game every time you want to write and test some code.
Or let's take a look at the Config Viewer: every time you want to go one level deeper into the config, the whole config viewer must be reloaded! And if you have hundreds of mods loaded, this means you have to spend more time waiting for the Config Viewer to load than actually viewing the config!

This is exactly why I made this mod: to make the Arma environment more user friendly to the mod/mission makers.

So without further ado, let's take a look at the features!

Features:

General Design:
- A familiar Windows design, with resizable and moveable windows. In addition to other Windows features like snapping the Window to the screen borders. Enjoy a multi window experience in Arma 3!
- Customize the mod the way you want. The mod offers a wide variety of customization options, including theming! You can recolor almost everything!

Debug Console:
- Enjoy SQF programming with syntax highlighting, with several perdefined themes! (such as VSCode Dark+)
- Improved code editing features, such as Tabs (tab key), Case Conversion (Ctrl+Shift+U), Undo/Redo (Ctrl+Z, Ctrl+ Y), Word Delete (Ctrl+Backspace/Delete), Commenting Out (Ctrl + Q), and many many more!
- Multi-Tab design! Edit multiple scripts at the same time!
- Search and Replace with various search options, along with Normal, Extended, and Regex (not available yet) search modes!
- Advanced auto-completion suggestions (similar to VSCode/Notepad++), including event handler names, functions, magic words, etc.
- View the command syntax information in a new and improved Scripting Help window (F1)
- A custom-made preprocessor to handle preprocessing commands (at the moment, only #define and #include) and comments.
- Added a new button that let's you run the code in Scheduled Environment directly (no need for spawn anymore)
- Added a new button for custom RemoteExec: remoteExec the code for your target client(s)
- Added a text box for providing arguments to your test code (no need for _args call {...} anymore)
- Open files (from addons) and functions to view/edit them
- A dedicated Execution History window. Want to re-execute a command you tried some time ago? You know where to find it!
- An advanced Color Picker at your disposal, which can come really handy if you're designing GUI elements.
- Magic Word: Typing this into most text boxes will open the debug console, and you can continue editing your code in there, and save it back into that text box!

Watch:
- Define as many Watched Expressions as you want! You can also customize their colors, and even pin them so that you can see them during gameplay!

Draw:
- Are you testing something that requires visualization using points and lines? The setup takes too long? Fear not! The mod comes with a "Draw" feature that let's you define custom "drawIcon3D"/"drawLine3D"s with just a few clicks! And you can define as many of them as you want!

Config Viewer:
- A super fast config viewer with a custom "Tree" design. No more annoyingly long loading times when you open the Config Viewer!
- Customize the config viewer colors to you liking
- Replaces the vanilla config viewer in the context menu of Eden (right click on entity) for faster entity lookup.
- Config Search: Search in the config in classes,
- Go To Config
- Accidentally went to another config? Want to go back? Use the Back and Forward feature!
- An advanced Data Viewer for viewing various types of config data, including: arrays, text, images, colors, models, and sounds (sounds don't work very well at the moment)
- Dedicated Bookmarks window

Function Viewer:
- A function viewer with syntax highlighting, search ability, and several recompilation options.


Installation:
To install Advanced Developer Tools you should use modfolders to keep it seperate from the official game content to prevent issues.
With Arma 3 you can use different ways to set up your modfolders to use custom content you have downloaded.
Please visit the Arma 3 Mod install instructions page for more information about using custom mods and addons in Arma 3.


Included files:
DEV_TOOLS.pbo


Known issues / Limitations:
- There are several problems with non-English characters (e.g Russian). They will be fixed in v2.02 of the game. (not my fault; game bug)
- The preprocessor is written in SQF, so it's slow, misses a lot of features, and can behave different than Arma and C preprocessors. Use it with caution.
- The config viewer can get slow after searching in the config. Use the "reload" button to refresh it.
- Some features don't work right now (including: Export To NPP, Save As, Export Config)
- The mod auto-capitalizes your words as you type (except for strings and comments). This was a design feature, but I'll make it optional later
- The editor can get slow if your code is too long (larger than ~300 lines). This is a game issue and I can't fix it


Notes:
Q1 - What language did you write this in?
A1 - 100% SQF

Q2 - What is the save feature for?
A2 - It saves the contents of the debug console into the control (text box) if you used the Magic Word feature.

Q3 - Can I edit external files?
A3 - Not in this version, but in future versions, I'll add an optional extension that can handle this as well.

Localization
Interested in translating the mod to your language? Or maybe the translation is not good and you'd like to improve it? Please visit the localization repository on GitHub: https://github.com/leopard20/Advanced-Developer-Tools-Localization

This is a preview release. Please provide feedback regarding the mod features, such as design, what you'd like to see, etc. Thank you!


Changelog: (23-03-2021 - updated as it happens, displayed in news once every month)
1.2.08
# Fixed:
* Replace in selection was broken

1.2.07
#Added:
* Function Viewer now opens to the last viewed function.
# Fixed:
* Esc key would close all windows if Function Viewer was on top
* Single-clicking on tree items in Config Viewer would sometimes expand the tree instead of just selecting it.

1.2.06
* Updated German localization

1.2.05
* Updated the documentation (added Export to Notepad++ and fixed some typo)
* Fixed an error when you added a new bookmark in config viewer

1.2.04
* Fixed: You could select Normal, Extended and Regex all at once in Function viewer Find

1.2.03
* Added and/or commands to Loop control commands.

1.2.02
* Removed artifacts in preprocessed text.

1.2.01
* Removed a leftover debug message.

1.2
# Added:
* Complete preprocessor support. Using SQF-VM's excellent preprocessor (thanks to X39).
* Complete regex support using C++ regex library.
* Complete mod documentation. If you need help with any part of the mod, please refer to the documentation.
* Debug Console: Auto completion for numbers.
* Debug Console: Export to Notepad++.
* Function Viewer: Added Find (but no Replace, obviously!)
* Watch: You can now change the size of the Watch both horizontally and vertically.
* All buttons now have a cool blue border when you hover the mouse over them.
# Improved:
* Config viewer tree view has been updated to look more like vanilla tree view.
* Config viewer quick search can now find results in all cached configs.
* Significant speed boost in config viewer (more caching + use of hashmaps + other optimizations).
* Debug console now properly selects the last open document instead of jumping to the last tab.
* Debug console can now highlight (underline)commands and numbers.
* Performance improvements in Debug console (minimal).
* You can now scroll through tabs using the mouse wheel.
* The function parameters and number of cycles are saved when you close the debug console.
* Faster command caching.
# Fixed:
* All problems with non-English characters (e.g. Russian) should be fully solved now.
* Occasional crash when opening the config viewer if the last opened config path was under missionConfigFile.
* Unable to switch to Spectator mode when inside a vehicle.
* The mod no longer auto capitalizes the commands.
* Fixed a bug in config search that prevented searching in Values only.
* Long file names couldn't be displayed in the tab name properly.
* Large variables were being saved in the mission namespace, making the saving process take longer and generate larger save files (oops).
* Fixed a typo that caused the Draw code to compile incorrectly and thus throw errors.
* The Find Next buttons were a bit grayed out, making them look disabled.
Note: This version adds two unsigned extensions, which will probably be blocked by BattleEye. If you run into problems, please disable BattleEye.

1.13
# Added:
* German localization (thanks to R3vo and Th3Jok3R)
* "Draw" now supports ASL positions as well.
# Improved:
* Safety measures against invalid variable names for "Draw" arrays
# Fixed:
* Next line and tabs were broken for non-English texts. Other features are still broken, but I won't fix them until v2.02 because my fixes will make the editor even slower than it already is. However, in v2.02 I can use the forceUnicode command and easily fix this.
* Minor bug fixes

1.12
# Fixed:
* Couldn't spectate the AI in spectator
* Contents of the Debug Console wouldn't be saved when you opened the Spectator, Camera, etc.

1.11
# Fixed:
* Fixed the .rvmat one more time

1.10
1.09
1.08
# Fixed:
* Ctrl+R button in Function Viewer would open config viewer instead of refreshing the function viewer.

1.07
# Added:
* The Function Viewer can now open functions with custom extensions (e.g. .fsm)

1.06
# Added:
* Debug Console can now be opened from both the Config Viewer and the Function Viewer

1.05
# Fixed:
* Another small bug fix for the Function Viewer

1.04
# Fixed:
* Small fix for the Function Viewer

1.03
# Added:
* Function Viewer + option
* Option to set the debug console width scale in docked mode
* Option to repalce config viewer in 3DEN
# Fixed:
* Incorrect .rvmat error
* Camera couldn't be rotated in data viewer when the game was paused.
* The line numbers were not aligned with the text

1.02
# Added:
* Function Viewer + option to replace vanilla function viewer
* Option to replace vanilla Config Viewer in 3DEN
* Option to set Debug Console width scale in docked mode
# Fixed:
* Incorrect .rvmat error
* Line numbers were not aligned with the text in Debug Console

1.01
1.00


Forum topic:
- BI forums


Steam Workshop:
- Subscribe




Enable javascript to be able to download from Armaholic please!