小编Alp*_*Alp的帖子

IntelliJ IDEA插件开发:保存选项卡组,持久保存它们,并在用户请求时重新加载一组选项卡

我目前正在编写一个IntelliJ插件.我希望能够存储/恢复一组选项卡以在不同的选项卡会话之间切换(与会话管理器Session Buddy等浏览器插件相当).

因此我基本上需要三种类型的动作:

  1. 阅读打开的标签(使用哪个文件和编辑器?)
  2. 将该信息持久存储为选项卡会话
  3. 打开所选会话的选项卡并关闭所有其他会话

我查看了可用的操作:IdeActions.java - 似乎没有我正在搜索的内容.但也许我正在寻找错误的地方.任何人都可以告诉我,我想要实现的是什么,并给我一些正确方向的指示?

更新

我成功创建了插件,它可以在Github上找到:http://alp82.github.com/idea-tabsession/

它可以在官方插件存储库中找到:Tab Session.

更新2

以下是有关分割窗口的后续问题:检索和设置分割窗口设置

java tabs intellij-idea intellij-plugin

20
推荐指数
1
解决办法
2862
查看次数

python Socket.IO客户端,用于向TornadIO2服务器发送广播消息

我正在构建一个实时Web应用程序.我希望能够从我的python应用程序的服务器端实现发送广播消息.

这是设置:

我可以成功地将socket.io消息从客户端发送到服务器.服务器处理这些并可以发送响应.在下面我将描述我是如何做到的.

当前设置和代码

首先,我们需要定义一个处理socket.io事件的Connection:

class BaseConnection(tornadio2.SocketConnection):
    def on_message(self, message):
        pass

    # will be run if client uses socket.emit('connect', username)
    @event
    def connect(self, username):
        # send answer to client which will be handled by socket.on('log', function)
        self.emit('log', 'hello ' + username)
Run Code Online (Sandbox Code Playgroud)

启动服务器是由Django管理自定义方法完成的:

class Command(BaseCommand):
    args = ''
    help = 'Starts the TornadIO2 server for handling socket.io connections'

    def handle(self, *args, **kwargs):
        autoreload.main(self.run, args, kwargs)

    def run(self, *args, **kwargs):
        port = …
Run Code Online (Sandbox Code Playgroud)

python django tornado websocket socket.io

19
推荐指数
1
解决办法
7316
查看次数

使用jQuery获取元素的真实宽度

我正在为html文件的"视觉正确性"编写验证器.目标是检测太宽的元素.

这是我的问题的演示.

红色虚线表示文档的最大宽度(本例中为200px).第一段很好,但第二段太宽了.尽管如此,以下所有命令仍然返回"200px"作为宽度:

// all return 200, but the value should be larger   
$('#two').width();
$('#two').outerWidth();
$('#two').prop('clientWidth');
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅小提琴.

我如何检测这种超大元素?

更新的问题:最好问一下,我如何检测超出其父元素边界的文本?

更新的要求:我不允许更改源HTML或CSS中的任何内容.但我可以用jQuery做任何我想要的东西来修改文档,这样我就可以检测到那些太宽的元素.

html javascript jquery

18
推荐指数
3
解决办法
3万
查看次数

适用于Java的高级PDF解析器

我想从Java中提取PDF文件中的不同内容:

  • 完整的可见文字
  • 图片
  • 链接

是否也可以获得以下内容?

  • 文档元标记,如标题,描述或作者
  • 只是头条新闻
  • 如果文档包含表单,则输入元素

我不需要操纵或渲染PDF文件.哪个库最适合这种目的?

UPDATE

好的,我试过PDFBox:

Document luceneDocument = LucenePDFDocument.getDocument(new File(path));
Field contents = luceneDocument.getField("contents");
System.out.println(contents.stringValue());
Run Code Online (Sandbox Code Playgroud)

但输出为空.虽然字段"摘要"是可以的.

下一个片段工作正常.

PDDocument doc = PDDocument.load(path);
PDFTextStripper stripper = new PDFTextStripper();
String text = stripper.getText(doc);
System.out.println(text);
doc.close();
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何提取图像,链接等.

更新2

我找到了一个如何提取图像的例子,但我仍然没有得到如何提取的答案:

  • 链接
  • 文档元标记,如标题,描述或作者
  • 只是头条新闻
  • 如果文档包含表单,则输入元素

java pdf parsing

15
推荐指数
2
解决办法
6万
查看次数

响应式网格布局框架

我想为我当前的Web项目使用易于使用的网格框架.以下是我将欣赏的功能:

  • 流体网格布局:可以水平对齐(并排)的盒子,每个都具有相同的高度(例如3列布局),工作宽度为100%
  • 响应性:在调整浏览器窗口大小时自动调整
  • 移动设备:显示垫和手机的备用配件布局
  • 文本大小:可选择动态调整文本大小(例如全宽标题)
  • 图像大小:可选择动态调整图像大小(例如全宽图像库)
  • 断点:可选择定义宽度值,触发更改布局的事件(例如,如果宽度低于阈值,则删除按钮)

更新

我找到了许多网格,但将其缩小到以下三个有希望的框架,这些框架可能非常适合我的要求:

以下是其他所有内容:

通常情况下,我会在问这里之前自己测试一下,以便我可以制定更具体的问题.但由于有大量的框架,我想听听一些指示从哪里开始.

  1. 您对这些或其他类似框架的体验如何?
  2. 您是否建议符合我要求的特定框架?

我结束了使用Foundation,这显然是这场比赛的胜利者 - 以我的拙见.

更新2

Bootstrap 3现在是一个真正的竞争对手,因为它也支持语义网格类.它支持SASS和LESS.

javascript css3 grid-layout responsive-design

15
推荐指数
1
解决办法
7372
查看次数

将List <String>转换为分隔的String

可能重复:
Java:将List <String>转换为join()d字符串

有这个:

List<String> elementNames = Arrays.asList("h1", "h2", "h3", "h4", "h5", "h6");
Run Code Online (Sandbox Code Playgroud)

使用自定义分隔符获取String的优雅方法是什么,如下所示:

"h1,h2,h3,h4,h5,h6"
Run Code Online (Sandbox Code Playgroud)

java string list

14
推荐指数
2
解决办法
4万
查看次数

通过linux shell进行XSLT 2.0转换

我想通过使用命令行执行来执行XSLT 2.0转换.我听说我可以通过shell命令使用Saxon库java -jar sax.jar -input foo.xml -xsl foo.xsl -output bar.xml.有谁知道我到底能达到那个目标?

顺便说一句,我不仅限于Java.任何其他shell解决方案都可以.

java xslt shell jar saxon

14
推荐指数
1
解决办法
9296
查看次数

Selenium 2:在新标签页中打开链接并关闭标签页

我希望能够在Selenium 2中的新选项卡中打开链接.此外,我想在完成与页面的交互时关闭选项卡.这怎么可能,如果我有WebElement一个的<a>标签?

我正在使用Selenium 2的Java API和Firefox 4上运行的Firefox驱动程序.

java webdriver firefox4 browser-tab selenium-webdriver

13
推荐指数
3
解决办法
4万
查看次数

自定义Java查询类(DSL):构建器模式,静态导入还是复杂查询的其他内容?

我正在创建一个自定义查询类,我不确定最优雅的编码方式.

目标是:

  • 使用方便
  • 可扩展性
  • 灵活,可以制定复杂的查询

途径

目前我可以想到两种选择.

1.构建器模式

Result r = new Query().is("tall").capableOf("basketball").name("michael").build();
Run Code Online (Sandbox Code Playgroud)

方法is(),capableOf()name()返回Query对象的自引用.build()将返回一个Result对象.

2.静态进口

Result r = new Query(is("tall"), capableOf("basketball"), name("michael"));
Run Code Online (Sandbox Code Playgroud)

的方法is(),capableOf()name()是静态的进口和返回Condition的对象.Query构造函数采用任意数量的条件并返回结果.

和/或/不查询

以下更复杂的查询很难制定:

名叫[michael OR dennis]的高个子篮球运动员

联盟

弯曲而有光泽的银匙

生成器模式:

Result r = new Query().is("tall").capableOf("basketball").or(new Query().name("michael"), new Query().name("dennis")).
    union(
        new Query().color("silver").a("spoon").is("bent").is("shiny")
    ).
    build();
Run Code Online (Sandbox Code Playgroud)

这很难写和阅读.另外,我不喜欢多次使用new.

静态导入:

Result r = new Query(is("tall"), capableOf("basketball"), or(name("michael"), name("dennis"))).
    union(color("silver"), a("spoon"), is("bent"), is("shiny")); …
Run Code Online (Sandbox Code Playgroud)

java dsl design-patterns builder static-import

13
推荐指数
1
解决办法
7712
查看次数

使用Java中的Selenium 2将鼠标悬停在WebElement上

可能重复:
Selenium2中的FirefoxDriver是否有经过验证的mouseOver解决方法?

我希望能够使用Java Selenium2 API将鼠标悬停在WebElement上.那可能吗?我正在使用当前的beta 3.

java mouse hover selenium-webdriver

12
推荐指数
1
解决办法
3万
查看次数