Because you can simply open the plugin folder on your PC and yoink the settings.json
file, that button would essentially just be that.
I’m surprised that I’ve used this quite a bit…
Hi, I just bought InCommand several minutes ago, there are 2 suggestions I would like to make. Apologies if they were already said on the replies above but I’m too lazy to read them (unfortunately)
- There could be a little gap atleast between the buttons at the top right corner and the text editor when maximum horizontal scrolling was reached:
The reason for this is when I look at them it sort of makes my eye hurt or think something is wrong, so this is a QoL suggestion - Automatic scrolling on both horizontal and vertical scrolling bars on the script editor.
That’s all I have to say, thanks!
Can u send your color settings?
I don’t know why I haven’t installed this almost a year ago but I really wish that I did! Ty for the huge time saver!!! :0
The plugin is extremely small for me:
I use Studio on a HiDPI display, it would be super helpful if there was an option to scale the UI up by 2x (my scaling factor is exactly 200%), at least until UI elements are incorrectly displayed & misaligned is fixed.
EDIT: Another issue:
00:00:00.000 Requiring asset 6738245247.
Callstack:
cloud_4987562465.InCommand.PluginUpdates, line 36
cloud_4987562465.InCommand.PluginUpdates, line 35 - getLatestVersion
cloud_4987562465.InCommand.Main, line 22
- Server
00:00:00.768 InCommand couldn't connect to the game server. Accurate Play Solo support has therefore been disabled. (are you in Team Create?) - Client
Hey! I’ve been using this plugin for quite a bit, but I seem to be running into one issue consistantly.
The script environment for the scripts ran through InCommand is not the same for normal LocalScripts! This means if I require
a module script, it initiates a new instance and returns that to me. I think it has to do with the script’s identity level being the same as Plugin when ran.
I have been using this as a bypass for quite a bit now:
function run(code)
local ls = Instance.new("LocalScript")
ls.Parent = game.Players.LocalPlayer.Character
ls.Source = code.."\nscript:Destroy()"
end
run([[
-- code
]])
Is there any way you could add a option to run as a LocalScript instead of a ModuleScript? Thanks for reading!
Thanks for the feedback - first time I’ve heard this feature request, so we’ll definitely take this into consideration. Thanks
Implementation theory: it’s possible to execute a normal LocalScript/Script, and have it set up a BindableFunction (or similar) to execute modules provided by InCommand. You’d set a ModuleScript’s Source, then signal the script to require it in order to execute whatever code is inside. Similar to how script builders work.
Thanks for the suggestion, but it’s fine - I already have infrastructure in place that I can extend to make this work.
Would it be possible to include a feature to treat the 4 spaces that replace tabs as tabs? Sounds confusing written like that, but what I mean is when you press backspace it checks the last 3 characters (4 spaces is a tab, but one has just been deleted) and if they are all spaces then it deletes them all as a single character. I already have a system in place for my own in-game IDE (your lexer is incredible, massive thanks to you and the other contributors). It does however cause the cursor to pause for a frame or 2 in between positions, but that is unavoidable and is better than the alternative in my opinion. This would improve my experience with the plugin because I would be able to use tabs as spaces seamlessly. Perhaps it could be a toggle, to allow users who choose spaces (why?) over tabs to have their preferred method too.
local UserInputService: UserInputService = game:GetService("UserInputService")
UserInputService.InputBegan:Connect(function(Input: InputObject, GameProcessed: boolean?)
if not GameProcessed then return end
local TextBox: TextBox = UserInputService:GetFocusedTextBox()
-- Delete tabs as one character (they are replaced by 4 spaces, since Roblox treats them as a space)
if Input.KeyCode == Enum.KeyCode.Backspace then
local Text: string = TextBox.Text
local CursorPosition: number = TextBox.CursorPosition
if string.sub(Text, CursorPosition - 3, CursorPosition) == " " then -- 4 spaces is a tab, but they've just deleted one
TextBox.Text = string.sub(Text, 1, CursorPosition - 4)..string.sub(Text, CursorPosition) -- For some reason we need to delete 4?
end
end
end)
Edit: Thanks for posting your version, mine is not the most rigorously tested (I implemented it only a few days ago).
You’re asking for Atomic Soft Tabs.
Thanks for sharing your code. However, it fails in a lot of cases and offsets your cursor. Here’s how I handle it:
UserInputService.InputBegan:Connect(function(Input: InputObject, GameProcessed: boolean?)
if not GameProcessed then return end
if Input.KeyCode ~= Enum.KeyCode.Backspace then return end
local TextBox = UIS:GetFocusedTextBox()
if TextBox then
local Text: string = TextBox.Text
local CursorPosition: number = TextBox.CursorPosition
local whitespace = string.match(string.sub(Text, 1, CursorPosition-1), " +$")
if not whitespace then return end
if #whitespace % 4 == 3 then
TextBox.Text = string.sub(Text, 1, CursorPosition - 4) .. string.sub(Text, CursorPosition)
TextBox.CursorPosition = CursorPosition - 3
end
end
end)
I will add this to InCommand when @Elttob and I redo it.
During the rewrite, can you please fix the bug where parenthesis are highlighted using my operator color? It’s really distracting - it should use the “Script Bracket Color” instead.
Yeah, this was written before that setting existed.
Would it be possible to use HistoryService to add ‘undo’ support? Many times I have wished to undo a change but it doesn’t work at all, and will also undo the last non-plugin change I did
The service is actually called ChangeHistoryService, and it is very possible. I’ll take a look at the source code and see if I have time to get it started, possibly finished.
Not sure about the memory/processing requirements of this service, if possible a custom “save state” undo would work better than the “generate state” undo.
For more reading on the differences between the two, check here.
When highlighting, you should also take into account the Studio.Function Name Color
& Studio.Local Method Color
properties. An example is provided below (my current theme is One Dark Pro so that’s why my default text color is red):
Function Name Color
Studio Editor
InCommand
Local Method Color
Studio Editor
InCommand
Why do i need to buy InCommand for 125 R $? Well base on the Comments and Thumbnail, I really like it, And i watched @Alvin_Blox made a video about this, I was really impress @boatbomber
One thing that would be great if you could add would be being able to highlight the code (to copy and paste) as you scroll down because it undoes the highlight!