Geany 是我能找到的最接近完美 Web 开发 IDE 的东西。但是,我找不到自动关闭大括号( {
)的方法。
例如,键入:
function test()
{
..并且按下RETURN应该会导致这种情况发生:
function test()
{
// cursor ends up here (indented by 1 tab)
}
有什么可以让 Geany 做到这一点吗?
Geany 是我能找到的最接近完美 Web 开发 IDE 的东西。但是,我找不到自动关闭大括号( {
)的方法。
例如,键入:
function test()
{
..并且按下RETURN应该会导致这种情况发生:
function test()
{
// cursor ends up here (indented by 1 tab)
}
有什么可以让 Geany 做到这一点吗?
你做别的东西:如果你愿意,打开https://plugins.geany.org/autoclose.html并查看“自动关闭”插件。您可以安装: sudo apt-get install geany-plugins-autoclose 就可以了
这不是您问题的完整答案,但可能会有所帮助。
我的 Geany 不是英文的,我自己翻译菜单的字段。
Geany 有一个特点:当你输入特殊文本并按下Tab时,文本将被另一个文本替换。
默认情况下,它适用于if
、else
、for
、while
、和。do
switch
try
此功能的配置在[Tools]/[Config files]/[snippets.conf]
.
进行一些更改后,保存文件并单击[Tools]/[Reload configuration]
。
我在 C++ 部分添加了两行:
class=class %cursor%%block%;\n
struct=struct %cursor%%block%;\n
和block=\s{\n\t%cursor%\n}
它不会让你按下{ Enter或{ Tab获取
{
//cursor
}
因为{=anything
被忽略了,我不知道为什么。
你可以做什么?您可以使用 替换一些其他文本{\n\t%cursor%\n}
,或者定义插入它的键绑定。
Geany 可以有用户定义的片段。可以从菜单中打开片段配置文件。
Tools ->
Configuration files ->
snippets.conf
转到要添加该功能的语言块。例如:
[C]
if=if (%cursor%)%block_cursor%
else=else%block_cursor%
for=for (i = 0; i < %cursor%; i++)%block_cursor%
while=while (%cursor%)%block_cursor%
do=do\n{\n\t%cursor%\n} while (%cursor%)\n%cursor%
switch=switch (%cursor%)%brace_open%case %cursor%:\n\t\t%cursor%\n\t\tbreak;\n\tdefault:\n\t\t%cursor%\n%brace_close%%cursor%
起初可以认为只需添加此行即可解决问题
{=%\n{\n\t%cursor%\n}%
但是 Geany 不接受当片段是一个非字母字符时。它适用于像这样的任何其他字母字符
b=%\n{\n\t%cursor%\n}% or bl=%\n{\n\t%cursor%\n}%
但是我不认为这是你想要的。您可以从 geanys 菜单中找到真正的解决方案。
Edit
->Preferences
->Editor
->Completions
勾选自动关闭引号和括号,然后单击应用并保存
如果我们将括号放在另一对括号内,则自动关闭不起作用。例如,内支架不会自动关闭。{{|}
但是,我们可以使用以下代码段来创建一个块。
{={\n\t%cursor%\n}
但是为了使用这个片段,我们首先必须在我们的wordchars集中包含 ' { ' char,方法是更改 snippets.conf 文件中的以下行。
wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789{