查找但跳过字符串和注释?

时间:2016-09-23 15:57:22

标签: visual-studio

有关VS的不断惹恼的一件事是,当我执行FindFind all时,它会查看评论,字符串和其他位置。当我试图找到特定的代码时,比如and rent,它会发现它全部结束。有没有办法将搜索限制为代码?

2 个答案:

答案 0 :(得分:0)

不确定是否存在忽略评论的特定设置,但您可以执行正则表达式查找。例如,假设您要查找" text",您可以使用:

byte[] bytes;
File file = new File(fileUri.getPath());
fileName=file.getName();
int si = (int) file.length();
bytes = new byte[si];

try {
    BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file));
    buf.read(bytes, 0, bytes.length);
    int y=bytes.length;
    buf.close();
    new UserUploadTask().execute((Void) null);
} catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

private boolean uploadFile() {
    try {
        String url = String.format("http://site/api/UploadFile");
        URL u = new URL(url);
        HttpURLConnection conn = (HttpURLConnection) u.openConnection();
        conn.setRequestMethod("POST");
        conn.setDoInput(true);
        conn.setDoOutput(true);
        DataOutputStream printout;
        JSONObject j=new JSONObject();
        j.put("mn",serMobileNum);
        j.put("File",arr);
        j.put("title",title);
        j.put("size",size);
        j.put("name",fileName);
        j.put("type",1);
        String msg = j.toString();
        conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");
        conn.setRequestProperty("X-Requested-With", "XMLHttpRequest");
        conn.connect();
        DataOutputStream dos = new DataOutputStream(conn.getOutputStream());
        dos.writeBytes(msg);
        dos.flush();
        dos.close();

        BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        StringBuffer sb = new StringBuffer();
        String line = "";
        Log.i("info", "read");
        while ((line = reader.readLine()) != null) {
            sb.append(line);
        }
        reader.close();
        String FinalString = sb.toString();
        if(FinalString.contains("true")) {
            return true;
        }
        else
            return false;


    }
    catch (Exception e)
    {
        return false;
    }
}

注意事项:

  • 假设评论以^(?!\s*?//).*?text 作为第一个非空白字符开头。例如。 C#评论类型
  • 代码行末尾没有评论意见(只有自己的评论)
  • 不支持阻止评论,例如//

总的来说,它无论如何都不是完美的,但是根据你获得的点击次数,它可能有助于减少它们,如果你在单行评论中有很多误报,这可能会有用/ p>

答案 1 :(得分:0)

'查找所有参考资料'函数可能适合你:它忽略所有注释掉的代码和字符串中的文本。 CTRL + K,R是键盘快捷键。

(请注意,它设计用于从搜索字符串的特定实例转到所有其他实例。因此,如果您还没有找到您正在搜索的内容的实例,那么必须(临时)在编辑器窗口中键入一个,然后搜索。它也不适用于所有语言:但我知道它适用于C#。)