Text Editor: Make editing "Text" fields much easier

Why are new fonts only available only in this plugin?
This is amazing though. I love this plugin

Glitch font please?? For instance HACKED

1 Like

could the top editor have TextWrapped? (or at least an option to enable TextWrapped?) i installed the plugin and the text went over the edge.
image
also could there also be a color picker? not sure how hard that would be to script

Great work. If I had not found this plugin ill have multiple spaces to separate a line. Wish roblox can add this somewhat. Great job! :partying_face:

The new fonts are in studio, but they are hidden (not released yet).
This plugin is taking advantage of them.

In fact, there’s a method that you can do, and that is to check if both keys are pressed at the same time when an input began. This would look like this:

local ctrlPressed = false
local bPressed = false
UIP.InputBegan:Connect(function(key)
	if key.KeyCode == Enum.KeyCode.LeftControl then
		ctrlPressed = true
	elseif key.KeyCode == Enum.KeyCode.B then
		bPressed = true
	end
	if ctrlPressed and bPressed then
		-- make the text bold
	end
end)
UIP.InputEnded:Connect(function(key)
	if key.KeyCode == Enum.KeyCode.LeftControl then
		ctrlPressed = false
	elseif key.KeyCode == Enum.KeyCode.B then
		bPressed = false
	end
end)

You could possibly add measurements or anything else to this, but this is a suggestion to how you can avoid the restrictions and use it hotkey alike.

You could also use UserInputService:GetKeysPressed() which is designed for this too

local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

RunService.Heartbeat:Connect(function()
	local ctrlPressed = false
	local bPressed = false

	for _, inputObject in ipairs(UserInputService:GetKeysPressed()) do
		if inputObject.KeyCode == Enum.KeyCode.LeftControl then
			ctrlPressed = true
		elseif inputObject.KeyCode == Enum.KeyCode.B then
			bPressed = true
		end
	end

	if ctrlPressed and bPressed then
		print("User is currently holding down LeftCtrl + B")
	end
end)

Or simply use UserInputService:IsKeyDown()

local ctrlPressed = UserInputService:IsKeyDown(Enum.KeyCode.LeftControl)
local bPressed = UserInputService:IsKeyDown(Enum.KeyCode.B)

if ctrlPressed and bPressed then
	...
end

Relevant links:
UserInputService:GetKeysPressed()
UserInputService:IsKeyDown()
InputObject

Maybe in the output window change it to be a proper Color by default so you can see it better.

UserInputService will only work if the game window (viewport) is focused, it won’t work while interacting with widgets.

Hi everybody, thank you all for your feedback, and sorry for the late reply.
I notice a few people have asked for a few suggestions - I have currently been quite busy so I haven’t been able to work on this plugin for a while, but I may be able to start working again on it soon.

Just a reminder that the plugin is open sourced and I am happy to accept community contributions if you want to add in the suggestions yourselves, you can find it here: https://github.com/JohnnyMorganz/roblox-text-editor

1 Like

Thank you, and (@Doqee) for your suggestions! Unfortunately UserInputService will not work for plugin widgets so these can’t be used.

I have also tried using the InputBegan/Changed/Ended events on the TextBox themselves, however these do not work.

I also tried using Plugin:CreatePluginAction() however the action is not triggered whilst a textbox is focused (I haven’t tested this recently so it may have changed, but I’m not sure)

If anybody has any other recommendations, please do let me know