我有一个包含JTextPane的JFrame.这个JTextPane的目的是在我输入单词时突出显示单词,这与程序员的文本编辑器一致.为了实现这一点,我扩展了JTextPane,我实现了KeyListener接口,并将其设置为自我的关键监听器.执行一些重要工作的方法是keyReleased.问题是,我可以突出显示我输入的第一个单词,但在此之后,我继续得到BadLocation,即使开始和结束都在文档限制内.我发布了一些代码片段:
// this is my highlight method
private void highlight(int start,int end) throws BadLocationException {
Document doc = getDocument();
Color c = Color.red;
String text = doc.getText(start,end);
StyleContext sc = StyleContext.getDefaultStyleContext();
AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, c);
setCharacterAttributes(aset, true);
setSelectionStart(start);
setSelectionEnd(end);
replaceSelection(text);
}
//this is my keyReleased method
public void keyReleased(KeyEvent arg0) {
char character = arg0.getKeyChar();
if(wordStarted) { // have I started typing a new word ?
if(character == …Run Code Online (Sandbox Code Playgroud) 我需要一个支持以下功能的文本编辑器(用于编程pourposes):
在Windows上,我使用ConTEXT,但它不是Mult-plataform(问题2).在Linux上我使用Gedit,但在问题4上失败了.
有没有适合所有这些需求的编辑器?
编辑:
问题4是,选择一个正方形(或矩形,如果你愿意),像这样:
aaaaaaaa|aaaa|aaxxxxxa
bbbbbbbb|bbbb|bbbxxxxx
cccccccc|cccc|cccxxxxx
Run Code Online (Sandbox Code Playgroud) 我为自己创建了一个Summer项目,并决定编写一个简单的文本/代码编辑器.我认为到目前为止一切进展顺利.我创建了一个基本的GUI,可以执行简单的操作,如打开,保存和创建文件.
现在我正在通过在打开文件时读取单词来进行语法突出显示,但事实证明这非常麻烦,如果有人只是在GUI中输入,则不会突出显示语法.
所以我想了解如何进行语法高亮显示,以便它既可以打开文件也可以在窗口中输入.
此外,如果有人有任何时间我想听听关于我的代码的评论,这就是存储库:https://mcmillhj.beanstalkapp.com/jtexteditor/browse
主要文件是JTextEditor.java和ui/JTextEditorUI.java
我目前正在使用Javascript中的一些语法突出显示.
要匹配字符串,我会使用这样的东西:
code = code.replace(/("([^"\\]*(\\.[^"\\]*)*)")/gm, "<span class=\"string\">$1</span>"); // string
这将匹配一个整数:
code = code.replace(/(\d+)/gm, "<span class=\"number\">$1</span>");
现在,我的问题是一个整数内的字符串会得到匹配了.这不是突出显示而是性能的问题,因为我可以使用
code > span.number而不是code span.number.
有什么建议可以防止这种行为吗?
我还阅读了TextMate的语言语法,这对我来说似乎非常强大.但是,我不知道如何在Javascript中实现它.
真的很感激一些帮助.
我知道有许多好的语法突出显示,但没有一个能为Objective-C提供真正好的支持.
我只输入以下行:
NSManagedObject ...
Run Code Online (Sandbox Code Playgroud)
但是Xcode不承认NSManagedObject.我以前从未这样做过,而且我正在遵循斯坦福大学的教程,所以我希望有人能指出我可能出错的地方?
许多流行的网站,如JSFiddle都有编辑器,可以在文本字段中输入代码时直接突出显示您的代码.
对于我自己的Rails应用程序,我需要一个插件,在您键入代码时突出显示您的代码,并支持少数几种语言.如何快速创建或使用插件进行此类突出显示?
有一个简单的(可能没有依赖)语法高亮显示器巫婆Python源代码吗?我需要它来返回令牌类型,从代码开头和令牌长度的偏移量.
我想使用Python内置tokenize但它不返回偏移量.
我还查看了一些标准语法高亮显示器,但它们都标记了其他语言,这对我的情况来说太过分了.我正在寻找的只是简单(快速)的Python语法高亮显示器.
提前致谢!
我知道文本编辑器和IDE问题已被淘汰,但是我发现的大多数答案都是Windows和Mac专用的,而且并非总是免费的。我刚刚开始开发Rails,正在寻找一种支持语法高亮显示的轻量级文本编辑器。我知道有RubyMine,RadRails和Netbeans。对于大型项目,我可能总是使用其中之一。但是,有时我宁愿远离IDE(以及它们创建的所有项目.xml .config工作区文件,以及打开未定位文件的开销在特定的“项目”中),只需使用简单的文本编辑器即可。过去我一直在使用抄写器,但是.rhtml并没有突出显示。我听说人们也在与gedit斗争,而我 绝望地无法在wine下运行Notepad ++。Sublime似乎很受欢迎,但并非免费。我太需要了吗?是否有符合以下条件的物品:
为什么我的Jade语法突出显示在VS Code中看起来很糟糕? (例如,当我之前添加行时,评论元,总是最后一条评论)
我弄乱了语法还是只是VS Code的错?
这不是第一次,它开始真的让我恼火,但我宁愿解决它,因为我真的很喜欢VS Code
这是我的代码:
doctype html
html
head
title= title
meta(name='viewport', content='width=device-width, initial- scale=1')
// - meta(name='viewport', content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no')
// - Files that need to be included at top
include ./partials/_include_at_top.jade
block extra-styles
body
include ./partials/_main-nav.jade
.page
block content
// - Files that need to be included at bottom
include ./partials/_include_at_bottom.jade
java ×2
javascript ×2
swing ×2
text-editor ×2
emacs ×1
html ×1
jtextpane ×1
objective-c ×1
pug ×1
python ×1
regex ×1
ruby ×1
textfield ×1
textmate ×1
xcode ×1